为了测试docker windows把Windows10重装了,安装之后发现centos不能启动了,还以为在windows下使用ext2fsd把根分区破坏了,进去看访问却是正常的,看了一下windows下的ESP分区(EFI System Partition),实际上也是Linux的EFI挂在的分区,即: [crayon-5d5deabd2b8f0186905696/] EFI目录下是有centos目录的,且下面是c...

4年前写过一篇《如何将VIM配置成适用C语言的IDE》,现在已经老的牙都掉光了,其实在当时也是非常难用,尤其是对于经常要打开kernel代码查看函数引用关系的我而言,最终vim对于而言就是一个terminal里面使用的简单的文本编辑器了。突然看到各种VIM8的配置攻略,一时兴起,使用感受就是: VIM8满足了我的需求,...

内核发生了hard LOCKUP然后panic了,代码版本是linux-3.10.0-514.16.1.el7.x86_64 [4474426.249700] NMI watchdog: Watchdog detected hard LOCKUP on cpu 50 crash下的bt信息如下: [exception RIP: tg_unthrottle_up+24] RIP: ffffffff810c9658 RSP: ffff882f7fc83dc8 RFLAGS: 00000046 RAX: fff...

之前耗了一段时间做SPDK下的vhost-user-nvme的开发,就是让VM内使用NVME存储。涉及到vhost-user-nvme设备的QEMU live迁移或者热升级的开发,碰到一个有意思的问题,值得写一下。 QEMU版本:https://github.com/spdk/qemu.git 最好用https://review.gerrithub.io/#/c/spdk/qemu/+/406011/ SPDK版本:https://githu...

http://git.qemu.org/git/qemu.git v2.8.0 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git 4.4.70 1.VRing的初始化 QEMU下的VRing [crayon-5d5deabd2e9a2674517398/] VirtQueue在QEMU端的初始化,即virtio_add_queue, virtio最多有1024个虚拟队列,且每个队列最多容纳1024个request单位...

QEMU下的内存结构体很多了,RAMBlock,MemoryRegion,AddressSpace,MemoryRegionSection,KVMSlot和kvm_userspace_memory_region,很多时候看代码时候都会被搅合成一坨,虽然很早时候在KVM源代码分析2:虚拟机的创建与运行和KVM源代码分析4:内存虚拟化都提到了内存虚拟化的过程,但实际上这几个结构体之间的关系并没有理...