Chinaunix首页 | 论坛 | 博客
  • 博客访问: 572702
  • 博文数量: 168
  • 博客积分: 62
  • 博客等级: 民兵
  • 技术积分: 442
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-30 11:45
文章分类

全部博文(168)

文章存档

2016年(2)

2015年(19)

2014年(98)

2013年(22)

2012年(6)

2011年(21)

发布时间:2014-01-27 15:08:17

Posted Interrupt 允许APIC中断直接注入到guest而不需要VM-Exit-  需要给guest传递中断的时候,如果vcpu正在运行,那么更新posted-intrrupt请求位图,并向vcpu发送通知,vcpu自动处理该中断,不需要软件干预-  如果vcpu没有在运行或者已经有通知事件pending,那么什么都不做,中断会在下次VM-Entry的时.........【阅读全文】

阅读(1966) | 评论(0) | 转发(1)

发布时间:2014-01-26 14:54:03

一个操作系统要跑起来,必须有time tick,它就像是身体的脉搏。普通情况下,OS time tick由PIT(i8254)或APIC Timer设备提供—PIT定期(1ms in Linux)产生一个timer interrupt,作为global tick,APIC Timer产生一个local tick。在虚拟化情况下,必须为guest OS模拟一个PIT和APIC Timer。    模拟的PIT和APIC Ti.........【阅读全文】

阅读(1253) | 评论(0) | 转发(1)

发布时间:2014-01-26 14:51:22

qemu-kvm一般会有4个线程,主线程是io thread,还有一个vcpu thread,一个signal thread。   对于io thread,可以从kvm_main_loop(qemu-kvm.c)开始看: 两个pipe是比较重要的一点: 1. 它调用qemu_eventfd创建一个event pipe,pipe read fd用qemu_set_fd _hadnler2注册一个read fd handler,也就是.........【阅读全文】

阅读(1841) | 评论(0) | 转发(1)

发布时间:2014-01-26 14:50:35

响应延时的实时测试需要读TSC,但是这两天做实验发现一个很奇怪的问题,用VxWorks作为guest时,对于类似“tsc1=rdtsc;nanosleep(100);tsc2=rdtsc;” 的程序,tsc2却总是比tsc1要小了。而用Linux作为guest时,对于类似的程序,是没有问题的。那么,是否是kvm中对于TSC的处理有问题呢?带着这个问题,我把kvm-kmod-2.6.33.1中.........【阅读全文】

阅读(1122) | 评论(0) | 转发(1)

发布时间:2014-01-26 14:49:28

VMCS是Intel-x中一个很重要的数据结构,它占用一个page大小,由VMM分配,但是硬件是需要读写的,有点类似于页表。vmcs的各个域在manual中有说明,但是每个域在vmcs页中的具体位置是不知道的,程序员不用关心,只需要用相应的VMWRITE和VMREAD指令去访问。这样做的好处是,vmcs页中结构的具体layout可以透明的进行变动。&nbs.........【阅读全文】

阅读(1126) | 评论(0) | 转发(1)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册