Re: [RFC][PATCH 2/2] PM: Rework handling of interrupts during suspend-resume

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

 



* Rafael J. Wysocki <rjw@xxxxxxx> wrote:

> On Tuesday 24 February 2009, Linus Torvalds wrote:
> > 
> > On Tue, 24 Feb 2009, Rafael J. Wysocki wrote:
> > >
> > > > The only safe way on x86 to shutdown a level triggered ioapic irq
> > > > outside of irq context is for the driver to program the hardware to
> > > > not generate an irq.
> > > 
> > > Well, that changes things quite a bit, because it means we can't change the
> > > suspend-resume sequence in a way we thought we could without fixing all
> > > drivers first, but this is exactly what we'd like to avoid by changing the
> > > core.
> > 
> > Calling "disable_irq()" is perfectly fine.
> > 
> > What is not possible on that broken IO-APIC (among other 
> > things) is to actually turn the interrupts off at the apic 
> > (ie the whole ->shutdown() thing). But that's not what we 
> > even want to do. What we care about is just disabling the 
> > interrupt from a drievr perspective.
> > 
> > IOW, the patches I have seen are fine, and all the comments 
> > from Eric are just confusion about what we want done.
> 
> Ah, OK.  Thanks for the explanation, I got confused too.
> 
> > WE DO NOT WANT TO TURN OFF THE IO-APIC. That may or may 
> > happen later, but that's totally unrelated to this whole 
> > "suspend_device_irq()" thing.
> 
> Yeah.

We definitely dont want to turn off x86 IO-APICs - the timer IRQ 
goes via one of them.

	Ingo
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux