- 博客(9)
- 收藏
- 关注
原创 softirq分析
判断当前上下文类型每个cpu有一个per-cpu类型的int变量__preempt_count,它描述了当前抢占信息。 该变量作用划分如下: * PREEMPT_MASK: 0x000000ff * SOFTIRQ_MASK: 0x0000ff00 * HARDIRQ_MASK: 0x000f0000 *
2015-12-08 21:48:54
2721
原创 fs_initcall、early_initcall、__init宏
fs_initcall、early_initcall...分析在内核代码中经常可以看到类似fs_initcall\early_initcall\late_initcall这样的宏,这些宏有什么作用?如何实现的?下面来具体分析具体定义在include/linux/init.h中可以找到这些宏的定义/* * Early initcalls run before ini
2015-12-08 20:20:51
5954
原创 virtio-blk后端处理-请求接收、解析、提交
在“virtio-blk后端处理”这一系列中将分析Qemu对guest中发送过来的请求是如何进行处理的。大致想了下。这个系列分成如下几个部分: - Qemu接收、解析、提交请求 - IOThread中的处理 - 执行请求 - 请求完成 - dataplane情况下的处理这个文件是这系列的第一部分,主要分析Qemu收到请求到将其派发到线程的过程。这是不考虑dataplane的情况 现在Qe
2015-04-21 15:57:06
6746
原创 Qemu-kvm的ioeventfd创建与触发的大致流程
在使用virtio-blk的情况时,virtio notify使用的ioeventfd机制,原因是为了提高性能,能够较快速的回到guest中运行。具体是如何建立这个ioeventfd的呢?流程理出来了,细节没看:
2015-04-18 11:43:16
5567
转载 KVM虚拟机IO处理过程(二) ----QEMU/KVM I/O 处理过程
原址:http://blog.youkuaiyun.com/dashulu/article/details/17090293 接着KVM虚拟机IO处理过程中Guest Vm IO处理过程(http://blog.youkuaiyun.com/dashulu/article/details/16820281),本篇文章主要描述IO从guest vm跳转到kvm和qemu后的处理过程. 首先回
2015-04-12 21:05:06
3788
原创 Qemu中coroutine机制的实现
最近在看virtio的代码,看到virtio后端时发现在Qemu处理IO的时候使用了coroutine,之前对coroutine不了解,因此专门找了点资料学习并分析了下Qemu中的实现,于是做个笔记。Qemu貌似提供了好几种coroutine的实现方式(gthread、ucontext、sigalstack),我只看了利用ucontext实现的部分。网上有一篇同主题的博文(http://www
2015-04-12 14:26:05
3771
转载 ucontext-人人都可以实现的简单协程库
1.干货写在前面原址:http://blog.youkuaiyun.com/qq910894904/article/details/41911175协程是一种用户态的轻量级线程。本篇主要研究协程的C/C++的实现。首先我们可以看看有哪些语言已经具备协程语义:比较重量级的有C#、erlang、golang*轻量级有python、lua、javascript、rub
2015-04-12 09:54:26
1135
原创 virtio-blk请求发起
vitrio-blk请求发送source code:3.19.3 较新的内核中(从哪个版本开始的没去考证)virtio-blk使用了blk-mq模型,先看一下virtio-blk初始化的时候的和blk-mq相关的设置(在virtblk_probe函数中): 1.blk-mq回调函数族: vblk->tag_set.ops = &virtio_mq_ops;ops是blk-mq模型中
2015-04-10 19:18:01
4272
1
原创 virtio-blk初始化
virtio-blk初始化source code: 3.19.3 (ps:如有错误请大家留言指正,每晚我会查看一下;若有幸被转载或引用请注明下,写写) 对于virtio-blk设备,virtio-bus的probe回调函数会调用对应驱动的probe回调函数,这里就是virtblk_probe函数来进行初始化操作。当此函数执行完成的时候,virtio-blk相关的数据结构也就建立完成了。
2015-04-09 16:12:37
2782
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人