Revision 1fb9341ac34825aa40354e74d9a2c69df7d2c304 authored by Rusty Russell on 12 January 2013, 02:57:34 UTC, committed by Rusty Russell on 12 January 2013, 02:57:46 UTC
Prarit's excellent bug report:
> In recent Fedora releases (F17 & F18) some users have reported seeing
> messages similar to
>
> [   15.478160] kvm: Could not allocate 304 bytes percpu data
> [   15.478174] PERCPU: allocation failed, size=304 align=32, alloc from
> reserved chunk failed
>
> during system boot.  In some cases, users have also reported seeing this
> message along with a failed load of other modules.
>
> What is happening is systemd is loading an instance of the kvm module for
> each cpu found (see commit e9bda3b).  When the module load occurs the kernel
> currently allocates the modules percpu data area prior to checking to see
> if the module is already loaded or is in the process of being loaded.  If
> the module is already loaded, or finishes load, the module loading code
> releases the current instance's module's percpu data.

Now we have a new state MODULE_STATE_UNFORMED, we can insert the
module into the list (and thus guarantee its uniqueness) before we
allocate the per-cpu region.

Reported-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Tested-by: Prarit Bhargava <prarit@redhat.com>
1 parent 0d21b0e
History
File Mode Size
Kconfig -rw-r--r-- 248 bytes
Makefile -rw-r--r-- 992 bytes
af_llc.c -rw-r--r-- 31.0 KB
llc_c_ac.c -rw-r--r-- 35.4 KB
llc_c_ev.c -rw-r--r-- 21.3 KB
llc_c_st.c -rw-r--r-- 149.8 KB
llc_conn.c -rw-r--r-- 27.2 KB
llc_core.c -rw-r--r-- 4.2 KB
llc_if.c -rw-r--r-- 4.4 KB
llc_input.c -rw-r--r-- 5.9 KB
llc_output.c -rw-r--r-- 2.3 KB
llc_pdu.c -rw-r--r-- 10.6 KB
llc_proc.c -rw-r--r-- 6.6 KB
llc_s_ac.c -rw-r--r-- 5.9 KB
llc_s_ev.c -rw-r--r-- 3.5 KB
llc_s_st.c -rw-r--r-- 5.7 KB
llc_sap.c -rw-r--r-- 11.3 KB
llc_station.c -rw-r--r-- 3.2 KB
sysctl_net_llc.c -rw-r--r-- 1.7 KB

back to top