Hello, Roman. 2020년 3월 12일 (목) 오전 2:35, Roman Gushchin <guro@xxxxxx>님이 작성: > > On Wed, Mar 11, 2020 at 09:51:07AM +0100, Vlastimil Babka wrote: > > On 3/6/20 9:01 PM, Rik van Riel wrote: > > > Posting this one for Roman so I can deal with any upstream feedback and > > > create a v2 if needed, while scratching my head over the next piece of > > > this puzzle :) > > > > > > ---8<--- > > > > > > From: Roman Gushchin <guro@xxxxxx> > > > > > > Currently a cma area is barely used by the page allocator because > > > it's used only as a fallback from movable, however kswapd tries > > > hard to make sure that the fallback path isn't used. > > > > Few years ago Joonsoo wanted to fix these kinds of weird MIGRATE_CMA corner > > cases by using ZONE_MOVABLE instead [1]. Unfortunately it was reverted due to > > unresolved bugs. Perhaps the idea could be resurrected now? > > Hi Vlastimil! > > Thank you for this reminder! I actually looked at it and also asked Joonsoo in private > about the state of this patch(set). As I understand, Joonsoo plans to resubmit > it later this year. > > What Rik and I are suggesting seems to be much simpler, however it's perfectly > possible that Joonsoo's solution is preferable long-term. > > So if the proposed patch looks ok for now, I'd suggest to go with it and return > to this question once we'll have a new version of ZONE_MOVABLE solution. Hmm... utilization is not the only matter for CMA user. The more important one is success guarantee of cma_alloc() and this patch would have a bad impact on it. A few years ago, I have tested this kind of approach and found that increasing utilization increases cma_alloc() failure. Reason is that the page allocated with __GFP_MOVABLE, especially, by sb_bread(), is sometimes pinned by someone. Until now, cma memory isn't used much so this problem doesn't occur easily. However, with this patch, it would happen. Thanks.