- 博客(36)
- 资源 (9)
- 收藏
- 关注
原创 Intel CPU ABC
Intel cpu微处理架构都有个有意思的codenamehttp://en.wikipedia.org/wiki/List_of_Intel_codenamesIntel CPU关于APIC的虚拟化加强在Ivy Bridge及更新微处理架构下支持:http://en.wikipedia.org/wiki/Ivy_Bridge_(microarchitecture)ht
2013-04-27 11:36:19 772
转载 Linux时间子系统
Linux时间子系统之一:clock source(时钟源)http://blog.csdn.net/droidphone/article/details/7975694Linux时间子系统之二:表示时间的单位和结构http://blog.csdn.net/droidphone/article/details/7979295Linux时间子系统之三:时间
2013-04-26 09:37:55 695
原创 kvmclock / KVM PV Clock / KVM Paravirtual Clocksource driver
时间的一种保持方式是通过时钟中断计数,进而换算得到,这种方式在虚拟机里有问题,因为时钟中断不能准时到达guest os。另外一种方式,如模拟HPET,guest os当需要的时候会去读当前的时间,这种方式会使得虚拟机频繁的退出,严重影响性能。kvmclock是一个半虚拟化的时钟,guest感知。guest向hypervisor询问时间,同时保证时钟的稳定和准确。默认情况下gue
2013-04-25 21:07:31 5146
原创 Linux进程状态(ps aux)
Linux 进程状态R (TASK_RUNNING),可执行状态S (TASK_INTERRUPTIBLE),可中断的睡眠状态D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态Z (TASK_DEAD – EXIT_ZOMBIE),退出状态,进程成为僵尸进程X (TASK_DEAD –
2013-04-22 20:28:53 954
原创 x2APIC & MSR
x2APIC & MSR +-------------------------+ | +-----------+ | +-------------+ | vcpu 0 | IDT table | <---+--|IDTR Register| C | | ...
2013-04-22 17:26:40 2235
原创 vim画纯文本图的插件Drawit
要在vim里面画个下面这样的图,可以使用drawit插件 +-------------------------+ +-----------+ | +-------------+ | | IDT table | <---+--|IDTR Register| C | +------
2013-04-22 16:17:00 5556
原创 gnuplot基本script
# lsdata-file1.txt data-file2.txt plot.sh# cat plot.sh gnuplot set terminal pngset output "name.png"set yrange[1:1000]set logscale yplot "data-file1.txt" title "Title 1" using 1:2
2013-04-20 10:28:07 1387
原创 EPT & VPID
虚拟化场景下,Guest有页表,Host也有页表,系统要完成Guest虚拟地址到host物理地址的转换GVA -> GPA -> HPA该转换可以通过影子页表完成;VT-x提供EPT,通过硬件做这个事情,EPT也提供TLB,但是在VM-Entry、VM-Exit时会被强制刷新,因为硬件无法区分TLB的属主。为了提高TLB效率,引入VPID,在TLB的表项里添加了个标志来标识
2013-04-20 10:20:48 1592
原创 kernel性能监控
kernel 性能监控工具1 ftrace2 QAPIhttp://icl.cs.utk.edu/papi/overview/index.html3 perfctrQAPI包含这个代码4 oprofile其他性能测试工具网络: NetPIPE,netperf, iperf
2013-04-19 15:10:57 808
原创 SR-IOV
SR-IOV - single root I./O virtualizationSR-IOV由PCI-SIG标准化,基于PCIe设备,物理设备称为PF(physical function),虚拟设备称为(virtual function),支持SR-IOV的设备会展现给OS多个VF,这些VF可以分配给VM((VF))。可通过lspci -nn查看。SR-IOV减少了模式切换和内存拷贝,提高
2013-04-19 12:54:38 2054
原创 虚拟化ABC - 虚拟化方式
直接模拟模拟所有指令- 基于BT(二进制翻译)的全虚拟化BT技术在VMM中开辟一块代码缓存,将代码翻译好放在其中,原始的GuestOS代码并不会直接被物理CPU执行,它们以基本块的形式组织,模拟器先将即将执行的基本块翻译成目标代码,再转入目标代码块执行,再翻译接下来要运行的原始基本块。?和直接模拟由什么区别?基于扫描与修补 (Scan-a
2013-04-19 11:27:32 917
原创 APIC Virtualization and Virtual Interrupt
VMCS有对中断虚拟化和APIC的控制,这些控制都用起来以后,处理器会在non-root模式下模拟APIC的访问、跟踪Virtual APIC的状态、传递虚拟中断而不产生VM-Exit。APIC V short for APIC VirtualizationAPIC V related controls:- Virtual-interrupt delivery- U
2013-04-18 20:30:31 2697
原创 EOI
https://fedoraproject.org/wiki/QA:Testcase_Virtualization_PV_EOIhttp://lwn.net/Articles/502176/http://blog.csdn.net/luo_brian/article/details/8744025
2013-04-18 20:02:37 893
原创 Device 'kvm-pci-assign' could not be initialized
/etc/libvirt/qemu.conf:# The user ID for QEMU processes run by the system instance.user = "root"# The group ID for QEMU processes run by the system instance.group = "root"and#
2013-04-17 16:26:53 2921
转载 clone & push all remote branches with git
http://thoughtpad.cs3.in/2011/06/13/clone-push-all-remote-branches-with-git/clone & push all remote branches with gitAssuming you have a GIT repository with many branches, it might be li
2013-04-17 15:14:50 1076
原创 NetPIPE howto
NetPIPE可用于测试网络吞吐量NetPIPE需要一个Receiver和一个Sender接收端:NPtcp发送端:NPtcp -h 186.100.11.243 -o np.output186.100.11.243这个IP是接收端的IP地址参考:http://www.scl.ameslab.gov/Projects/old/
2013-04-15 21:59:32 1712
原创 ELI
ELI howto==========+ patch kernel+ patch qemu+ offline cpu+ guest os里面要设置grub2 ,参考我的串口设置相关博客http://blog.csdn.net/defeattroy/article/details/5257323qemu command line:/x86_64-softm
2013-04-15 17:56:16 1275
原创 虚拟化ABC - 特权指令与敏感指令
特权指令:系统中有一些操作和管理关键系统资源的指令,这些指令只有在最高特权级上能够正确运行。如果在非最高特权级上运行,特权指令会引发一个异常,处理器会陷入到最高特权级,交由系统软件处理了。在不同的运行级别上,指令的执行效果不同,而且并不是每个特权指令都会引发异常,它有可能被直接忽略。硬件区分特权指令和普通指令的目的,举个例子,就像操作系统提供系统调用一样。敏感指令:操作特权资源的指令,包括修改
2013-04-15 08:48:01 7567 4
原创 建立多人共享的git仓库
这里给出建立多人可以push的仓库的两个方案:1)使用http方式通过配置http服务+webdav方式,多人可以push2)使用ssh方式通过组权限控制创建组,例如pm将用户拉到该组上(直接修改/etc/passwd文件;或者用usermod命令修改;或者在创建用户的时候就指定属于该组)配置git仓库(server side)cat your-repo.git/...
2013-04-15 00:43:49 1123
原创 KVM: Posted Interrupt
Posted Interrupt 允许APIC中断直接注入到guest而不需要VM-Exit- 需要给guest传递中断的时候,如果vcpu正在运行,那么更新posted-intrrupt请求位图,并向vcpu发送通知,vcpu自动处理该中断,不需要软件干预- 如果vcpu没有在运行或者已经有通知事件pending,那么什么都不做,中断会在下次VM-Entry的时候处理- Pos
2013-04-12 20:44:56 4646 2
转载 KVM handle guest io instruction
http://people.cs.nctu.edu.tw/~chenwj/slide/QEMU/KVM-handle-guest-io-instruction.txt
2013-04-11 16:43:46 1026
转载 KVM VCPU RUN
http://people.cs.nctu.edu.tw/~chenwj/slide/QEMU/ KVM_RUN --> kvm_vcpu_ioctl (kvm_main.c) | v kvm_arch_vcpu_ioctl_run (x86.c)
2013-04-11 16:25:36 1237
转载 KVM VCPU创建过程
http://people.cs.nctu.edu.tw/~chenwj/slide/QEMU/KVM-allocate-vmcs.txthttp://people.cs.nctu.edu.tw/~chenwj/slide/QEMU/ KVM_CREATE_VCPU --> kvm_vm_ioctl (kvm_main.c)
2013-04-11 15:57:42 1070
转载 How to check if your hardware supports virtualization
http://virt-tools.org/learning/check-hardware-virt//proc/cpuinfo flags/proc/cpuinfo will tell you if the processor supports virtualization and if it is enabled (but it could not show up in
2013-04-11 15:46:48 767
转载 linux内存管理浅析 - 图不错
http://hi.baidu.com/_kouu/item/4c73532902a05299b73263d0
2013-04-10 09:19:03 626
原创 EPT
之前通过影子页表来处理虚拟机内存到物理内存的转换,现在用EPTEPT: Extended Page TablesVMM needs to retain control of physical-address spacepage-table virtulization in software is a major source of overhead(namely soft
2013-04-09 16:15:02 962
原创 kvm perf howto
http://lwn.net/Articles/513317/http://www.linux-kvm.org/page/Perf_eventsperf应用程序位于内核源代码目录tools/perf下,直接编译./perf stat -e 'kvm:*' -a sleep 1h./perf kvm stat record -p `pgrep qemu`See t
2013-04-09 16:04:31 1491
原创 CPU Isolation
方法一https://access.redhat.com/site/solutions/15482方法二: cpusethttp://stackoverflow.com/questions/9072060/one-core-exclusively-for-my-processhttps://access.redhat.com/site/documentation/en-
2013-04-09 15:07:46 3401
原创 CPU Affinity Howto
CPU Affinity编程接口http://www.ibm.com/developerworks/cn/linux/l-affinity.htmlCPU Affinity命令行接口http://acidborg.wordpress.com/2010/10/14/how-to-bind-a-process-to-a-specific-cpus-on-gnulinux/
2013-04-09 10:22:14 692
转载 Linux下进程调度与优先级
http://mail.khcyber.com.cn/home-space-uid-56821-do-blog-id-138117.html4)nice值与有效优先级4.1)nice值的由来内核允许用户通过使用一个名为nice的数值来影响调度程序关于优先级的调度也就是说nice值是用户来触发,而我们上面说的额外值是内核来触发的.4.2)nice值对有效优先级的影响nice值
2013-04-09 08:24:54 819
原创 PCI passthrough
VT-d提供了将一个硬件设备(如网卡)直接分配给某个虚拟机,分配之后的I/O操作不需要hypervisor介入,因此可以获得非常高的性能,几乎和物理机上的IO吞吐量一样。该功能需要CPU和主板的支持,CPU需要支持VT-d,主板需要有IOMMU。直通的缺点硬件资源独用,且影响live migration。更多信息参考:http://blog.csdn.net/defeattroy/arti
2013-04-08 17:25:42 2274
原创 Disable touchpad in Linux
modprobe -r psmouse更多参考:http://wiki.debian.org/SynapticsTouchpad
2013-04-06 23:25:19 885
原创 Red Hat Enterprise Linux AS ES WS区别
redhat 的企业版本,简写作:RHEL。包括如下版本: 一,Red Hat Enterprise Linux ASRed Hat企业Linux AS (Advanced Server) 是企业Linux解决方案中最高端的产品,它专为企业的关应用和数据中心而设计。Red Hat企业Linux AS是唯一支持IBM i 系列,p 系列和z 系列/S-390系统的产品。在Intel X86平
2013-04-02 13:13:18 1058
原创 IOMMU howto
Reference:How to assign devices with VT-d in KVMhttp://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVMAdding a PCI device with virshhttp://www.linuxtopia.org/online_books/rhel6
2013-04-01 15:35:49 2102 1
原创 PCI设备介绍(一):PCI的一些数字
lspci命令输出的(XX:YY.Z)三元组分别表示XX: PCI bus number. A PCI domain can host up to 256 busesYY: PCI deivce number. Each bus can connect to a maximum of 32 PCI devices. Each device can , in turn, implement
2013-04-01 09:54:37 3431
华为HG522-C配置文件
2012-02-21
Linux Programming by Example
2011-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人