Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3595954
  • 博文数量: 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-04-07 10:42:30

注:转载请注明出处   作者:lvyilong3164.1 Linux线程实现注:转载请注明出处   作者:lvyilong316在谈论线程之间共享文件之前,我想首先简单的介绍下linux线程的实现。最初的进程定义都包含程序、资源及其执行三部分,其中程序通常指代码,资源在操作系统层面上通常包括内存资源、IO资源、信号.........【阅读全文】

阅读(4728) | 评论(3) | 转发(2)

发布时间:2014-04-07 10:36:56

注:转载请注明出处    作者:lvyilong316由fork产生的进程为子进程。fork的一个特性是父进程所有的打开文件描述符(file_struct)都被复制到子进程中,父子进程的每个相同的打开描述符共享一个文件表项如图。在linux系统中的具体实现可用下图表示(说明:进程的fs_struct也会被复制,图中没有画出)。.........【阅读全文】

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

发布时间:2014-04-07 10:28:54

dup返回的新文件描述符是当前可用文件描述符中的最小值。它返回的新描述符与参数fd共享一个文件表项(file对象)。调用dup会使file的引用计数增1,即增加“打开文件”引用计数。图3-3是apue中的原图。我们用以下程序测试并说明:点击(此处)折叠或打开#include <stdio.h.........【阅读全文】

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

发布时间:2014-04-07 10:22:42

如果两个独立进程各自打开了同一文件,则有图3-2中所示的安排。我们假定第一个进程使该文件在文件描述符3上打开,而另一个进程则使此文件在文件描述符4上打开。打开此文件的每一个进程都得到一个文件对象,但对一个给定的文件只有一个v节点表项。每个进程都有自己的文件对象的一个理由:这种安排使每个进程都有它自己对.........【阅读全文】

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

发布时间:2014-04-06 12:27:04

注:转载请注明出处,作者:lvyilong316Linux支持在不同进程间共享打开文件。为了说明文件共享,先来说明内核用于所有I/O的数据结构。 他们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。0.1和文件有关的对象(1) inode(i节点): 保存一个文件的通用信息,每个inode有一.........【阅读全文】

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

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?

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

登录 注册