[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] x86/dpci: remove the dpci EOI timer


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Thu, 14 Jan 2021 13:54:47 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UlPfXJ2cOEixFyXS871Bk4g+RTjbY56o1Awr3H6kcW0=; b=CAgTW8djDQvzOFgp1dv+CoVy0zXLWNHbw05+gzSjlQKHPNswi6l4s+1MZOha6QfS+v0k06I+lyydZ/FWbZr29K/bJBfd/7thUYT418+NvIuW5V3N3YOeE4rB34Hm8jY9k4qxHlOuXfSNKWtu7r+jeWxYfEXZ/q3TqrJ0pgCmoRyt86WMzxgTMmMTa9MlcLAEXkvVlsyEsB2BAvX6zkxBtsta+nOQjEfuL3Oy7Z8XBO8qp9KN+aKgOE8skglL2pgIYe0UXMyiB0QJ3gOBzN+6bvB35LDE9nKxkvb+OXEcqI7EWGlTFA/ycBGa/PV/COzyIo0II5MGGiAFFp/ZPLIP0A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hwyp10F9yJYTfwEWTPMG9kpokN/LIl1TCJtIRt4V2tyGNJyVxIj4JxG28Rbp5zTUw6YTQAxzHiBrBJ9fHQvEV1wXCwNJlyT9EqkE/Vlh2jcCmCJ8hEiSNXkGfDAkycVtD0V11ArgmNJZI5ZKipJmv6izPPwD52mlyiSsiTxQpkRPoHz1F6EVX99Fzp+shAcP2aEIEhjAd2Idd5F0kBGAf/cQP65Hfj4sztITrNyriLg92/ldWub6O8z9fL26Tp5sbvhdz9dRZXjea+6cQsthxFRBUNPZz3PkALMGOKyMGjTSaq0TMPHTd8IrgHzFTxEsHgo5NqpEo6mgfeXyGc+C8g==
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "Paul Durrant" <paul@xxxxxxx>, "Cooper, Andrew" <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, "Tian, Kevin" <kevin.tian@xxxxxxxxx>
  • Delivery-date: Thu, 14 Jan 2021 12:55:22 +0000
  • Ironport-sdr: ROlhKfctUnotbOsCSeZ98OzxaMfG4SZd3ByGklL2cbVJQI9xKGl0Ue+l8k+/XBd231UJjNHd6C SruljDSX+xWpVQES7ZCDbz5MSdfIVohw0AdTksu6Zdg0/MEYredSGl+MN5b7mRIGyZ+mq+jqyV nBF6g3onn1KhTqWOYpBuZ6MwrQhl01INUhn77TNXeKX6dZHqiNn/HSnpwobqyU2fdLk0mr1E3P lwnTZxLNeU9d5u/JU9lZeyUDdEJXFtkPUuwqqiD1g5hoae5mt+gDG0W7apIoxTuTDpukEIc6GI Sds=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Thu, Jan 14, 2021 at 12:48:59PM +0100, Jan Beulich wrote:
> On 13.01.2021 14:11, Roger Pau Monné wrote:
> > On Wed, Jan 13, 2021 at 06:21:03AM +0000, Tian, Kevin wrote:
> >>> From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
> >>> As with previous patches, I'm having a hard time figuring out why this
> >>> was required in the first place. I see no reason for Xen to be
> >>> deasserting the guest virtual line. There's a comment:
> >>>
> >>> /*
> >>>  * Set a timer to see if the guest can finish the interrupt or not. For
> >>>  * example, the guest OS may unmask the PIC during boot, before the
> >>>  * guest driver is loaded. hvm_pci_intx_assert() may succeed, but the
> >>>  * guest will never deal with the irq, then the physical interrupt line
> >>>  * will never be deasserted.
> >>>  */
> >>>
> >>> Did this happen because the device was passed through in a bogus state
> >>> where it would generate interrupts without the guest requesting
> >>
> >> It could be a case where two devices share the same interrupt line and
> >> are assigned to different domains. In this case, the interrupt activity of 
> >> two devices interfere with each other.
> > 
> > This would also seem to be problematic if the device decides to use
> > MSI instead of INTx, but due to the shared nature of the INTx line we
> > would continue to inject INTx (generated from another device not
> > passed through to the guest) to the guest even if the device has
> > switched to MSI.
> 
> I'm having trouble with this: How does the INTx line matter when
> a device is using MSI? I don't see why we should inject INTx when
> the guest has configured a device for MSI; if we do, this would
> indeed look like a bug (but aiui we bind either the MSI IRQ or
> the pin based one, but not both).

If the IRQ is shared between multiple devices Xen could continue to
receive interrupts on that IRQ, and thus inject them to the guest?
Even if the device passed through to that specific guest has switched
to use MSI.

Maybe I'm missing something, but I don't see QEMU removing the INTx
PIRQ binding when MSI(-X) is enabled for a guest device passed
through.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.