Re: [RFC][PATCH -mm 2/3] freezer: Introduce freezer_flags

Rafael J. Wysocki
2007-04-24T11:28:32Z

On Tuesday, 24 April 2007 01:19, Oleg Nesterov wrote:
> On 04/24, Rafael J. Wysocki wrote:
> >
> > On Tuesday, 24 April 2007 00:55, Oleg Nesterov wrote:
> > > On 04/24, Rafael J. Wysocki wrote:
> > > >
> > > > Should I clear it in dup_task_struct() or is there a better place?
> > >
> > > I personally think we should do this in dup_task_struct(). In fact, I believe
> > > it is better to replace the
> > >
> > > *tsk = *orig;
> > >
> > > with some helper (like setup_thread_stack() below), and that helper clears
> > > ->freezer_flags. Say, copy_task_struct().
> >
> > Hmm, wouldn't that be overkill? copy_task_struct() would have to do
> > *tsk = *orig anyway, and we only need to clear one field apart from this.
> >
> > Some other fields are cleared towards the end of dup_task_struct(), so perhaps
> > we could clear freezer_flags in there too?
>
> Yes. And I strongly believe it is bad we don't have the helper which does some
> random stuf like "p->did_exec = 0".
>
> The same for thread_info. Could you answer quickly where do we clear TIF_FREEZE
> currently? We don't.

Right.

That said, I think the right thing to do would be to add just one line
'freezer_flags = 0' to dup_task_struct() directly in this patch and then
move all of the random stuff (including this line) to the helper in a separate
patch.

I mean, the introduction of the helper seems to be logically unrelated to the
other things this patch does, so it should go in another patch IMHO.

Greetings,
Rafael