From: "Michael S. Tsirkin" <mst@redhat.com>
To: Peter Lieven <pl@dlhnet.de>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
Peter Lieven <lieven-lists@dlhnet.de>,
Jan Kiszka <jan.kiszka@web.de>,
Dietmar Maurer <dietmar@proxmox.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] slow virtio network with vhost=on and multiple cores
Date: Tue, 13 Nov 2012 18:33:32 +0200 [thread overview]
Message-ID: <20121113163331.GA645@redhat.com> (raw)
In-Reply-To: <20121113162256.GA554@redhat.com>
On Tue, Nov 13, 2012 at 06:22:56PM +0200, Michael S. Tsirkin wrote:
> On Tue, Nov 13, 2012 at 12:49:03PM +0100, Peter Lieven wrote:
> >
> > On 09.11.2012 19:03, Peter Lieven wrote:
> > >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.
> > anyone?
>
> Looks like the problem is not in the guest: I tried ubuntu guest
> on a rhel host, I got 8GB/s with vhost and 4GB/s without
> on a host to guest banchmark.
>
Tried with upstream qemu on rhel kernel and that's even a bit faster.
So it's ubuntu kernel. vanilla 2.6.32 didn't have vhost at all
so maybe their vhost backport is broken insome way.
>
> >
> > >
> > >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
> > >>...
> > >>
> > >>
> > >
next prev parent reply other threads:[~2012-11-13 16:31 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-05 11:51 [Qemu-devel] slow virtio network with vhost=on and multiple cores Dietmar Maurer
2012-11-05 12:36 ` Stefan Hajnoczi
2012-11-05 15:01 ` Dietmar Maurer
2012-11-06 6:12 ` Dietmar Maurer
2012-11-06 7:46 ` Peter Lieven
2012-11-06 7:51 ` Dietmar Maurer
2012-11-06 9:01 ` Dietmar Maurer
2012-11-06 9:26 ` Jan Kiszka
2012-11-06 9:46 ` Dietmar Maurer
2012-11-06 10:12 ` Jan Kiszka
2012-11-06 11:24 ` Dietmar Maurer
2012-11-08 9:39 ` Jan Kiszka
2012-11-08 10:55 ` Peter Lieven
2012-11-08 12:03 ` Dietmar Maurer
2012-11-08 15:02 ` Peter Lieven
2012-11-09 5:55 ` Dietmar Maurer
2012-11-09 17:27 ` Peter Lieven
2012-11-09 17:51 ` Peter Lieven
2012-11-09 18:03 ` Peter Lieven
2012-11-13 11:44 ` Peter Lieven
2012-11-13 11:49 ` Peter Lieven
2012-11-13 16:22 ` Michael S. Tsirkin
2012-11-13 16:21 ` Peter Lieven
2012-11-13 16:26 ` Michael S. Tsirkin
2012-11-13 16:27 ` Peter Lieven
2012-11-13 16:59 ` Dietmar Maurer
2012-11-13 17:03 ` Michael S. Tsirkin
2012-11-13 16:33 ` Michael S. Tsirkin [this message]
2012-11-13 16:35 ` Peter Lieven
2012-11-13 16:46 ` Michael S. Tsirkin
2012-11-13 17:03 ` Dietmar Maurer
2012-11-13 17:07 ` Michael S. Tsirkin
2012-11-13 17:38 ` Dietmar Maurer
2012-11-15 18:26 ` Peter Lieven
2012-11-16 10:44 ` Dietmar Maurer
2012-11-16 11:00 ` Alexandre DERUMIER
2012-12-03 11:23 ` Peter Lieven
2012-12-09 18:38 ` Alexandre DERUMIER
2013-03-14 9:22 ` Davide Guerri
2013-03-14 10:43 ` Alexandre DERUMIER
2013-03-14 17:50 ` Michael S. Tsirkin
2013-03-14 18:15 ` Davide Guerri
2013-03-14 18:21 ` Peter Lieven
2013-03-14 23:04 ` Davide Guerri
2013-03-15 7:23 ` Peter Lieven
2013-03-17 9:08 ` Michael S. Tsirkin
2013-03-18 9:50 ` Alexandre DERUMIER
2013-03-18 9:53 ` Michael S. Tsirkin
2013-03-25 13:34 ` Peter Lieven
2012-11-19 13:49 ` Peter Lieven
2012-11-06 6:48 ` Dietmar Maurer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121113163331.GA645@redhat.com \
--to=mst@redhat.com \
--cc=dietmar@proxmox.com \
--cc=jan.kiszka@web.de \
--cc=lieven-lists@dlhnet.de \
--cc=pl@dlhnet.de \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.