lkml.org 
[lkml]   [2011]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 06/16] freezer: make exiting tasks properly unfreezable
Hello, Oleg.

On Thu, Aug 25, 2011 at 06:56:50PM +0200, Oleg Nesterov wrote:
> But still I can't understand why it is better to consider the exiting
> task as "frozen" from the very beginning, right after PTRACE_EVENT_EXIT.
> do_exit() does a lot of misc things, and this patch simply makes it
> "invisible" to the freezer. This looks "unsafe" even if this is fine
> for suspend/etc.
>
> To me, try_to_freeze_tasks() should succed when all threads either
> sleep in refrigerator(), or ->state = TASK_DEAD (the final schedule()
> was called). Until then try_to_freeze_tasks() should retry.

Hmmm... yeah, maybe moving it right after setting ->state would be
safer. Care to send a patch?

> But since we can't see the threads after exit_notify (in general),
> the current ->exit_state check looks reasonable.

I prefer setting NOFREEZE after point of no return from exit path.
The intention is clearer that way, I think.

> > Another freezer user is the cgroup,
>
> Yes. And I don't understand this case too. I mean, the fact we ignore
> the exiting tasks.

Because it's basically a mass (or meta) job control mechanism and it's
nicer to be able to kill processes after freezing berserk cgroups.

Thanks.

--
tejun


\
 
 \ /
  Last update: 2011-08-25 23:55    [W:1.391 / U:1.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site