Re: [Bugfix 0/2] Fix bugs caused by "use irqdomain to dynamically allocate IRQ for IOAPIC"

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

 



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.
> 
> 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-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux