Messages in this thread |  | | | Date | Tue, 29 Sep 2009 01:35:36 +0900 | | From | Tejun Heo <> | | Subject | Re: [PATCH] percpu: fix unit_map[] verification in pcpu_setup_first_chunk() |
| |
Christoph Lameter wrote: > On Tue, 29 Sep 2009, Tejun Heo wrote: > >> pcpu_setup_first_chunk() incorrectly used NR_CPUS as the impossible >> unit number while unit number can equal and go over NR_CPUS with >> sparse unit map. This triggers BUG_ON() spuriously on machines which >> have non-power-of-two number of cpus. Use UINT_MAX instead. > > Uhhh. Funky. The assumption nr_cpu_ids < NR_CPUS has been broken. Wonder > what other effects that will have. In particular since the slab and page > allocators have arrays indexed by the cpu number and those arrays are > dimensioned for NR_CPUS.
Heh.. that's not what's broken. unit# can legally go over NR_CPUS or nr_cpu_ids as cpus can be sparsely mapped to units. The problem is that I didn't fix unit_map allocation. Will update the patch. Just a sec.
-- tejun
|  |