将晦涩难懂的技术讲的通俗易懂
发布时间:2016-08-21 20:57:44
父进程是init一定不会变僵尸进程吗?——lvyilong316工作中有次操作线上环境时发现有一个“Z”(僵尸)进程,当时首先想到的方法就是把这个进程的父进程干掉。但是ps下发现该进程的父进程已经是init了。这个情况让我很迷惑,因为通常来说一旦init进程接管了Z状态的进程就会调用wait将其回收。而且这是避免僵.........【阅读全文】
发布时间:2016-07-31 19:05:45
TCP服务端收到syn但是不回复syn ack问题分析——lvyilong316最近在分析客户的一个问题时遇到了一种奇怪的情况,客户在服务端开启了某个端口,但是在客户端telnet确一直不通。通过在服务端抓包发现,客户端的syn分节已经到达,但是服务端并没有应答。查看了一下当前连接数,发现连接数也不大,所以排除是连接.........【阅读全文】
发布时间:2016-07-31 19:02:50
如何避免TCP的TIME_WAIT状态——lvyilong316 关于TCP连接的TIME-WAIT状态,它是为何而生,存在的意义是什么? 让我们回忆一下,什么是TCP TIME-WAIT状态?如下图 当TCP连接关闭之前,首先发起关闭的一方会进入TIME_WAIT状.........【阅读全文】
发布时间:2016-07-31 18:50:20
Linux中listen函数的backlog参数含义——lvyilong316如果你熟悉linux网络编程,那么对listen系统调用一定不会陌生,listen系统调用使一个socket变为一个passive socket。那什么是passive socket呢?就是一个可以用来接收连接,可以在其上调用accept调用的一个socket。listen系统调用的原型如下:int .........【阅读全文】
发布时间:2016-07-15 22:09:03
Python中的eval、exec、complie用法——lvyilong3161. compliecomplie(string, file, type)函数允许在运行时迅速生成代码对象。那么什么是代码对象呢?Python中要执行的代码,都必须先转换成字节码才能由python解释器执行,而一段代码对应转换成的字节码就可以理解为是一个代码对象。那complie生成.........【阅读全文】
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?