Re: [PATCH] move task_struct allocation to arch

From: Roman Zippel (zippel@linux-m68k.org)
Date: Fri Feb 15 2002 - 08:49:23 EST


Hi,

On Fri, 15 Feb 2002, David Howells wrote:

> Firstly, in response to me having supplied a patch that made a set of four
> byte-size values as the status area in the task_struct:
>
> | For the future, the biggest thing I'd like to see is actually to make
> | "work" be a bitmap, because the "bytes are atomic" approach simply isn't
> | portable anyway, so we might as well make things _explicitly_ atomic and
> | use bit operations. Otherwise the alpha version of "work" would have to be
> | four bytes per "bit" of information, which sounds really excessive.

As I mentioned before I more like the byte approach, since atomic bit
field handling is quite expensive on most architectures, where a simple
set/clear byte is only one or two instructions, if there is byte
load/store instruction. So I'd really like to see to leave the decision to
the architecture, whether to use bit or byte fields.

> And then after some discussion:
>
> | In particular, there's been all that discussion about cache-coloring the
> | "struct task_struct", and my personal suggestion for that whole can of
> | worms is to have the "struct low_level" be in the one low cache-line, and
> | make it contain a pointer to "struct task_struct" - and just split the two
> | up completely. Then the low-level asm code would never have to even look
> | at "task_struct", it would only look at this stuff.
>
> (struct low_level became thread_info).

That I can agree with. :)

bye, Roman

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Feb 15 2002 - 21:01:07 EST