xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: andrew.cooper3@citrix.com, JBeulich@suse.com,
	xen-devel@lists.xenproject.org, keir@xen.org,
	ian.jackson@eu.citrix.com, ian.campbell@citrix.com, tim@xen.org
Subject: [PATCH v9 for-xen-4.5] Fix interrupt latency of HVM PCIpassthrough devices.
Date: Mon,  3 Nov 2014 14:14:36 -0500	[thread overview]
Message-ID: <1415042078-8337-1-git-send-email-konrad.wilk@oracle.com> (raw)


Changelog:
since v8 (http://lists.xen.org/archives/html/xen-devel/2014-10/msg02564.html)
 - Went back-n-forth on remote softirq, fixed styleguide violations.
 - Moved call to pt_pirq_softirq_reset in pt_irq_create_bind
 - Removed 'case default'
 - Streamlined 'pci_clean_dpci_irqs' return usage.

since v7 (http://lists.xen.org/archives/html/xen-devel/2014-09/msg04385.html)
 - Put ref-counting back, added two bits to allow ref-counting from other places.
since v6 (http://lists.xen.org/archives/html/xen-devel/2014-09/msg03208.html)
 - Squashed #1 + #2.
 - Added more comments, redid it based on Jan's feedback.
since v5 (http://lists.xen.org/archives/html/xen-devel/2014-09/msg02868.html)
 - Redid the series based on Jan's feedback
since v4
(http://lists.xen.org/archives/html/xen-devel/2014-09/msg01676.html):
 - Ditch the domain centric mechansim.
 - Fix issues raised by Jan.


The patches are an performance bug-fixes for PCI passthrough for machines
with many sockets. On those machines we have observed awful latency issues
with interrupts and with high steal time on idle guests. The root cause
was that the tasklet lock which was shared across all sockets. Each interrupt
that was to be delivered to a guest took the tasket lock - and with many
guests and many PCI passthrough devices - the performance and latency were
atrocious. These two patches fix the outstanding issues.

 xen/arch/x86/domain.c         |   4 +-
 xen/drivers/passthrough/io.c  | 282 +++++++++++++++++++++++++++++++++++++-----
 xen/drivers/passthrough/pci.c |  29 +++--
 xen/include/asm-x86/softirq.h |   3 +-
 xen/include/xen/hvm/irq.h     |   5 +-
 xen/include/xen/pci.h         |   2 +-
 6 files changed, 283 insertions(+), 42 deletions(-)

Konrad Rzeszutek Wilk (2):
      dpci: Move from an hvm_irq_dpci (and struct domain) to an hvm_dirq_dpci model.
      dpci: Replace tasklet with an softirq (v12)

             reply	other threads:[~2014-11-03 19:14 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-03 19:14 Konrad Rzeszutek Wilk [this message]
2014-11-03 19:14 ` [for-xen-4.5 v9 1/2] dpci: Move from an hvm_irq_dpci (and struct domain) to an hvm_dirq_dpci model Konrad Rzeszutek Wilk
2014-11-03 19:14 ` [for-xen-4.5 v9 2/2] dpci: Replace tasklet with an softirq (v12) Konrad Rzeszutek Wilk
2014-11-04 10:37   ` Jan Beulich
2014-11-10 21:02     ` Konrad Rzeszutek Wilk
2014-11-11  8:46       ` Jan Beulich

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=1415042078-8337-1-git-send-email-konrad.wilk@oracle.com \
    --to=konrad.wilk@oracle.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=keir@xen.org \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /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).