Re: [PATCH 1/5] sched: make struct task_struct::state 32-bit

From: Alexey Dobriyan
Date: Mon Feb 08 2021 - 09:48:04 EST


On Mon, Feb 08, 2021 at 11:39:25AM +0100, Peter Zijlstra wrote:
> On Sat, Feb 06, 2021 at 06:18:32PM +0300, Alexey Dobriyan wrote:
> > 32-bit accesses are shorter than 64-bit accesses on x86_64.
> > Nothing uses 64-bitness of struct task_struct::state.
> >
> > Propagate 32-bitness to other variables and functions.
>
> You're saving a handful of bytes, why?

Eeh? To save handful of bytes.

> > --- a/include/linux/sched.h
> > +++ b/include/linux/sched.h
> > @@ -655,7 +655,7 @@ struct task_struct {
> > struct thread_info thread_info;
> > #endif
> > /* -1 unrunnable, 0 runnable, >0 stopped: */
> > - volatile long state;
> > + volatile int state;
>
> A much larger, but probably more useful cleanup would be to get rid of
> that volatile.

volatile is separate patch. It is independent of ->state type.
I didn't think about this specific volatile at all.