From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v5] Fix interrupt latency of HVM PCI passthroughdevices. Date: Fri, 19 Sep 2014 14:51:34 -0400 Message-ID: <1411152697-13765-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XV3Hb-0006EE-35 for xen-devel@lists.xenproject.org; Fri, 19 Sep 2014 18:51:51 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org, ian.campbell@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, keir@xen.org, tim@xen.org List-Id: xen-devel@lists.xenproject.org >>From Konrad Rzeszutek Wilk # This line is ignored. From: Konrad Rzeszutek Wilk Subject: [PATCH v5] Fix interrupt latency of HVM PCI passthroughdevices. In-Reply-To: Hey Jan, and other maintainers which scripts/get_maintainer.pl spit out, Changelog 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 big change is on ditching of having a domain centric view and focus on having it all revolve around 'struct hvm_pirq_dpci' structure. That all works - except that we must be very careful with the 'dom' field. I haven't been able to trigger an assert but there is one edge case (see the second patch) which required some an bounded loop in case of a race. I would welcome feedback of what the prefer way is of resolving it. If this mechanism seems a bit cumbersome I can switch back to the v4 design - which was based on the struct domain having the state and list. Please review! xen/arch/x86/domain.c | 4 +- xen/arch/x86/irq.c | 6 ++ xen/drivers/passthrough/io.c | 230 +++++++++++++++++++++++++++++++++++++----- xen/drivers/passthrough/pci.c | 27 +++-- xen/include/xen/hvm/irq.h | 5 +- xen/include/xen/pci.h | 2 +- xen/include/xen/softirq.h | 3 + 7 files changed, 240 insertions(+), 37 deletions(-) Konrad Rzeszutek Wilk (3): dpci: Replace tasklet with an softirq (v5) dpci: Safeguard against race with hvm_dirq_assist crashing and pt_irq_[create|destroy]_bind dpci: In hvm_dirq_assist stop using pt_pirq_iterate