Hypercall,xenhypercall


在Linux中,大家应该对syscall非常的了解和熟悉,其是用户态进入内核态的一种途径或者说是一种方式,完成了两个模式之间的切换;而在虚拟环境中,有没有一种类似于syscall这种方式,能够从no root模式切换到root模式呢?答案是肯定的,KVM提供了Hypercall机制,x86体系架构也有相关的指令支持。

[点击查看全文]

http://luoye.me/2014/07/27/hyper-call/


什是 hypercall

我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的
 

kvm_stat 字段意思说明

其实就是读的/sys/kernel/debug/kvm下的32个文件,有知道的兄弟知道这个32 个文件是什么意思的吗?字段定义是在源代码的arch/x86/kvm/vmx.c

查了下日本富士通fujitsu的资料终于找到了。。。哎为什么不是中国的网站
No. オプション 意味 备考
1 -h, --help 显示帮助信息并推出
2 -1, --once, --batch 以batch mode形式运行一秒钟
3 -l, --log 以log形式运行 类似vmstat命令
4 -f FIELDS, --fields=FIELDS 指定要显示的字段 可用正则表达式指定多个字段

3. 出力结果の各项目意味

No. フィールド 意味 备考
1 efer_reload efer寄存器重载
2 exits -
3 fpu_reload 浮点运算的单元重载 FPU : Float Point Unit浮点运算单元
4 halt_exits -
5 halt_wakeup -
6 host_state_reload 主机状态重载
7 hypercalls 系统调用数 hypercall接口允许domain通过执行一个同步软陷阱陷入到hypervisor执行一个特权操作,这类似于在传统的操作系统中对系统调用的使用
8 insn_emulation 使用反汇编器进行格式化仿真的指令数
9 insn_emulation_fail 使用反汇编器进行格式化仿真的指令失败数
10 invlpg 内核修改页表项后,需要发出invlpg指令,将TLB相应表项置为invalidate
11 io_exits IO终止数
12 irq_exits 中断终止数 IRQ : Interrupt Request 中断请求
13 irq_injections 后台中断请求数
14 irq_window 前台中断请求数
15 largepages 大page数
16 mmio_exits 终止的内存映射I/O数 MMIO内存映射I/O即MMIO,它是PCI规范的一部分,I/O设备被放置在内存空间而不是I/O空间。从处理器的角度看,内存映射I/O后系统设备访问起来和内存一样。
17 mmu_cache_miss 丢失的cache MMU :Memory Management Unit 内存管理单元
18 mmu_flooded 溢出的内存数
19 mmu_pde_zapped -
20 mmu_pte_updated 更新的个人内存
21 mmu_pte_write 个人写入的内存管理单元
22 mmu_recycled 回收的内存管理单元
23 mmu_shadow_zapped -
24 mmu_unsync 不同步的内存管理单元
25 nmi_injections 后台不可屏蔽中断数(即CPU不能屏蔽) NMI : Non Maskable Interrupt 不可屏蔽中断(即CPU不能屏蔽) 无论状态寄存器中 IF 位的状态如何,CPU收到有效的NMI必须进行响应
26 nmi_window 前台不可屏蔽中断数
27 pf_fixed 固定的页面文件数(虚拟内存) PF :Page File,页面文件(虚拟内存)
28 pf_guest 用户页面文件数(虚拟内存)
29 remote_tlb_flush 远端刷新的页表缓冲刷数 TLB:T......余下全文>>
 

相关内容