Re: [x86-tip] strange nr_cpus= boot regression

From: Mike Galbraith
Date: Mon Sep 26 2016 - 10:27:19 EST


On Mon, 2016-09-26 at 15:40 +0200, Borislav Petkov wrote:
> On Mon, Sep 26, 2016 at 02:39:53PM +0200, Mike Galbraith wrote:
> > On Mon, 2016-09-26 at 14:29 +0200, Mike Galbraith wrote:
> >
> > > Checkout timers/core, and merge nodeid, and all is well. I'm
> > > currently
> > > bisecting the result against HEAD.. which will likely be about as
> > > useful as the last five bisections, but ya never know. (ok git,
> > > finger
> > > somebody already [hotplug] and call it a day)
> >
> > That came out backward, though it shouldn't matter. I checked out
> > nodeid, and merged timers/core into it, which works fine.
>
> Ok, I can confirm the same observation without *any* command line
> options diminishing the number of CPUs. I'm booting with halved CPU
> numbers. Here's a coarse bisect of the merge commits of tip/master:
>
> ...
> e47f2e50ead9 Merge tag 'configfs-for-4.8-2' of
> git://git.infradead.org/users/hch/configfs
> d24efa23e93c Merge branch 'x86/apic'
>
> <--- v4.8-rc7-714-gcdcef608a13d: bad
>
> cdcef608a13d Merge branch 'linus'
> 450df5cb5cad Merge branch 'x86/vdso'
> 2f2c2f35ddbf Merge branch 'x86/timers'
> 782795482a9e Merge branch 'x86/platform'
> 1200484cdb51 Merge branch 'x86/cleanups'
> b1591e618894 Merge branch 'x86/boot'
> 5b8b44cc2d19 Merge branch 'x86/asm'
>
> <--- v4.8-rc7-496-g20eefd15d70: bad
>
> 20eefd15d70f Merge branch 'x86/apic'
>
> <--- v4.8-rc7-475-gb468c89ee756: OK
>
> b468c89ee756 Merge branch 'timers/core'
>
> <--- v4.8-rc7-454-g4be273986460: OK
>
> 4be273986460 Merge branch 'smp/hotplug'
>
> <--- v4.8-rc7-405-g1eaa05b665b0: OK
>
> 1eaa05b665b0 Merge branch 'sched/core'
> b820db731394 Merge branch 'ras/core'
> 689d1113c7ba Merge branch 'perf/core'
> f93add128c73 Merge branch 'mm/pkeys'
> f0be67cb6c64 Merge branch 'locking/urgent'
> ab5f266b0b55 Merge branch 'locking/core'
> c69a1dec2a36 Merge branch 'irq/core'
> 87671cd5fb60 Merge branch 'efi/core'
> 51e5767069c8 Merge branch 'core/smp'
> 85202a2289d2 Merge branch 'core/rcu'
> ...
>

Arrrg.

20eefd15d70f297c7e193e087ed4103b47c2e312 is the first bad commit
git bisect start
# good: [bd0c06c62f40fb2c1443729e42956a6e4045e791] Merge remote-tracking branch 'x86-tip/timers/core' into nodeid
git bisect good bd0c06c62f40fb2c1443729e42956a6e4045e791
# bad: [a04c42e40060130bb05eecb64df2c1cc8f48ab43] Merge branch 'linus'
git bisect bad a04c42e40060130bb05eecb64df2c1cc8f48ab43
# good: [b536fd587044af02183b3c02690431b93154f0fa] timekeeping: Include the correct header for errno definitions
git bisect good b536fd587044af02183b3c02690431b93154f0fa
# good: [fd74da217df7d4bd25e95411da64e0b92762842e] acpi: Validate processor id when mapping the processor
git bisect good fd74da217df7d4bd25e95411da64e0b92762842e
# good: [739f1bcd045f473d79358aac94439722d41a2650] Merge branch 'perf/urgent' into perf/core, to pick up fixes
git bisect good 739f1bcd045f473d79358aac94439722d41a2650
# good: [1eaa05b665b08cd13235f6f430a5214d8b8a3c87] Merge branch 'sched/core'
git bisect good 1eaa05b665b08cd13235f6f430a5214d8b8a3c87
# bad: [2f2c2f35ddbf49372db8056b25c2221161d02e75] Merge branch 'x86/timers'
git bisect bad 2f2c2f35ddbf49372db8056b25c2221161d02e75
# good: [71f5443ebb1227c22e8decbcd28a1ea6deaf8257] x86/dumpstack: Fix show_stack() task pointer regression
git bisect good 71f5443ebb1227c22e8decbcd28a1ea6deaf8257
# good: [e476d3129100ba18daea2224f38fdd7195118d4b] mips/loongson/smp: Convert to hotplug state machine
git bisect good e476d3129100ba18daea2224f38fdd7195118d4b
# good: [58cbbee2391ce3876e6eee80a4f2a7f025859c52] x86/platform/mellanox: Introduce support for Mellanox systems platform
git bisect good 58cbbee2391ce3876e6eee80a4f2a7f025859c52
# bad: [5b8b44cc2d19500e981f492d3d96f85a7007e4ff] Merge branch 'x86/asm'
git bisect bad 5b8b44cc2d19500e981f492d3d96f85a7007e4ff
# good: [0bf71e4d02ffec8ab9a6adecca61d3eed74fc99d] Merge branch 'smp/for-block' into smp/hotplug
git bisect good 0bf71e4d02ffec8ab9a6adecca61d3eed74fc99d
# good: [b468c89ee7568999dfc575da56841694c118164a] Merge branch 'timers/core'
git bisect good b468c89ee7568999dfc575da56841694c118164a
# bad: [20eefd15d70f297c7e193e087ed4103b47c2e312] Merge branch 'x86/apic'
git bisect bad 20eefd15d70f297c7e193e087ed4103b47c2e312
# first bad commit: [20eefd15d70f297c7e193e087ed4103b47c2e312] Merge branch 'x86/apic'

Well, that helped.. not at all.

(headbutts box.. nope not the right tool either, maybe traceprintk;)