Re: [RFC][PATCH 2/2] kernel: extract thread types from task_struct::flags

Peter Zijlstra
2010-09-20T19:25:30Z

On Mon, 2010-09-20 at 12:14 -0700, Andrew Morton wrote:
> On Mon, 20 Sep 2010 17:13:36 +0200
> Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
>
> > Free up a few more PF_flags by moving thread types out to their own variable.
> >
> > Initially I compressed the types into less bits inside task_struct::flags, but
> > Thomas suggested I move them to their own field.
> >
>
> There doesn't seem to be a huge point to all this, but I guess there's
> some sense in separating "what type of thread this is" from "attributes
> of this thread". Maybe. At the expense of a larger task_struct.

Yeah, with the PF_FLUSHER and PF_ALIGNWARN things removed we again have
2 bits free in flags.

And that's the amount -rt consumes (it adds 2 more: I'm a $FOO thread,
flags).

But having looked at it, I came up with the compress I'm a $FOO thread,
idea. Which would free up a few more bits for future use.

At that time Thomas suggested I move it into a separate field, and then
Linus said, don't compact the types, simply transfer the bits we have.

Anyway, it was all very much RFC.. and comments I got :-)

So can you agree with Linus' proposal of simply moving all type like
bits over to a new word, or would you rather see the linear type field
with an extra helper; possibly part of the existing ->flags field?