Re: [PATCH] mm: clarify usage of GFP_ATOMIC in !preemptible contexts

From: David Hildenbrand
Date: Tue Sep 29 2020 - 09:30:16 EST


On 29.09.20 14:30, Michal Hocko wrote:
> From: Michal Hocko <mhocko@xxxxxxxx>
>
> There is a general understanding that GFP_ATOMIC/GFP_NOWAIT are
> to be used from atomic contexts. E.g. from within a spin lock or from
> the IRQ context. This is correct but there are some atomic contexts
> where the above doesn't hold. One of them would be an NMI context.
> Page allocator has never supported that and the general fear of this
> context didn't let anybody to actually even try to use the allocator
> there. Good, but let's be more specific about that.
>
> Another such a context, and that is where people seem to be more daring,
> is raw_spin_lock. Mostly because it simply resembles regular spin lock
> which is supported by the allocator and there is not any implementation
> difference with !RT kernels in the first place. Be explicit that such
> a context is not supported by the allocator. The underlying reason is
> that zone->lock would have to become raw_spin_lock as well and that has
> turned out to be a problem for RT
> (http://lkml.kernel.org/r/87mu305c1w.fsf@xxxxxxxxxxxxxxxxxxxxxxx).

Interesting

Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>

--
Thanks,

David / dhildenb