Re: [PATCH 00/89] Major reorganization of <linux/sched.h>

From: Ingo Molnar
Date: Mon Feb 06 2017 - 17:14:18 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Mon, Feb 6, 2017 at 5:28 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > So 25+ years ago, in Linux-0.01, include/linux/sched.h was already
> > the biggest core kernel header file: [...]
>
> Ok, so having tried to look through this series I do like it, but I'd be
> *really* much happier if more of it was just verifiably a semantic no-op.

Yeah - that was the intention.

It's really hard to verify it in an automated fashion I think, in a cross arch
way. I did a sizeof(task_struct) before/after check on x86 defconfig, which did
not uncover the extra pointer on CONFIG_TASK_DELAY_ACCT=n, because defconfig has
that enabled...

On the latest tree I've done a wider test of sizeof(task_struct):

allnoconfig defconfig allmodconfig
-----------------------------------------------------------
before: 0x1400 0x19c0 0x3f00
after: 0x1400 0x19c0 0x3f00

Which seems to support my intention that the series should be an overall invariant
on 'struct task_struct' semantics.

> There were all those small things in there (Peter pointed out those cpumask
> things I wouldn't for the life of me have noticed) that were really subtle, and
> were really hidden by the fact that there was just a lot of non-semantic
> changes.

I think the ->cpus_allowed bugs Peter noticed are pre-existing - that patch
doesn't intend to make any semantic changes.

Thanks,

Ingo