On Thu, Apr 16, 2020 at 10:56:36PM +0200, Sebastian Andrzej Siewior wrote: > On 2020-04-16 14:43:48 [-0400], Joel Fernandes wrote: > > > Fair enough! IIRC, get_page() uses non-raw spinlocks, so... > > > > Oh, I see Paul made the same suggestion I did for raw spinlocks. > > > > migrate_disable() is fine, but note that in the later code we will not be > > sleeping even during the get_page(), so I don't see a problem with raw > > spinlock... did I miss something? > > The buddy allocator, which get_page() is using, is using spinlock_t > which is a sleeping lock. You can't have memory allocations within a > raw_spinlock_t section even with GFP_ATOMIC on PREEMPT_RT. Oh, ok! Thanks for the clarification and sorry about the noise. Now I get your motivation with the patch. thanks, - Joel