On Wed, Aug 06, 2014 at 06:27:49PM +0800, Jiang Liu wrote: > > > On 2014/8/6 1:58, Konrad Rzeszutek Wilk wrote: > > On Wed, Aug 06, 2014 at 12:07:18AM +0800, Jiang Liu wrote: > >> > >> > >> On 2014/8/5 21:04, Konrad Rzeszutek Wilk wrote: > >>> On Tue, Aug 05, 2014 at 11:26:16AM +0800, Jiang Liu wrote: > >>>> Two issues have been reported against patch set "use irqdomain to > >>>> dynamically allocate IRQ for IOAPIC" at https://lkml.org/lkml/2014/6/9/44. > >>>> > >>>> This first one causes failure of suspend/hibernation, please refer to > >>>> https://lkml.org/lkml/2014/7/28/822 for more information. And we have > >>>> worked out a patch to fix it (https://lkml.org/lkml/2014/7/30/725) and > >>>> Borislav has tested it. But with more testing and analysis, I found the > >>>> provided patch still has some issues: > >>>> 1) It may cause regression to Xen > >>> > >>> Could you elaborate please? > >>> > >>> Is there a git tree with all of these patches to test it? > >> Hi Konrad, > >> The patch at https://lkml.org/lkml/2014/7/30/725 skips invoking > >> xen_pcifront_enable_irq() on resume from suspend or restore from > >> hibernation. I'm not sure whether that will affect suspend/hibernation > >> with Xen. This patch series won't affect Xen anymore. > > > > Ah, it looks like: > > > > 415 pcibios_enable_irq = xen_pcifront_enable_irq; > > 416 pcibios_disable_irq = NULL; > > > > Is the culprit right? If there was an pcibios_disable_irq set, then said > > patch would not been needed? > > > > > >> I have prepared a tree for you at > >> https://github.com/jiangliu/linux.git suspend > > > > Thank you. Will give it a spin tomorrow. > Hi Konrad, > Thanks for review. > I think no need to test it anymore. We are trying to fix an > issue caused by IOAPIC related work. The previous version of patch > is too coarse grain and may affect Xen. And now we have reworked it, > so it shouldn't affect Xen anymore. OK. Thanks for the heads up! > Regards! > Gerry > > >> > >> Thanks for help! > >> Gerry > >> > >>>> 2) Flag dev->dev.power.is_prepared has already been cleared when > >>>> pcibios_enable_device() gets called, so it will cause IOAPIC pin > >>>> reference count leak. > >>>> > >>>> So I reworked the patch to fix above issues. The first patch fixes issue > >>>> 1 by moving check of dev->dev.power.is_prepared pcibios_enable_irq, so > >>>> it won't affect Xen. The second patch fixes the IOAPIC pin reference > >>>> count leakage issue. It also solves the issue we have discussed at > >>>> http://www.spinics.net/lists/linux-pci/msg32902.html > >>>> > >>>> Regards! > >>>> Gerry > >>>> > >>>> Jiang Liu (2): > >>>> x86, irq, PCI: Keep IRQ assignment for PCI devices during > >>>> suspend/hibernation > >>>> x86, irq: Keep balance of IOAPIC pin reference count > >>>> > >>>> arch/x86/pci/intel_mid_pci.c | 9 ++++++++- > >>>> arch/x86/pci/irq.c | 8 +++++++- > >>>> drivers/acpi/pci_irq.c | 15 +++++++++++++-- > >>>> include/linux/pci.h | 1 + > >>>> 4 files changed, 29 insertions(+), 4 deletions(-) > >>>> > >>>> -- > >>>> 1.7.10.4 > >>>> -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html