将晦涩难懂的技术讲的通俗易懂
发布时间:2016-12-13 23:17:46
netdev_rx_queue表示对应的接收队列,很多网卡硬件上已经支持多个队列,此时就会有多个netdev_rx_queue队列,这个结构是挂在net_device,初始化接收队列的函数:netif_alloc_rx_queuesnetif_alloc_rx_queuesstatic int netif_alloc_rx_queues(struct net_device *dev){/*获取接收队列.........【阅读全文】
发布时间:2016-12-13 22:08:46
1 RPS/RFS 介绍1.1 RPS/RFS出现的原因RPS/RFS 功能是在Linux- 2.6.35中有google的工程师提交的两个补丁,这两个补丁的出现主要是基于以下两点现实的考虑:(1) 这两个补丁的出现,是由于服务器的CPU越来越强劲,可以到达十几核、几十核,而网卡硬件队列则才4个、.........【阅读全文】
发布时间:2016-11-15 00:30:16
动态链接中的名字冲突问题——lvyilong316我们知道当使用静态链接时,如果参与链接的不同文件中有相同名称的全局变量或者函数的话,在连接的时候就会报错,因为名字冲突。那么动态连接的情况又是怎么样呢?我们先看一个例子。1. 使用动态连接器装载l sotest1.c点击(此处)折叠或打开.........【阅读全文】
发布时间:2016-10-19 22:27:33
Linux 新的API signalfd、timerfd、eventfd使用说明三种新的fd加入linux内核的的版本:signalfd:2.6.22timerfd:2.6.25eventfd:2.6.22三种fd的意义:lsignalfd 传统的处理信号的方式是注册信号处理函数;由于信号是异步发生的,要解决数据的并发访问,可重入问题。.........【阅读全文】
zf8292024-11-13 13:41
zf829:您好,请教大神一个问题,设备直通给VM时,中断到底会不会导致VM_EXIT吗,如果会,那VIRTIO直通时还会导致IO性能下降吧?“当透传设备产生中断时,vfio_msihandler ISR执行,该函数不做实际的服务程序处理,仅仅通过eventfd_signal激活irqfd_inject,然后最终调用deliver_posted_interrupt向虚机注入中断,中断号即为虚机配置透传设备时的中断号。” 这段描述在代码上我也仔细看了,逻辑肯定是对的,但另一方面我还是不确定中断到底会不会导致VM_EXIT
这里的中断主要是指数据包收发的中断
回复 | 举报lemon222024-10-09 22:34
你好,有个关于实现方面的问题:当协议栈收到来自app的数据(如ping)时,会发给tun设备,然后又被发送给vpn程序,程序对其进行加密或者一些处理之后,要发送出去,这里是通过什么方式发送出去的呢?我看你关于itun/tap的文章中写的是通过socket发送给协议栈,然后自动给物理网卡后发送出去,实现来说,就是直接用socket与下一跳建立连接,然后代码用socket发送吗?那这样是不是不会再次经过TUN设备了?因为我看好像有的原理写的是再次写入到tun设备,然后tun设备给协议栈,最后再发送。
这里有点不太清楚如何具体的实现发送的
lvyilong3162023-06-06 15:06
zhangtongjian12:你好,请教下,“qemu和vhost-user前后端协商过程”中讲到的初始化多队列时,多队列初始化时,对应的kvm中断机制中irqfd和ioeventfd是和队列数目对应的吗?还是一个虚拟机就一个irqfd和ioeventfd?
和队列对应
回复 | 举报zhangtongjian122023-06-02 10:29
你好,请教下,“qemu和vhost-user前后端协商过程”中讲到的初始化多队列时,多队列初始化时,对应的kvm中断机制中irqfd和ioeventfd是和队列数目对应的吗?还是一个虚拟机就一个irqfd和ioeventfd?