将晦涩难懂的技术讲的通俗易懂
发布时间:2020-08-01 22:10:51
NUMA相关配置介绍什么是NUMA在早期,对于x86架构的计算机,那时的内存控制器还没有整合进CPU,所有内存的访问都需要通过北桥芯片来完成。此时的内存访问如下图所示,被称为UMA(uniform memory access, 一致性内存访问 )。这样的访问对于软件层面来说非常容易实现:总线模型保证了所有的内存访问是一致的,.........【阅读全文】
发布时间:2020-07-25 23:47:30
IOMMU和VFIO概述PCI和PCIEPCI设备配置空间PCI设备的配置空间如下图所示:(1)Device ID和Vendor ID寄存器这两个寄存器只读,Vendor ID代表PCI设备的生产厂商,而Device ID代表这个厂商所生产的具体设备。如Intel公司的82571EB芯片网卡,其中Vendor ID为0x8086,Device为0x105E。(2)Revisi.........【阅读全文】
发布时间:2020-07-11 21:20:58
网络可编程数据面之DPDK Graph Library——lvyilong316Graph library是DPDK 20.05版本引入的新特性,最近抽时间把其中关键代码看了一遍,主要希望看下其实现思路是否有可以借鉴的东西。下面将其大概实现进行了总结。DPDK中的Graph架构将数据的处理抽象成了node和link构成的graph,这种思想并不是新东西,VPP.........【阅读全文】
发布时间:2020-06-20 21:34:56
DPDK中的内存特点和IOVA之前写过DPDK相关内存管理的代码分析,但是随着DPDK的版本迭代在内存管理方面也在进行着不断的演进。这里结合一些参考文章再对DPDK的内存使用方式和发展变化做一个阶段性的总结。大页 DPDK通常是使用大页(hugepage)内存的,无论是2M的大页还是1G的大页,本质上都是为了减少TLB .........【阅读全文】
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?