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