Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3595812
  • 博文数量: 208
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7375
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-23 18:56
个人简介

将晦涩难懂的技术讲的通俗易懂

文章分类

全部博文(208)

文章存档

2024年(10)

2023年(9)

2022年(4)

2021年(12)

2020年(8)

2019年(18)

2018年(19)

2017年(9)

2016年(26)

2015年(18)

2014年(54)

2013年(20)

发布时间:2018-05-13 22:28:55

dpdk网卡收发包分析——lvyilong316   在前面我们分析过dpdk程序启动过程中的对网卡设备初始化已经绑定驱动的逻辑。但是仅仅这样程序还不能正常的收发数据包,因为程序启动通过rte_eal_init初始化的仅仅是设备的基本结构,和网卡设备转发相关的配置以及队列的初始化,是由应用程序自身调用相应.........【阅读全文】

阅读(29733) | 评论(0) | 转发(0)

发布时间:2018-04-07 22:29:14

qemu对象模型——QOM实现分析——lvyilong316QEMU提供了一套面向对象编程的模型——QOM,即QEMU Object Module,几乎所有的设备如CPU、内存、总线等都是利用这一面向对象的模型来实现的。QOM模型的实现代码位于qom/文件夹下的文件中。那么qemu为什么要引入QOM这个概念呢?首先,qemu作为一个纯软件虚拟化的虚.........【阅读全文】

阅读(21254) | 评论(0) | 转发(1)

发布时间:2018-04-01 20:03:24

qemu函数调用关系—module_call_init机制——lvyilong316(说明:以下代码来自qemu 2.4)在分析qemu代码前,首先要清楚代码的大概调用路径。这里对几个重要的初始化调用路径分析一下,为以后阅读代码打下基础。首先,从main函数开始分析(vl.c),其中我们看到有几处module_call_init的调用,依次是:m.........【阅读全文】

阅读(6927) | 评论(0) | 转发(0)

发布时间:2018-03-25 17:49:17

  rte_eal_intr_init在rte_eal_intr_init()函数中初始化中断。具体如下:(1)     创建intr_pipe管道,用于epoll模型的消息通知。(3)  intr_handle点击(此处)折叠或打开struct rte_intr_handle {   .........【阅读全文】

阅读(13011) | 评论(4) | 转发(1)

发布时间:2018-03-17 16:10:55

 Linuxhugepage使用与实现——lvyilong3161.1 引言随着计算需求规模的不断增大,应用程序对内存的需求也越来越大。为了实现虚拟内存管理机制,操作系统对内存实行分页管理。自内存“分页机制”提出之始,内存页面的默认大小便被设置为 4096 字节(4KB),虽然原则上内存页面大小是可配置的,但绝大多.........【阅读全文】

阅读(17809) | 评论(0) | 转发(1)
给主人留下些什么吧!~~

zf8292024-11-13 13:41

zf829:您好,请教大神一个问题,设备直通给VM时,中断到底会不会导致VM_EXIT吗,如果会,那VIRTIO直通时还会导致IO性能下降吧?“当透传设备产生中断时,vfio_msihandler ISR执行,该函数不做实际的服务程序处理,仅仅通过eventfd_signal激活irqfd_inject,然后最终调用deliver_posted_interrupt向虚机注入中断,中断号即为虚机配置透传设备时的中断号。”  这段描述在代码上我也仔细看了,逻辑肯定是对的,但另一方面我还是不确定中断到底会不会导致VM_EXIT

这里的中断主要是指数据包收发的中断

回复  |  举报

zf8292024-11-13 11:35

您好,请教大神一个问题,设备直通给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?

回复  |  举报
留言热议
请登录后留言。

登录 注册