On Wed, Mar 28, 2018 at 10:15:02AM -0700, Dave Hansen wrote:
> On 03/28/2018 09:55 AM, Kirill A. Shutemov wrote:
> > @@ -51,7 +51,7 @@ static inline struct page *new_page_nodemask(struct page 
> > *page,
> >     if (PageHighMem(page) || (zone_idx(page_zone(page)) == ZONE_MOVABLE))
> >             gfp_mask |= __GFP_HIGHMEM;
> >  
> > -   new_page = __alloc_pages_nodemask(gfp_mask, order,
> > +   new_page = __alloc_pages_nodemask(gfp_mask, order, page_keyid(page),
> >                             preferred_nid, nodemask);
> 
> You're not going to like this suggestion.
> 
> Am I looking at this too superficially, or does every single site into
> which you pass keyid also take a node and gfpmask and often an order?  I
> think you need to run this by the keepers of page_alloc.c and see if
> they'd rather do something more drastic.

Are you talking about having some kind of struct that would indicalte page
allocation context -- gfp_mask + order + node + keyid?

-- 
 Kirill A. Shutemov

Reply via email to