[3.14] core onlining/hotplug regression

From: Daniel J Blueman
Date: Fri Jul 25 2014 - 04:27:44 EST

Hi Thomas et al,

On a larger x86 system with 1728 cores, 3.15(.6) asserts on smpboot_thread_fn's td->cpu != smp_processor_id() consistently after ~1500 cores are online.

Reverting the only directly related changes I could find [1,2] doesn't help. Debugging indicates there is a race where the created thread is quickly migrated to core 0 when this occurs, since smp_processor_id returns 0 in these cases. Thomas introduced a thread parked state to fix related issues a year back. Linux 3.14(.13) boots just nice.

Full boot output is at:

Any theories so far? I'll start bisecting when I have full access to the system again in a week and I'll do some more debugging with intermittent access before then.


-- [1]

commit 81c98869faa5f3a9457c93efef908ef476326b31
Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 3 14:46:25 2014 -0700
kthread: ensure locality of task_struct allocations

-- [2]

commit 89f898c1e195fa6235c869bb457e500b7b3ac49d
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jun 5 15:42:43 2014 +0200

x86: Fix list/memory corruption on CPU hotplug
Daniel J Blueman
Principal Software Engineer, Numascale
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/