Re: question on resume()



On Wednesday, 31 January 2007 09:40, Oliver Neukum wrote:
Am Mittwoch, 31. Januar 2007 09:33 schrieb Rafael J. Wysocki:
On Tuesday, 30 January 2007 23:32, Rafael J. Wysocki wrote:

Generally, you are safe if your driver only calls wake_up() from a process
context, but not from .resume() or .suspend() routines (or from an
unfreezeable kernel thread).

Ah, sorry, I've just realized I was wrong. Processes in TASK_UNINTERRUPTIBLE
cannot be frozen! So, the above only applies to wake_up_interruptible().

So the kernel will wait for tasks in TASK_UNINTERRUPTIBLE to finish IO
before it calls suspend()? I am confused.

Yes, it will. The process freezer can only return success if there are no more
TASK_UNINTERRUPTIBLE tasks. Otherwise it fails (after a timeout).

Greetings,
Rafael


--
If you don't have the time to read,
you don't have the time or the tools to write.
- Stephen King
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: question on resume()
    ... context, but not from .resumeor .suspendroutines (or from an ... unfreezeable kernel thread). ... before it calls suspend()? ...
    (Linux-Kernel)
  • Re: [TuxOnIce-devel] [RFC] TuxOnIce
    ... "Suspend2 and Software Suspend ... It was suggested that he begin the process of merging his patches ... gradual kernel development. ... We agreed that the process freezer ...
    (Linux-Kernel)
  • Re: [TuxOnIce-devel] [RFC] TuxOnIce
    ... "Suspend2 and Software Suspend ... There was agreement among the attendees that Nigel Cunningham's ... It was suggested that he begin the process of merging his patches ... We agreed that the process freezer ...
    (Linux-Kernel)
  • Re: Fw: Re: [mm PATCH 4/6] RCU: (now) CPU hotplug
    ... CPU and then unsuspend it? ... them go to sleep in a specific place, so they're all in a known state. ... The machine suspend code uses the process freezer, ...
    (Linux-Kernel)
  • Re: Fw: Re: [mm PATCH 4/6] RCU: (now) CPU hotplug
    ... them go to sleep in a specific place, so they're all in a known state. ... kernel threads are also captured, via their open-coded polling call to ... The machine suspend code uses the process freezer, ...
    (Linux-Kernel)