WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] [VTD][PATCH] a time out mechanism for the sharedinterrup

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, "Xin, Xiaohui" <xiaohui.xin@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [VTD][PATCH] a time out mechanism for the sharedinterrupt issue for vtd
From: "Kay, Allen M" <allen.m.kay@xxxxxxxxx>
Date: Mon, 1 Oct 2007 17:07:03 -0700
Delivery-date: Mon, 01 Oct 2007 17:07:49 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C3251FBE.E3D7%Keir.Fraser@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <9A1462408D6D394C8A7A812E98F00A4D02170A2A@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <C3251FBE.E3D7%Keir.Fraser@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcgDM6YXZtsocIrGTGOzXvN/jWZJjAACgUaCAE+HEpA=
Thread-topic: [Xen-devel] [VTD][PATCH] a time out mechanism for the sharedinterrupt issue for vtd
Xiaohui and Kevin will be out for about a week for national holiday.  I have looked into the issues you raised:
 
1) Looks like irq_lock changes in vioapic_update_EOI() and hvm_dpci_eoi() are not needed.  You can go ahead and remove them.
 
2) The change for hvm_pci_intx_assert() seems to be needed by vmx/vmx_dirq_assist().  It is passing the return value of viopic_irq_positive_edge() to convey info such as whether the interrupt is masked or not.  In vmx_dpirq_assist(), the return value is used to determine whether to deassert the interrupt or wait for the interrupt for some more time.  If the return value is 0, it mean the interrupt is still masked by the guest - guest is not ready to accept interrupt yet - so it deasserts the interrupt.
 
My test shows it handles shared interrupt cases including ioapic_ack=new (by temporarily commenting out ioapic_ack_new = 0) pretty well thus fixes a major deficiency in PCI passthru functionality.
 
Allen


From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Keir Fraser
Sent: Sunday, September 30, 2007 1:41 AM
To: Xin, Xiaohui; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] [VTD][PATCH] a time out mechanism for the sharedinterrupt issue for vtd

Why does the irq_lock need to be released before taking the desc->lock in pirq_guest_eoi()? What does the new return boolean from hvm_pci_intx_assert() mean?

 -- Keir

On 30/9/07 08:29, "Xin, Xiaohui" <xiaohui.xin@xxxxxxxxx> wrote:

Attached is a patch for shared interrupt between dom0 and HVM domain for vtd.
Most of problem is caused by that we should inject interrupt to both domains and the
physical interrupt deassertion then may be delayed by the device assigned to the HVM.
 
The patch adds a timer, and the time out value is sufficient large to tolerant
the delaying used to wait for the physical interrupt deassertion.
 
The patch works well with the situation that SATA disk shares interrupt with PCIe NIC.
And for vtd=1, the ioapic_ack=new method also works well.
 
Signed-off-by: Xin, Xiaohui<xiaohui.xin@xxxxxxxxx
Signed-off-by: Kevin Tian <kevin.tian@xxxxxxxxx>
 

 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel