Remark:
If i disable interrupts on CPU1-3 for virtio the performance is ok again.

Now we need someone with deeper knowledge of the in-kernel irqchip and the
virtio/vhost driver development to say if this is a regression in qemu-kvm
or a problem with the old virtio drivers if they receive the interrupt on
different CPUs.

Peter Lieven wrote:
> it seems that with in-kernel irqchip the interrupts are distributed across
> all vpcus. without in-kernel irqchip all interrupts are on cpu0. maybe
> this is related.
>
> without inkernel irqchip
>            CPU0       CPU1       CPU2       CPU3
>   0:         16          0          0          0   IO-APIC-edge      timer
>   1:         23          0          0          0   IO-APIC-edge      i8042
>   4:          1          0          0          0   IO-APIC-edge
>   6:          4          0          0          0   IO-APIC-edge
> floppy
>   7:          0          0          0          0   IO-APIC-edge
> parport0
>   8:          0          0          0          0   IO-APIC-edge      rtc0
>   9:          0          0          0          0   IO-APIC-fasteoi   acpi
>  11:         76          0          0          0   IO-APIC-fasteoi
> uhci_hcd:usb1
>  12:        102          0          0          0   IO-APIC-edge      i8042
>  14:          0          0          0          0   IO-APIC-edge
> ata_piix
>  15:      16881          0          0          0   IO-APIC-edge
> ata_piix
>  24:          0          0          0          0   PCI-MSI-edge
> virtio1-config
>  25:       5225          0          0          0   PCI-MSI-edge
> virtio1-requests
>  26:          0          0          0          0   PCI-MSI-edge
> virtio0-config
>  27:      72493          0          0          0   PCI-MSI-edge
> virtio0-input
> ...
>
> with inkernel irqchip
>            CPU0       CPU1       CPU2       CPU3
>   0:         16          0          0          0   IO-APIC-edge      timer
>   1:          0          3          3          1   IO-APIC-edge      i8042
>   4:          0          0          1          0   IO-APIC-edge
>   6:          1          0          1          2   IO-APIC-edge
> floppy
>   7:          0          0          0          0   IO-APIC-edge
> parport0
>   8:          0          0          0          0   IO-APIC-edge      rtc0
>   9:          0          0          0          0   IO-APIC-fasteoi   acpi
>  11:          7          9          4          1   IO-APIC-fasteoi
> uhci_hcd:usb1
>  12:         30         27         29         34   IO-APIC-edge      i8042
>  14:          0          0          0          0   IO-APIC-edge
> ata_piix
>  15:        943        937        950        943   IO-APIC-edge
> ata_piix
>  24:          0          0          0          0   PCI-MSI-edge
> virtio0-config
>  25:        930        978        980        947   PCI-MSI-edge
> virtio0-input
>  26:          0          0          1          0   PCI-MSI-edge
> virtio0-output
>  27:          0          0          0          0   PCI-MSI-edge
> virtio1-config
>  28:        543        541        542        553   PCI-MSI-edge
> virtio1-requests
> ...
>
>



Reply via email to