自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

慢慢游

内核、虚拟化

  • 博客(9)
  • 收藏
  • 关注

原创 softirq分析

判断当前上下文类型每个cpu有一个per-cpu类型的int变量__preempt_count,它描述了当前抢占信息。 该变量作用划分如下: * PREEMPT_MASK: 0x000000ff * SOFTIRQ_MASK: 0x0000ff00 * HARDIRQ_MASK: 0x000f0000 *

2015-12-08 21:48:54 2630

原创 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 5737

原创 virtio-blk后端处理-请求接收、解析、提交

在“virtio-blk后端处理”这一系列中将分析Qemu对guest中发送过来的请求是如何进行处理的。大致想了下。这个系列分成如下几个部分: - Qemu接收、解析、提交请求 - IOThread中的处理 - 执行请求 - 请求完成 - dataplane情况下的处理这个文件是这系列的第一部分,主要分析Qemu收到请求到将其派发到线程的过程。这是不考虑dataplane的情况 现在Qe

2015-04-21 15:57:06 6567 1

原创 Qemu-kvm的ioeventfd创建与触发的大致流程

在使用virtio-blk的情况时,virtio notify使用的ioeventfd机制,原因是为了提高性能,能够较快速的回到guest中运行。具体是如何建立这个ioeventfd的呢?流程理出来了,细节没看:

2015-04-18 11:43:16 5400

转载 KVM虚拟机IO处理过程(二) ----QEMU/KVM I/O 处理过程

原址:http://blog.csdn.net/dashulu/article/details/17090293    接着KVM虚拟机IO处理过程中Guest Vm IO处理过程(http://blog.csdn.net/dashulu/article/details/16820281),本篇文章主要描述IO从guest vm跳转到kvm和qemu后的处理过程.    首先回

2015-04-12 21:05:06 3630

原创 Qemu中coroutine机制的实现

最近在看virtio的代码,看到virtio后端时发现在Qemu处理IO的时候使用了coroutine,之前对coroutine不了解,因此专门找了点资料学习并分析了下Qemu中的实现,于是做个笔记。Qemu貌似提供了好几种coroutine的实现方式(gthread、ucontext、sigalstack),我只看了利用ucontext实现的部分。网上有一篇同主题的博文(http://www

2015-04-12 14:26:05 3665

转载 ucontext-人人都可以实现的简单协程库

1.干货写在前面原址:http://blog.csdn.net/qq910894904/article/details/41911175协程是一种用户态的轻量级线程。本篇主要研究协程的C/C++的实现。首先我们可以看看有哪些语言已经具备协程语义:比较重量级的有C#、erlang、golang*轻量级有python、lua、javascript、rub

2015-04-12 09:54:26 1051

原创 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 4111 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 2687 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除