public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Sheng Yang <sheng@linux.intel.com>
To: Avi Kivity <avi@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
	Alex Williamson <alex.williamson@redhat.com>
Subject: Re: [PATCH 0/8][v2] MSI-X mask emulation support for assigned device
Date: Thu, 21 Oct 2010 15:41:20 +0800	[thread overview]
Message-ID: <201010211541.20518.sheng@linux.intel.com> (raw)
In-Reply-To: <4CBEBB85.4000706@redhat.com>

On Wednesday 20 October 2010 17:51:01 Avi Kivity wrote:
>   On 10/20/2010 10:26 AM, Sheng Yang wrote:
> > Here is v2.
> > 
> > Changelog:
> > 
> > v1->v2
> > 
> > The major change from v1 is I've added the in-kernel MSI-X mask emulation
> > support, as well as adding shortcuts for reading MSI-X table.
> > 
> > I've taken Michael's advice to use mask/unmask directly, but unsure about
> > exporting irq_to_desc() for module...
> > 
> > Also add flush_work() according to Marcelo's comments.
> 
> Any performance numbers?  What are the affected guests?  just RHEL 4, or
> any others?

At least current RHEL5 series would be affected. I have done an simple benchmark on 
RHEL5u5 guest with 512m memory and 1 cpu. Device is one 10G NIC with SRIOV. One VF 
was assigned to guest to communicate the PF in the host. 3 threads had been used 
in iperf of guest to push the CPU utilization to 100%. In this condition, QEmu 
method's bandwidth is about 20% lower than in-kernel one(~7.5G vs ~9G). Interrupt 
rate in this condition is about 20k/sec.

The reason is 2.6.18 kernel used mask_msi in ack() for MSI chip, caused significant 
mask bit operations when interrupt rate is high.

We have also reproduced the issue on some large scale benchmark on the guest with 
newer kernel like 2.6.30 on Xen, under very high interrupt rate, due to some 
interrupt rate limitation mechanism in kernel.
> 
> Alex, Michael, how would you do this with vfio?

--
regards
Yang, Sheng

  parent reply	other threads:[~2010-10-21  7:40 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-20  8:26 [PATCH 0/8][v2] MSI-X mask emulation support for assigned device Sheng Yang
2010-10-20  8:26 ` [PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h Sheng Yang
2010-10-20 11:07   ` Matthew Wilcox
2010-10-20  8:26 ` [PATCH 2/8] irq: Export irq_to_desc() to modules Sheng Yang
2010-10-20  8:26 ` [PATCH 3/8] KVM: x86: Enable ENABLE_CAP capability for x86 Sheng Yang
2010-10-20  8:26 ` [PATCH 4/8] KVM: Move struct kvm_io_device to kvm_host.h Sheng Yang
2010-10-20  8:26 ` [PATCH 5/8] KVM: Add kvm_get_irq_routing_entry() func Sheng Yang
2010-10-20  8:53   ` Avi Kivity
2010-10-20  8:58     ` Sheng Yang
2010-10-20  9:13     ` Sheng Yang
2010-10-20  9:17       ` Sheng Yang
2010-10-20  9:32         ` Avi Kivity
2010-10-20  8:26 ` [PATCH 6/8] KVM: assigned dev: Preparation for mask support in userspace Sheng Yang
2010-10-20  9:30   ` Avi Kivity
2010-10-22 14:53   ` Marcelo Tosatti
2010-10-24 12:19     ` Sheng Yang
2010-10-24 12:23       ` Michael S. Tsirkin
2010-10-28  8:21         ` Sheng Yang
2010-10-20  8:26 ` [PATCH 7/8] KVM: assigned dev: Introduce io_device for MSI-X MMIO accessing Sheng Yang
2010-10-20  9:46   ` Avi Kivity
2010-10-20 10:33     ` Michael S. Tsirkin
2010-10-21  6:46     ` Sheng Yang
2010-10-21  9:27       ` Avi Kivity
2010-10-21  9:24         ` Michael S. Tsirkin
2010-10-21  9:47           ` Avi Kivity
2010-10-21 10:51             ` Michael S. Tsirkin
2010-10-20 22:35   ` Michael S. Tsirkin
2010-10-21  7:44     ` Sheng Yang
2010-10-20  8:26 ` [PATCH 8/8] KVM: Emulation MSI-X mask bits for assigned devices Sheng Yang
2010-10-20  9:49   ` Avi Kivity
2010-10-20 22:24   ` Michael S. Tsirkin
2010-10-21  8:30   ` Sheng Yang
2010-10-21  8:39     ` Michael S. Tsirkin
2010-10-22  4:42       ` Sheng Yang
2010-10-22 10:17         ` Michael S. Tsirkin
2010-10-22 13:30           ` Sheng Yang
2010-10-22 14:32             ` Michael S. Tsirkin
2010-10-20  9:51 ` [PATCH 0/8][v2] MSI-X mask emulation support for assigned device Avi Kivity
2010-10-20 10:44   ` Michael S. Tsirkin
2010-10-20 10:59     ` Avi Kivity
2010-10-20 13:43       ` Michael S. Tsirkin
2010-10-20 14:58         ` Alex Williamson
2010-10-20 14:58           ` Michael S. Tsirkin
2010-10-20 15:12             ` Alex Williamson
2010-10-20 15:17         ` Avi Kivity
2010-10-20 15:22           ` Alex Williamson
2010-10-20 15:26             ` Avi Kivity
2010-10-20 15:38               ` Alex Williamson
2010-10-20 14:47     ` Alex Williamson
2010-10-20 14:46       ` Michael S. Tsirkin
2010-10-20 15:07         ` Alex Williamson
2010-10-20 15:13           ` Michael S. Tsirkin
2010-10-20 20:13             ` Alex Williamson
2010-10-20 22:06               ` Michael S. Tsirkin
2010-10-20 15:23       ` Avi Kivity
2010-10-20 15:38         ` Alex Williamson
2010-10-20 15:54           ` Avi Kivity
2010-10-20 15:59             ` Michael S. Tsirkin
2010-10-20 16:13               ` Avi Kivity
2010-10-20 17:11                 ` Michael S. Tsirkin
2010-10-20 18:31               ` Alex Williamson
2010-10-21  7:41   ` Sheng Yang [this message]
2010-10-20 19:02 ` Marcelo Tosatti
2010-10-21  7:10   ` Sheng Yang
2010-10-21  8:21     ` Michael S. Tsirkin
2010-10-20 22:20 ` Michael S. Tsirkin

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=201010211541.20518.sheng@linux.intel.com \
    --to=sheng@linux.intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox