[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2] xen/arm: gic-v3-lpi: Allocate the pending table while preparing the CPU
Hi, On 17/05/2022 09:58, Bertrand Marquis wrote: On 16 May 2022, at 18:02, Julien Grall <julien@xxxxxxx> wrote: From: Julien Grall <jgrall@xxxxxxxxxx> Commit 88a037e2cfe1 "page_alloc: assert IRQs are enabled in heap alloc/free" extended the checks in the buddy allocator to catch any use of the helpers from context with interrupts disabled. Unfortunately, the rule is not followed in the LPI code when allocating the pending table: (XEN) Xen call trace: (XEN) [<000000000022a678>] alloc_xenheap_pages+0x178/0x194 (PC) (XEN) [<000000000022a670>] alloc_xenheap_pages+0x170/0x194 (LR) (XEN) [<0000000000237770>] _xmalloc+0x144/0x294 (XEN) [<00000000002378d4>] _xzalloc+0x14/0x30 (XEN) [<000000000027b4e4>] gicv3_lpi_init_rdist+0x54/0x324 (XEN) [<0000000000279898>] arch/arm/gic-v3.c#gicv3_cpu_init+0x128/0x46 (XEN) [<0000000000279bfc>] arch/arm/gic-v3.c#gicv3_secondary_cpu_init+0x20/0x50 (XEN) [<0000000000277054>] gic_init_secondary_cpu+0x18/0x30 (XEN) [<0000000000284518>] start_secondary+0x1a8/0x234 (XEN) [<0000010722aa4200>] 0000010722aa4200 (XEN) (XEN) (XEN) **************************************** (XEN) Panic on CPU 2: (XEN) Assertion '!in_irq() && (local_irq_is_enabled() || num_online_cpus() <= 1)' failed at common/page_alloc.c:2212 (XEN) **************************************** For now the patch extending the checks has been reverted, but it would be good to re-introduce it (allocation with interrupt is not desirable). The logic is reworked to allocate the pending table when preparing the CPU. Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx>With the print fixed as pointed by Michal you can add my: Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx> Thanks! (Fix could be done on commit but that is up to you). I have fixed it and committed it. Cheers, -- Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |