Re: [PULL] cpumask tree

Ingo Molnar
2009-01-03T17:45:52Z

* Mike Travis <travis@sgi.com> wrote:

> > yep, that's the bad one. Should i revert it or do you have a safe fix
> > in mind?
>
> Probably revert for now. [...]

done.

But -tip testing found another bug today as well, a boot crash with
certain (rare) 64-bit configs:

[ 1.588202] ACPI: PCI Interrupt Link [LNKA] (IRQs<1>BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
[ 1.588012] IP: [<ffffffff80239778>] find_busiest_group+0x198/0xa20

[ 1.588048] Call Trace:
[ 1.588049] <IRQ> <0> [<ffffffff80240f96>] rebalance_domains+0x196/0x5e0
[ 1.588052] [<ffffffff80270b15>] ? lock_release_holdtime+0x35/0x1e0
[ 1.588055] [<ffffffff80983f70>] ? _spin_unlock_irq+0x30/0x40
[ 1.588058] [<ffffffff8024300e>] run_rebalance_domains+0x4e/0x120
[ 1.588060] [<ffffffff8024f80c>] __do_softirq+0xac/0x190
[ 1.588063] [<ffffffff8020d13c>] call_softirq+0x1c/0x30
[ 1.588066] [<ffffffff8020ef35>] do_softirq+0x75/0xa0
[ 1.588067] [<ffffffff8024f47d>] irq_exit+0x9d/0xb0
[ 1.588069] [<ffffffff80984f5d>] smp_apic_timer_interrupt+0x8d/0xc3
[ 1.588071] [<ffffffff8020cb73>] apic_timer_interrupt+0x13/0x20

i just bisected it back to:

| 74c5409893751c400547184751410c61930043b2 is first bad commit
| commit 74c5409893751c400547184751410c61930043b2
| Author: Mike Travis <travis@sgi.com>
| Date: Wed Dec 31 18:08:45 2008 -0800
|
| x86: cleanup remaining cpumask_t ops in smpboot code
|
| Impact: Reduce memory usage and use new cpumask API.

this is in the final pieces of changes you did after pulling Rusty's tree:

26e2013: x86: setup_per_cpu_areas() cleanup
44aa683: cpumask: fix compile error when CONFIG_NR_CPUS is not defined
eeff031: cpumask: use alloc_cpumask_var_node where appropriate
40fbcb0: cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var
197e99c: x86: use cpumask_var_t in acpi/boot.c
2d22bd5: x86: cleanup remaining cpumask_t code in microcode_core.c
22022f5: x86: cleanup remaining cpumask_t code in mce_amd_64.c
b5f3096: x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids
efb897c: sched: put back some stack hog changes that were undone in kernel/sched.c
74c5409: x86: cleanup remaining cpumask_t ops in smpboot code
8627b2a: x86: enable cpus display of kernel_max and offlined cpus
095fb96: Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/ru

i think i'll just rebase the tail portion of cpus4096 starting at 8627b2a
- this keeps most of the history intact and avoids these ugly reverts.

Also, while bisecting this window of commits i found that neither would
build successfully due to a typo - and the typo is fixed in 095fb96. So
since we rebase this portion anyway due to excessive amount of bugs, i'll
make it fully bisectable by rebasing right at 095fb96, backmerge the
fixlet from eeff031 and redo the whole series dropping the two bad
patches. Since this portion of the tree has no appreciable testing value
the rebase is the right thing to do here.

Ingo