From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754825AbcH2Ra6 convert rfc822-to-8bit (ORCPT ); Mon, 29 Aug 2016 13:30:58 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:37984 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751083AbcH2Ra4 (ORCPT ); Mon, 29 Aug 2016 13:30:56 -0400 Subject: Re: [PATCH] xen: Remove event channel notification through Xen PCI platform device To: KarimAllah Ahmed , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org References: <1472248536-2063-1-git-send-email-karahmed@amazon.de> Cc: David Vrabel , Juergen Gross , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Konrad Rzeszutek Wilk , Bjorn Helgaas , Stefano Stabellini , Julien Grall , Vitaly Kuznetsov , Paul Gortmaker , Ross Lagerwall , linux-pci@vger.kernel.org, Anthony Liguori From: Boris Ostrovsky Message-ID: <28aa68f6-7115-bc34-54a5-38d1995f157d@oracle.com> Date: Mon, 29 Aug 2016 13:29:09 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <1472248536-2063-1-git-send-email-karahmed@amazon.de> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8BIT X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/26/2016 05:55 PM, KarimAllah Ahmed wrote: > Ever since commit 254d1a3f02eb ("xen/pv-on-hvm kexec: shutdown watches > from old kernel") using the INTx interrupt from Xen PCI platform device for > event channel notification would just lockup the guest during bootup. > postcore_initcall now calls xs_reset_watches which will eventually try to read > a value from XenStore and will get stuck on read_reply at XenBus forever since > the platform driver is not probed yet and its INTx interrupt handler is not > registered yet. That means that the guest can not be notified at this moment of > any pending event channels and none of the per-event handlers will ever be > invoked (including the XenStore one) and the reply will never be picked up by > the kernel. > > The exact stack where things get stuck during xenbus_init: > > -xenbus_init > -xs_init > -xs_reset_watches > -xenbus_scanf > -xenbus_read > -xs_single > -xs_single > -xs_talkv > > Vector callbacks have always been the favourite event notification mechanism > since their introduction in commit 38e20b07efd5 ("x86/xen: event channels > delivery on HVM.") and the vector callback feature has always been advertised > for quite some time by Xen that's why INTx was broken for several years now > without impacting anyone. > > Luckily this also means that event channel notification through INTx is > basically dead-code which can be safely removed without impacting anybody since > it has been effectively disabled for more than 4 years with nobody complaining > about it (at least as far as I'm aware of). > > This commit removes event channel notification through Xen PCI platform device. > > Cc: Boris Ostrovsky > Cc: David Vrabel > Cc: Juergen Gross > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: "H. Peter Anvin" > Cc: x86@kernel.org > Cc: Konrad Rzeszutek Wilk > Cc: Bjorn Helgaas > Cc: Stefano Stabellini > Cc: Julien Grall > Cc: Vitaly Kuznetsov > Cc: Paul Gortmaker > Cc: Ross Lagerwall > Cc: xen-devel@lists.xenproject.org > Cc: linux-kernel@vger.kernel.org > Cc: linux-pci@vger.kernel.org > Cc: Anthony Liguori > Signed-off-by: KarimAllah Ahmed Reviewed-by: Boris Ostrovsky