summaryrefslogtreecommitdiff
path: root/include/linux/init_task.h
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2003-08-20 10:29:07 -0700
committerLinus Torvalds <torvalds@home.osdl.org>2003-08-20 10:29:07 -0700
commite3e0c299196a8dac91d2bd8e8dbb748d3a7b0f24 (patch)
tree0577e0becd29659da6ee798ea6e2b1d11e51053c /include/linux/init_task.h
parent10d3766014d576e6f7be990d12133db3e844ac69 (diff)
[PATCH] Fix CPU boot problem
From: Dave Hansen <haveblue@us.ibm.com> Hmmm. This is looking like fallout from the massive wli-bomb. Here's the loop that controls the cpu booting, before and after cpumask_t: - for (bit = 0; kicked < NR_CPUS && bit < BITS_PER_LONG; bit++) + for (bit = 0; kicked < NR_CPUS && bit < MAX_APICS; bit++) apicid = cpu_present_to_apicid(bit); "kicked" only gets incremented for CPUs that were successfully booted, so it doesn't help terminate the loop much. MAX_APICS is 256 on summit, which is *MUCH* bigger than BITS_PER_LONG. cpu_2_logical_apicid[NR_CPUS] which is referenced from cpu_present_to_apicid() is getting referenced up to MAX_APICs, which is bigger than NR_CPUS. Overflow. Bang. garbage != BAD_APICID :)
Diffstat (limited to 'include/linux/init_task.h')
0 files changed, 0 insertions, 0 deletions