Re: [PATCH 0/3] nohz: Convert tick dependency mask to atomic_t

From: Linus Torvalds
Date: Tue Mar 29 2016 - 08:23:36 EST


On Tue, Mar 29, 2016 at 4:44 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> Harmonizing thread_info::flags does not look easy, given how much assembly code
> accesses this field.

It might not be too bad.

For 32-bit architectures (which is still most of them), it's just a

unsigned int/long -> atomic_t

and for 64-bit architectures you end up with three choices:

- it's already 32-bit (alpha, ia64, x86):

unsigned int -> atomic_t

- little-endian long:

atomic_t flags
unsigned int padding;

- big-endian long (only powerpc? Maybe there's a big-endian MIPS still?)

unsigned int padding;
atomic_t flags;

so you could do that fairly mindlessly. You *could* even use a nasty
macro from hell to do it automatically, with the above rules in some .

Then each architecture could clean itself up and get rid of the
padding field if they want to.

Linus