[ltp] Re: [PATCH 1/2] Thinkpad Suspend Powersave: Fix ACPI's GFP_KERNEL
allocations in contexts that can sleep
Andrew Morton
linux-thinkpad@linux-thinkpad.org
Wed, 16 Mar 2005 13:29:52 -0800
"Theodore Y. Ts'o" <tytso@mit.edu> wrote:
>
> This fixes a problem originally reported by Christian Borntraeger where
> during the wakeup from a suspend-to-ram, several "sleeping function
> called from invalid context" warning messages are issued. Unlike a
> previous patch which attempted to solve this problem, we avoid doing an
> GFP_ATOMIC kmalloc() except when explicitly necessary.
>
> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
>
> Index: src/drivers/acpi/osl.c
> ===================================================================
> --- src.orig/drivers/acpi/osl.c 2005-03-14 09:38:15.000000000 -0500
> +++ src/drivers/acpi/osl.c 2005-03-14 09:38:18.000000000 -0500
> @@ -145,7 +145,7 @@
> void *
> acpi_os_allocate(acpi_size size)
> {
> - return kmalloc(size, GFP_KERNEL);
> + return kmalloc(size, in_atomic() ? GFP_ATOMIC : GFP_KERNEL);
We shouldn't do this. Please see
http://www.uwsg.iu.edu/hypermail/linux/kernel/0503.1/1205.html