Re: [RFC] Cpu-hotplug: Using the Process Freezer (try2)

From: Srivatsa Vaddagiri
Date: Mon Apr 02 2007 - 05:21:20 EST


On Mon, Apr 02, 2007 at 08:16:12AM +0200, Ingo Molnar wrote:
> hm, shouldnt the make be frozen immediately?
>
> doesnt the 'please freeze ASAP' flag get propagated to all tasks,
> immediately? After that point any cloning activity should duplicate that
> flag too, resulting in any new child freezing immediately too.

afaics, setting the 'please freeze asap' flag is racy wrt dup_task_struct
(where the child's tsk->thread_info->flags are copied from its parent?).
Secondly, from what I understand, it takes a 'flag to be set + signal marked
pending' for the child task to be frozen. If that is the case, then
copy_process may not propogae the signal to the child, which could mean
mean that we can be in a catch-up game in freeze_processes, trying to
freeze processes we didnt see in earlier passes.

I think copy_process() can check for something like this:

write_lock_irq(&tasklist_lock);

...

if (freezing(current))
freeze_process(p); /* function exported by freezer */

...

write_unlock_irq(&tasklist_lock);


--
Regards,
vatsa
-
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/