[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