[linux-pm] Ottawa [topics]

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

 



On Wed, 16 Mar 2005, David Brownell wrote:

> > Wether the system IRQs must be masked or not is one thing that is
> > platform specific during suspend. Wether devices must stop their IRQ
> > emission, well... 
> 
> What's a "system IRQ" as opposed to any other kind?  Drivers don't
> generally know or care how their IRQs are routed, they just care
> that they get a callback.

Given that on some platforms it's necessary to leave some IRQs enabled for 
remote wakeup to work, the definitions of FREEZE and SUSPEND need to be 
changed.  A quiesced device does not perform DMA and does not generate 
interrupt requests _except_ that it may issue wakeup requests (which may 
be IRQs) if it is enabled for remote wakeup.

I don't think this will cause any problems for Suspend To Disk.  If a 
wakeup IRQ arrives before the system is asleep and is fielded by an 
interrupt handler, the handler will try to start a resume.  But resume 
needs a process context to operate, and all processes will be frozen -- so 
nothing will happen.

The case of Suspend To Ram, where processes may not be frozen, can be
solved by suitable device locking.  If the PM core locks all devices
before initiating the sleep transition -- which it should in any case --
and unlocks them after waking up, and if resume processing involves
acquiring the device lock, then again nothing will happen.

Does this help clarify things?

Alan Stern


[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