- 博客(17)
- 收藏
- 关注
原创 generic block layer io request processing
一般的基本request queue和io scheduler的bio请求处理standard request handling1.generic_make_request -> make_request_fn (blk_queue_io calls io_scheduler to merge/append the request into the associated req
2017-03-22 11:34:31 602
原创 multipath iscsi device attaching flow
1. iscsid -> login, establish connection, hand it to kernel iscsi driver2. iscsi driver -> create /dev/ iscsi block device node, and send notification to udev3. udevd -> compose an uevent and send
2016-09-12 15:33:46 350
原创 "multipath -r" momentarily cause /dev/mapper/<wwid> to disappear
"multipath -r" causes the /dev/mapper/ to disappear momentarily, which leads to some issue in consumer applications as such OpenStack. After some investigation, I found that /dev/mapper/ was deleted b
2016-09-12 15:24:01 683
原创 iscsi endless conn error investigation
symptom :"detected conn error" error message from kernel "conn 0 login rejected" error messages from iscsidinvestigation:From implementation point of view, the kernel iscsi driver noti
2016-09-12 15:21:45 475
原创 virtio-net pci config space
IntroductionThis article will focus on the details of virtio 1.0 device PCI config space. It will be centered around a sample virtio net PCI config taken from a real running virtual machine and expl
2016-07-21 08:59:10 1290
原创 qemu binary path for libvirt
AC_PATH_PROGS([QEMU], [qemu-kvm qemu kvm qemu-system-x86_64], [], [$PATH:/usr/bin:/usr/libexec])
2016-04-26 18:42:26 364
原创 notes on virtio-blk driver
from block layer perspectivenot request_fn based, blk-mq based instead., thus bypassing io scheduler. using one hw queue, so mapping all per-cpu queues into that signle hw queue. requests from gener
2016-03-28 19:49:16 547
原创 virtio 1.0 简介
IntroductionThis article aims to offer a different view of virtio devices from most of the other articles available online. It is neither a complete reference to the virtio 1.0 spec, nor a high-leve
2016-03-10 17:09:19 1521
原创 cloud instance 用户配置
cat > userdata #cloud-configpassword: ubuntuchpasswd: { expire: False }ssh_pwauth: TrueEOFsudo apt-get install kvm cloud-utilscloud-localds userdata.img userdatasudo kvm -hda t
2016-01-12 13:12:57 1794
原创 numa
1. do_mbindBinds the policy users specifed with a vma, so later physical memory allocation will comply with the policy, e.g. allocating memory from a certain node. Then queue_pages_range and mig
2015-12-09 22:05:17 1135
原创 qemu numa nodes passthrough
有办法pass host的node到guest node去 这个可以通过hugetlbfs qemu memory backend 有两种 通常是ram_backend_memory_alloc 有找到點了? 另外一种是file_backend_memory_alloc mmap直接map到那个file上 如果准备好hugetlbfs mmap就过去了 所以说,
2015-12-07 16:21:09 1735
原创 KVM max memory allocation
I did some research regarding max VM memory allocation. Finding is that the memory limitation for KVM VMs is min(mmap can give, 1T). So in general, that's going to be the amount of virtual memory mmap
2015-12-03 13:35:47 986
原创 KVM max vcpu allocation
From https://kernel.org/doc/Documentation/virtual/kvm/api.txt we can see, "The maximum possible value for max_vcpus can be retrieved using the KVM_CAP_MAX_VCPUS of the KVM_CHECK_EXTENSION ioct
2015-12-03 13:32:31 974
原创 x86 build IDT entry stubs
.section .init.rodata,"a"ENTRY(interrupt).section .entry.text.p2align 5.p2align CONFIG_X86_L1_CACHE_SHIFTENTRY(irq_entries_start)INTR_FRAMEvector=FIRST_EXTERNAL_VECTOR.rept (NR_VECTORS
2015-11-17 10:36:26 735
原创 my vimrc
:set tags=/home/lchen/workspace/kvm/ubuntu-kernel/tagsnmap s :cs find s =expand("")nmap g :cs find g =expand("")nmap c :cs find c =expand("")nmap t :cs find t =expand("")nmap e :cs find
2015-11-16 20:55:35 448
原创 call_function_single_interrupt stack checking
The symbol call_function_single_interrupt is defined in entry_64.S, and it's an assembly routine. It will save a partial stack frame and prepare stack for the IPI irq context and call smp_call_functio
2015-11-13 22:06:33 1498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人