Messages in this thread | | | Date | Mon, 30 Jan 2012 15:30:55 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH v2 2/4] PM/Freezer: Make thaw_processes() thaw only userspace tasks |
| |
On Tue, Jan 31, 2012 at 04:44:48AM +0530, Srivatsa S. Bhat wrote: > Currently the situation is: > > freeze_processes() - freezes only userspace tasks > freeze_kernel_threads() - freezes only kernel threads > thaw_kernel_threads() - thaws only kernel threads > thaw_processes() - thaws *everything* (both userspace tasks and kernel threads)
Umm... I don't really get this. Why is this a problem? The list is not even correct. freeze_kernel_threads() doesn't freeze "only" kernel threads. It freezes all threads "including" kernel threads and that's only natural because you can't freeze kernel threads without freezing userland threads and of course you can't thaw userland threads without thawing kernel threads.
The system simply won't work if you do it otherwise and making them disjoint operations increases the chance of bugs. These operations are naturally enclosed within each other and trying to break them apart isn't a good idea.
What's the problem you're trying to solve here? I don't really see code clean up. Code is different but not necessarily cleaner and FWIW it seems more unnatural and brittle to me.
Thanks.
-- tejun
| |