On 11/14/2012 03:51 PM, Prarit Bhargava wrote: > When booting F18 on a 32 cpu system I repeatedly see errors like: > > PERCPU: allocation failed, size=320 align=32, alloc from reserved chunk failed > Pid: 620, comm: udevd Not tainted 3.7.0-0.rc5.git1.2.fc19.x86_64 #1 > Call Trace: > [<ffffffff81186c7d>] pcpu_alloc+0x9dd/0xa40 > [<ffffffff810e8b5a>] ? mod_verify_sig+0x39a/0x460 > [<ffffffff810e1f2e>] ? find_sec+0x5e/0x90 > [<ffffffff81186f83>] __alloc_reserved_percpu+0x13/0x20 > [<ffffffff810e5b5f>] load_module+0x40f/0x2290 > [<ffffffff812e68b2>] ? cred_has_capability+0x62/0x100 > [<ffffffff8109a333>] ? up_write+0x23/0x40 > [<ffffffff810e7a32>] sys_init_module+0x52/0x230 > [<ffffffff816fb799>] system_call_fastpath+0x16/0x1b > kvm: Could not allocate 320 bytes percpu data > > > This occurs because the lockdep code is allocating a giant chunk of memory in > the percpu data: > > On 3.6.6-1: > > 14940 (D) __per_cpu_end > > On 3.7.0-0: > > 1d5900 (D) __per_cpu_end > > and in 3.7.0-0, a dump of the symbol map shows > > efc0 (V) tstats_lookup_lock > f020 (V) cpu_lock_stats > 1cef40 (V) stop_cpus_work > 1cef80 (V) cpu_stopper > > ie) the cpu_lock_stats takes up a huge chunk of the per_cpu memory. > > I'm not sure what can be done about this; I suppose we could expand the reserved > area to allow for more module percpu allocation ... > My explanation above isn't correct, however, the solution is likely the same. I'll post on LKML ... P. _______________________________________________ kernel mailing list kernel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/kernel