[linux-pm] Ottawa [topics]

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

 



On Thu, 17 Mar 2005, Nigel Cunningham wrote:

> > 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 the definition of FREEZE needs to be changed because -
> unless I misunderstand - it is only used when swsusp and Suspend2 are
> doing their atomic copies. Pavel, is this right?

Nevertheless the definition still needs to be changed.  As it stands now, 
moving from FREEZE to SUSPEND might involve an _increase_ in device 
activity -- namely, enabling resume IRQs.  That's not what we want.

> > 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.
> 
> Does the handler try to start a usermode helper program?

Depends on the details of the driver.  But it's impossible to _fork_ a new 
process from an interrupt handler.  You can try to _wakeup_ an existing 
process, but when the process is frozen it can't wake up.

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