Re: Problem with freezable workqueues



On Wednesday, 28 February 2007 19:17, Gautham R Shenoy wrote:
On Wed, Feb 28, 2007 at 08:37:26AM +0530, Srivatsa Vaddagiri wrote:

Hmm ..good point. So can we assume that disable/enable_nonboot_cpus() are called
with processes frozen already?

Gautham, you need to take this into account in your patchset!

Yup. That would mean making the freezer reentrant since we will
be freezing twice (once for suspend and later on for hotplug). This is
ok since the api in my patches looks like
freeze_processes(int freeze_event);

But thaw will be interesting. If we are thawing for hotplug, we gotta
only thaw processes which were frozen *only* for hotplug.

Rafael, does that mean more status flags?!

Well, I don't really think so, but we need to store some information in the
freezer (eg. in a status variable). Namely, we can define a variable, say
tasks_frozen, the value of which will be the bitwise or of the flags
SPE_SUSPEND, SPE_HOTPLUG etc. In a fully functional system, tasks_frozen
is equal to zero. If freeze_processes(SPE_SUSPEND) is run, it does
tasks_frozen |= SPE_SUSPEND and analogously for SPE_HOTPLUG etc.
If tasks_frozen is equal to SPE_SUSPEND|SPE_HOTPLUG, for example, and
thaw_tasks(SPE_HOTPLUG) runs, it only thaws the tasks that need not stay frozen
for the suspend and does tasks_frozen &= ~SPE_SUSPEND etc.

I think something like this should work.

Greetings,
Rafael
-
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: Problem with freezable workqueues
    ... Gautham, you need to take this into account in your patchset! ... be freezing twice (once for suspend and later on for hotplug). ... only thaw processes which were frozen *only* for hotplug. ... "Freedom comes with a price tag of responsibility, which is still a bargain, ...
    (Linux-Kernel)
  • Re: [RFC PATCH(Experimental) 1/4] freezer-cpu-hotplug core
    ... How about an api to thaw only a specific task something like ... Gautham R Shenoy ... "Freedom comes with a price tag of responsibility, which is still a bargain, ...
    (Linux-Kernel)