Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3596184
  • 博文数量: 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)

发布时间:2014-07-08 20:15:12

读写锁的实现——lvyilong316要实现读写锁,首先要知道读写锁的特性,除了“读者可并发,写者要排它”之外还要考虑避免写者饥饿的问题。综合考虑后可以讲读写锁的实现总结为一下四点:    1.当已经被施加写锁的时候,读锁写锁都不能在施加(写锁只能锁一次)    2.当已经被施加.........【阅读全文】

阅读(14241) | 评论(0) | 转发(3)

发布时间:2014-07-03 00:15:03

 Linux内核抢占实现机制分析——lvyilong316【摘要】本系列博文主要介绍linux内核几个重要概念和技术原理,部分来自于网上总结、部分来自于自己对《linux内核设计与实现》和《深入理解linux内核》的总结。目的是让一些刚接触linux内核的人对linux内核的一些实现技术有一个大概了解。1.1 内核抢占.........【阅读全文】

阅读(8973) | 评论(0) | 转发(13)

发布时间:2014-06-25 00:01:02

彻底学会使用epoll(六)——关于ET的若干问题总结——lvyilong3166.1 ET模式为什么要设置在非阻塞模式下工作    因为ET模式下的读写需要一直读或写直到出错(对于读,当读到的实际字节数小于请求字节数时就可以停止),而如果你的文件描述符如果不是非阻塞的,那这个一直读或一直写.........【阅读全文】

阅读(20146) | 评论(0) | 转发(10)

发布时间:2014-06-17 21:40:08

彻底学会epoll(五)—— ET模式下的注意事项——lvyilong3165.1 ET模式下的读写    经过前面几节分析,我们可以知道,当epoll工作在ET模式下时,对于读操作,如果read一次没有读尽buffer中的数据,那么下次将得不到读就绪的通知,造成buffer中已有的数据无机会读出,除非有新的.........【阅读全文】

阅读(12985) | 评论(0) | 转发(9)

发布时间:2014-06-10 00:05:08

首先,看程序四的例子。l 程序四点击(此处)折叠或打开#include <unistd.h>#include <iostream>#include <sys/epoll.h>using namespace std;int main(void){&nbs.........【阅读全文】

阅读(10661) | 评论(3) | 转发(8)
给主人留下些什么吧!~~

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?

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

登录 注册