Re: [PATCH v2] page_alloc: assert IRQs are enabled in heap alloc/free

2022-04-21 Thread Jan Beulich
On 21.04.2022 14:23, David Vrabel wrote: > On 21/04/2022 12:38, Jan Beulich wrote: >> On 21.04.2022 12:43, David Vrabel wrote: >>> --- a/xen/arch/arm/setup.c >>> +++ b/xen/arch/arm/setup.c >>> @@ -984,6 +984,8 @@ void __init start_xen(unsigned long boot_phys_offset, >>> >>>

Re: [PATCH v2] page_alloc: assert IRQs are enabled in heap alloc/free

2022-04-21 Thread David Vrabel
On 21/04/2022 12:38, Jan Beulich wrote: On 21.04.2022 12:43, David Vrabel wrote: --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -984,6 +984,8 @@ void __init start_xen(unsigned long boot_phys_offset, console_init_postirq(); +system_state = SYS_STATE_smp_boot +

Re: [PATCH v2] page_alloc: assert IRQs are enabled in heap alloc/free

2022-04-21 Thread Jan Beulich
On 21.04.2022 12:43, David Vrabel wrote: > --- a/xen/arch/arm/setup.c > +++ b/xen/arch/arm/setup.c > @@ -984,6 +984,8 @@ void __init start_xen(unsigned long boot_phys_offset, > > console_init_postirq(); > > +system_state = SYS_STATE_smp_boot > + > do_presmp_initcalls(); > >

[PATCH v2] page_alloc: assert IRQs are enabled in heap alloc/free

2022-04-21 Thread David Vrabel
From: David Vrabel Heap pages can only be safely allocated and freed with interuupts enabled as they may require a TLB flush which will send IPIs. Normally spinlock debugging would catch calls from the incorrect context, but not from stop_machine_run() action functions as these are called with