Messages in this thread | | | From | Joonsoo Kim <> | Date | Tue, 29 Sep 2020 15:46:02 +0900 | Subject | Re: [PATCH v2 for v5.9] mm/page_alloc: handle a missing case for memalloc_nocma_{save/restore} APIs |
| |
2020년 9월 29일 (화) 오후 1:50, Andrew Morton <akpm@linux-foundation.org>님이 작성: > > On Tue, 29 Sep 2020 10:28:05 +0900 Joonsoo Kim <js1304@gmail.com> wrote: > > > > What about manually emptying the pcplists beforehand? > > > > It also increases the probability. schedule() or interrupt after emptying but > > before the allocation could invalidate the effect. > > Keep local interrupts disabled across the pcp drain and the allocation > attempt.
As said before, it's an allocation context API and actual allocation happens later. Doing such things there is not an easy job.
> > > Or byassing the pcplists for this caller and calling __rmqueue() directly? > > > > What this patch does is this one. > > I meant via a different function rather than by adding overhead to the > existing commonly-used function.
Got it. One idea could be disabling/enabling pcp list on these APIs but it's overhead would not be appropriate on these APIs. I don't have another idea that doesn't touch the allocation path.
Thanks.
| |