From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Yuan B" <yuan.b.liu@intel.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"Dong, Eddie" <eddie.dong@intel.com>
Subject: Re: [PATCH] Simulates the MSIx table read operation
Date: Fri, 6 Aug 2010 11:01:48 -0400 [thread overview]
Message-ID: <20100806150148.GA4324@phenom.dumpdata.com> (raw)
In-Reply-To: <BC00F5384FCFC9499AF06F92E8B78A9E0AFFFF0941@shsmsx502.ccr.corp.intel.com>
On Wed, Aug 04, 2010 at 10:35:26AM +0800, Liu, Yuan B wrote:
> Hi,
> This patch simulates the MSIx table read operation to avoid read traffic caused by guest Linux kernel in a multiple guests environments running with high interrupt rate workload.(We tested 24 guests with iperf by 10Gb workload)
>
> [Background]
> The assumptions about underlying hardware of OS running in the virtual machine environment would not hold for some cases. This is particularly perceived when considering the CPU virtualization that, the VCPU of the OS would be scheduled out while physical CPU of OS would never be. This cause the corner case trouble of OS designed inherently by the assumption targeting the physical CPU. We have seen the _lock-holder preemption_ case. Now SR-IOV issue is yet another one.
> [Issue]
> Linux generic IRQ logic for edge interrupt, during the 'Writing EOI' period, has been written the way that in a high rate interrupt environment, the subsequent interrupt would cause the guest busy masking/unmasking interrupt if the previous one isn't handled immediately(For e.g. the guest is scheduled out).
> The mask/unmask operation would cause a read operation to flush the previous PCI transactions to ensure the write is successful. This corner case isn't handled by the Xen which only intercept the Guests' mask/unmask operation and forward other requests(read/write table) to qemu.
> This special case doesn't appear in the light workload but in the case of many (for e.g. 24) guests, it would cause the CPU utilization of Dom0 up to 140%(This is proportional to the number of the guests), which definitely limit the scalability and performance of virtualization technology.
> [Effect]
> This patch emulates the read operation in the Xen and test showed that all the abnormal MMIO read operation is eliminated completely during iperf running in a heavy workload. The CPU utilization has been dropped to 60% in my test.
I am having a hard time understanding this. Is the issue here that
read/write of the MSI-X table is being done in QEMU, and it is much
better to do so in the hypervisor which traps already the mask/unmaks
operation so that QEMU is not overwhelmed by having to do this?
With this in patch in place, wouldn't QEMU still do the read operation?
>
> Thanks,
> Yuan
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2010-08-06 15:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-04 2:35 [PATCH] Simulates the MSIx table read operation Liu, Yuan B
2010-08-06 15:01 ` Konrad Rzeszutek Wilk [this message]
-- strict thread matches above, loose matches on Subject: below --
2010-08-04 2:36 Liu, Yuan B
2010-08-04 8:12 Liu, Yuan B
2010-08-04 9:08 Liu, Yuan B
2010-08-10 16:04 Liu Yuan
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=20100806150148.GA4324@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=eddie.dong@intel.com \
--cc=xen-devel@lists.xensource.com \
--cc=yuan.b.liu@intel.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;
as well as URLs for NNTP newsgroup(s).