2020년 9월 29일 (화) 오후 1:50, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>님이 작성: > > On Tue, 29 Sep 2020 10:28:05 +0900 Joonsoo Kim <js1304@xxxxxxxxx> 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.