Re: Why so many vm exits caused by ept violation

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

 



the address is the Region 1 of virtio_net.

why virtio_net use this address caused ept violation?

00:04.0 Ethernet controller: Unknown device 1af4:1000
	Subsystem: Unknown device 1af4:0001
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin A routed to IRQ 11
	Region 0: I/O ports at c040 [size=32]
	Region 1: Memory at f2020000 (32-bit, non-prefetchable) [size=4K]
	Expansion ROM at f2030000 [disabled] [size=64K]
	Capabilities: [40] MSI-X: Enable+ Mask- TabSize=3
		Vector table: BAR=1 offset=00000000
		PBA: BAR=1 offset=00000800

00:08.0 Ethernet controller: Unknown device 1af4:1000
	Subsystem: Unknown device 1af4:0001
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 11
	Region 0: I/O ports at c0c0 [size=32]
	Region 1: Memory at f20a0000 (32-bit, non-prefetchable) [size=4K]
	Expansion ROM at f20b0000 [disabled] [size=64K]
	Capabilities: [40] MSI-X: Enable+ Mask- TabSize=3
		Vector table: BAR=1 offset=00000000
		PBA: BAR=1 offset=00000800

2010/11/15, lidong chen <chen.lidong.kernel@xxxxxxxxx>:
> the gpa caused ept violation is below:
>
> most of them is F2020000.(4060217344)
>
> error gpa is 4060217344
> error gpa is 4060217344
> error gpa is 4060217344
> error gpa is 4060217344
> error gpa is 4060217344
> error gpa is 4060217344
> error gpa is 4060217344
> error gpa is 4060217344
> error gpa is 4060217344
> error gpa is 4060217344
>
> other is F20A0000(4060741632).
>
> error gpa is 4060741632
> error gpa is 4060741632
>
>
> 2010/11/15, lidong chen <chen.lidong.kernel@xxxxxxxxx>:
>> i use the virtio dirvier of rhle6, the guest os version is 2.6.16.
>>
>> the vm exits which caused by io instruction and apic access reduce a lot.
>> the total number of vm exits decreased by 50% :)
>>
>> but the ept violation seem increase on cpu 0, cpu 1, cpu 2, cpu3.
>>
>> (KVM)100000 times on cpu 2,
>> 0, 1989
>> 1, 9937
>> 7, 7951
>> 12, 2709
>> 28, 20
>> 30, 18536
>> 44, 29058
>> 48, 29800
>>
>> and not all cpu have this problem: cpu4,cpu5,cpu6,cpu7
>> 100000 times on cpu 5,
>> 0, 13934
>> 1, 35955
>> 7, 26
>> 12, 3841
>> 28, 11224
>> 30, 29389
>> 44, 5631
>>
>> I bind vcpu like this:
>>       virsh vcpupin brd1vm4 0 7
>>     virsh vcpupin brd3vm4 0 0
>>     virsh vcpupin brd3vm4 1 4
>>     virsh vcpupin brd5vm4 0 1
>>     virsh vcpupin brd5vm4 1 5
>>     virsh vcpupin brd9vm4 0 2
>>     virsh vcpupin brd9vm4 1 6
>>     virsh vcpupin brd11vm4 0 3
>>     virsh vcpupin brd11vm4 1 7
>>
>> the /proc/interrupt of guest os is below:
>>            CPU0       CPU1
>>   0:    1896802          0    IO-APIC-edge  timer
>>   1:          8          0    IO-APIC-edge  i8042
>>   4:         14          0    IO-APIC-edge  serial
>>   8:          0          0    IO-APIC-edge  rtc
>>   9:          0          0   IO-APIC-level  acpi
>>  10:          0          0   IO-APIC-level  virtio1, virtio2, virtio5
>>  11:          1          0   IO-APIC-level  virtio0, virtio3, virtio4
>>  12:        104          0    IO-APIC-edge  i8042
>>  50:          1          0       PCI-MSI-X  virtio2-output
>>  58:          0          0       PCI-MSI-X  virtio3-config
>>  66:    2046985          0       PCI-MSI-X  virtio3-input
>>  74:          2          0       PCI-MSI-X  virtio3-output
>>  82:          0          0       PCI-MSI-X  virtio4-config
>>  90:        217          0       PCI-MSI-X  virtio4-input
>>  98:          0          0       PCI-MSI-X  virtio4-output
>> 177:          0          0       PCI-MSI-X  virtio0-config
>> 185:     341831          0       PCI-MSI-X  virtio0-input
>> 193:          1          0       PCI-MSI-X  virtio0-output
>> 201:          0          0       PCI-MSI-X  virtio1-config
>> 209:     188747          0       PCI-MSI-X  virtio1-input
>> 217:          1          0       PCI-MSI-X  virtio1-output
>> 225:          0          0       PCI-MSI-X  virtio2-config
>> 233:    2204149          0       PCI-MSI-X  virtio2-input
>> NMI:    1455767    1426226
>> LOC:    1896099    1896637
>> ERR:          0
>> MIS:          0
>>
>> the application on all vcpu is the same. so i think the new pv driver
>> caused ept violation .
>>
>>
>> 2010/11/10 Avi Kivity <avi@xxxxxxxxxx>:
>>> On 11/10/2010 09:09 AM, lidong chen wrote:
>>>>
>>>> after slove the ept violation problem, i found  the vm exits times is
>>>> still more than xen.
>>>>
>>>> and i found most of them is caused by io instruction. then i stat the
>>>> port number, most of them is caused by virio_net.
>>>
>>> This is also solved by the msi-capable virtio driver.
>>>
>>> --
>>> error compiling committee.c: too many arguments to function
>>>
>>>
>>
>
--
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