All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ia64: mca: allocate early mca with GFP_ATOMIC
@ 2021-03-15  8:50 Sergei Trofimovich
  2021-03-23 15:15   ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 10+ messages in thread
From: Sergei Trofimovich @ 2021-03-15  8:50 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel; +Cc: Sergei Trofimovich, linux-ia64

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:
     [<a000000100014d10>] show_stack+0x90/0xc0
     [<a000000101111d90>] dump_stack+0x150/0x1c0
     [<a0000001000cbec0>] ___might_sleep+0x1c0/0x2a0
     [<a0000001000cc040>] __might_sleep+0xa0/0x160
     [<a000000100399960>] __alloc_pages_nodemask+0x1a0/0x600
     [<a0000001003b71b0>] alloc_page_interleave+0x30/0x1c0
     [<a0000001003b9b60>] alloc_pages_current+0x2c0/0x340
     [<a00000010038c270>] __get_free_pages+0x30/0xa0
     [<a000000100044730>] ia64_mca_cpu_init+0x2d0/0x3a0
     [<a000000100023430>] cpu_init+0x8b0/0x1440
     [<a000000100054680>] start_secondary+0x60/0x700
     [<a00000010111e1d0>] 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.

CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-ia64@vger.kernel.org
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
 arch/ia64/kernel/mca.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index d4cae2fc69ca..adf6521525f4 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -1824,7 +1824,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",
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-03-24 22:58 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-15  8:50 [PATCH] ia64: mca: allocate early mca with GFP_ATOMIC Sergei Trofimovich
2021-03-23 15:15 ` John Paul Adrian Glaubitz
2021-03-23 15:15   ` John Paul Adrian Glaubitz
2021-03-23 17:47   ` Sergei Trofimovich
2021-03-24 10:20     ` John Paul Adrian Glaubitz
2021-03-24 10:20       ` John Paul Adrian Glaubitz
2021-03-24 22:39       ` Andrew Morton
2021-03-24 22:39         ` Andrew Morton
2021-03-24 22:57         ` John Paul Adrian Glaubitz
2021-03-24 22:57           ` John Paul Adrian Glaubitz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.