Re: [PATCH 0/6] Add rudimentary Hyper-V guest support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 15.05.2009, at 10:22, Alexander Graf wrote:

Now that we have nested SVM in place, let's make use of it and virtualize
something non-kvm.
The first interesting target that came to my mind here was Hyper-V.

This patchset makes Windows Server 2008 boot with Hyper-V, which runs
the "dom0" in virtualized mode already. I haven't been able to run a
second VM within for now though, but maybe I just wasn't patient enough ;-).

In order to find out why things were slow with nested SVM I hacked intercept reporting into debugfs in my local tree and found pretty interesting results (using NPT):

 SVM_EXIT_CLGI          3888080       0
 SVM_EXIT_CPUID            3460       0
 SVM_EXIT_CR0_SEL_WRI         0       0
 SVM_EXIT_ERR                 0       0
 SVM_EXIT_FERR_FREEZE         0       0
 SVM_EXIT_GDTR_READ           0       0
 SVM_EXIT_GDTR_WRITE          0       0
 SVM_EXIT_HLT             40186       0
 SVM_EXIT_ICEBP               0       0
 SVM_EXIT_IDTR_READ           0       0
 SVM_EXIT_IDTR_WRITE          0       0
 SVM_EXIT_INIT                0       0
 SVM_EXIT_INTR           193173       0
 SVM_EXIT_INVD                0       0
 SVM_EXIT_INVLPG              1       0
 SVM_EXIT_INVLPGA        536994       0
 SVM_EXIT_IOIO          3450484       0
 SVM_EXIT_IRET                0       0
 SVM_EXIT_LDTR_READ           0       0
 SVM_EXIT_LDTR_WRITE          0       0
 SVM_EXIT_MONITOR             0       0
 SVM_EXIT_MSR            124614       0
 SVM_EXIT_MWAIT               0       0
 SVM_EXIT_MWAIT_COND          0       0
 SVM_EXIT_NMI                 0       0
 SVM_EXIT_NPF           1040416       0
 SVM_EXIT_PAUSE               0       0
 SVM_EXIT_POPF                0       0
 SVM_EXIT_PUSHF               0       0
 SVM_EXIT_RDPMC               0       0
 SVM_EXIT_RDTSC               0       0
 SVM_EXIT_RDTSCP              0       0
 SVM_EXIT_RSM                 0       0
 SVM_EXIT_SHUTDOWN            0       0
 SVM_EXIT_SKINIT              0       0
 SVM_EXIT_SMI                20       0
 SVM_EXIT_STGI          3888080       0
 SVM_EXIT_SWINT               0       0
 SVM_EXIT_TASK_SWITCH         0       0
 SVM_EXIT_TR_READ             0       0
 SVM_EXIT_TR_WRITE            0       0
 SVM_EXIT_VINTR          402865       0
 SVM_EXIT_VMLOAD        3888096       0
 SVM_EXIT_VMMCALL        767288       0
 SVM_EXIT_VMRUN         3888096       0
 SVM_EXIT_VMSAVE        3888096       0
 SVM_EXIT_WBINVD             64       0


So apparently the most intercepts come from the SVM helper calls (clgi, stgi, vmload, vmsave). I guess I need to get back to the "emulate when GIF=0" approach to get things fast.

Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux