On 12/05/2011 11:11 PM, Srivatsa S. Bhat wrote: > On 12/05/2011 11:00 PM, Tejun Heo wrote: > >> (cc'ing Oleg) >> >> On Mon, Dec 05, 2011 at 10:55:51PM +0530, Srivatsa S. Bhat wrote: >>> I wanted these APIs to be generic, not restricted to work only for userspace >>> processes. Both freezer_do_not_count() and freezer_count() are effective only >>> when current->mm is non-NULL (ie., only for userspace ones). >>> I think I have documented this in the patch which added these things to the >>> 2 APIs. See commit 6a76b7a in linux-pm/linux-next. >> >> I see. Oleg was curious about the ->mm condition too and IIRC there's >> no reason for that restriction. Maybe removing that in another patch >> and using the count functions is better? >> > > > Oh well, then yes, that sounds like a better idea. Will send patches for > that. Thank you. > I looked up in git and found that commit ba96a0c by Rafael introduced the count functions, to handle the vfork case. But now, we seem to have more uses than that. So I think we can remove that userspace restriction in the count functions, and in kernel/fork.c, do something like: if (current->mm) freezer_do_not_count(); ... if (current->mm) freezer_count(); This way, it wouldn't break anything, since functionality-wise it is equivalent to the existing code; And we get what we want: ability to directly use the count functions elsewhere. Regards, Srivatsa S. Bhat