Patch "ia64: mca: allocate early mca with GFP_ATOMIC" has been added to the 4.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ia64: mca: allocate early mca with GFP_ATOMIC

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ia64-mca-allocate-early-mca-with-gfp_atomic.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 80b9e13179a23b13e11e67676b028972bda7a38b
Author: Sergei Trofimovich <slyfox@xxxxxxxxxx>
Date:   Wed Mar 24 21:37:38 2021 -0700

    ia64: mca: allocate early mca with GFP_ATOMIC
    
    [ Upstream commit f2a419cf495f95cac49ea289318b833477e1a0e2 ]
    
    The sleep warning happens at early boot right at secondary CPU
    activation bootup:
    
        smp: Bringing up secondary CPUs ...
        BUG: sleeping function called from invalid context at mm/page_alloc.c:4942
        in_atomic(): 0, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/1
        CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.12.0-rc2-00007-g79e228d0b611-dirty #99
        ..
        Call Trace:
          show_stack+0x90/0xc0
          dump_stack+0x150/0x1c0
          ___might_sleep+0x1c0/0x2a0
          __might_sleep+0xa0/0x160
          __alloc_pages_nodemask+0x1a0/0x600
          alloc_page_interleave+0x30/0x1c0
          alloc_pages_current+0x2c0/0x340
          __get_free_pages+0x30/0xa0
          ia64_mca_cpu_init+0x2d0/0x3a0
          cpu_init+0x8b0/0x1440
          start_secondary+0x60/0x700
          start_ap+0x750/0x780
        Fixed BSP b0 value from CPU 1
    
    As I understand interrupts are not enabled yet and system has a lot of
    memory.  There is little chance to sleep and switch to GFP_ATOMIC should
    be a no-op.
    
    Link: https://lkml.kernel.org/r/20210315085045.204414-1-slyfox@xxxxxxxxxx
    Signed-off-by: Sergei Trofimovich <slyfox@xxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index 2889412e03eb..0d5b64ddcdd1 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -1858,7 +1858,7 @@ ia64_mca_cpu_init(void *cpu_data)
 			data = mca_bootmem();
 			first_time = 0;
 		} else
-			data = (void *)__get_free_pages(GFP_KERNEL,
+			data = (void *)__get_free_pages(GFP_ATOMIC,
 							get_order(sz));
 		if (!data)
 			panic("Could not allocate MCA memory for cpu %d\n",



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux