将晦涩难懂的技术讲的通俗易懂
标题 | 阅读 | 评论 | 转发 | 发布日期 | |
---|---|---|---|---|---|
基于dpdk的用户态协议栈f-stack实现分析 | 11955 | 0 | 0 | 2018-06-03 | |
【推荐】 dpdk网卡收发包分析 | 30011 | 0 | 0 | 2018-05-13 | |
【推荐】 qemu对象模型——QOM实现分析 | 21503 | 0 | 1 | 2018-04-07 | |
【推荐】 qemu函数调用关系—module_call_init机制 | 7058 | 0 | 0 | 2018-04-01 | |
【推荐】 dpdk中断机制 | 13242 | 4 | 1 | 2018-03-25 | |
【推荐】 Linux hugepage使用与实现 | 18025 | 0 | 1 | 2018-03-17 | |
【推荐】 virtio前后端配合限速分析 ——VIRTIO_RING_F_EVENT_IDX | 12641 | 0 | 0 | 2018-03-10 | |
【推荐】 vhost-user mergeable对接收端(guest)的影响 | 12044 | 0 | 1 | 2018-03-04 | |
【推荐】 dpdk vhost_user desc chain的形成 | 7242 | 0 | 0 | 2018-02-04 | |
【推荐】 vhost_user mergeable 特性 | 9471 | 0 | 1 | 2018-01-23 | |
RDMA(远程直接内存访问)技术浅析 | 5733 | 0 | 0 | 2017-11-19 | |
dpdk内存管理——rte_malloc实现 | 7856 | 0 | 2 | 2017-10-22 | |
dpdk内存初始化(补充) | 5275 | 0 | 0 | 2017-05-20 | |
【推荐】 linux tun/tap设备的实现(kennel 3.10) | 12952 | 0 | 0 | 2017-05-20 | |
【推荐】 linux tcp GSO和TSO实现 | 11408 | 0 | 1 | 2017-05-06 | |
【推荐】 Linux GSO逻辑分析 | 10944 | 0 | 0 | 2017-05-04 | |
【推荐】 dpdk内存管理——内存初始化 | 15033 | 0 | 0 | 2017-04-30 | |
【推荐】 mmap实现分析 | 9453 | 1 | 1 | 2017-04-19 | |
【推荐】 浅析Linux的共享内存与tmpfs文件系统 | 20192 | 2 | 8 | 2017-04-18 | |
Linux内核中RPS/RFS代码分析 | 4555 | 0 | 0 | 2016-12-13 |
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设备给协议栈,最后再发送。
这里有点不太清楚如何具体的实现发送的