Re: [Lhms-devel] Re: [Patch] New zone ZONE_EASY_RECLAIM take 4. (disable gfp_easy_reclaim bit)[5/8]

Yasunori Goto
2006-01-06T01:37:29Z

> On (05/01/06 19:59), Yasunori Goto didst pronounce:
> > > On (05/01/06 14:43), Yasunori Goto didst pronounce:
> > > > >
> > > > > > ===================================================================
> > > > > > --- zone_reclaim.orig/fs/pipe.c 2005-12-16 18:36:20.000000000 +0900
> > > > > > +++ zone_reclaim/fs/pipe.c 2005-12-16 19:15:35.000000000 +0900
> > > > > > @@ -284,7 +284,7 @@ pipe_writev(struct file *filp, const str
> > > > > > int error;
> > > > > >
> > > > > > if (!page) {
> > > > > > - page = alloc_page(GFP_HIGHUSER);
> > > > > > + page = alloc_page(GFP_HIGHUSER & ~__GFP_EASY_RECLAIM);
> > > > > > if (unlikely(!page)) {
> > > > > > ret = ret ? : -ENOMEM;
> > > > > > break;
> > > > >
> > > > > That is a bit hard to understand. How about a new GFP_HIGHUSER_HARD or
> > > > > somesuch define back in patch 1, then use it here?
> > > >
> > > > It looks better. Thanks for your idea.
> > > >
> > >
> > > There are other places where GFP_HIGHUSER is used for pages that are not easily
> > > reclaimed. It is easier clearer to add __GFP_EASY_RECLAIM at the places you
> > > know pages are easily reclaimed rather than removing __GFP_EASY_RECLAIM from
> > > awkward places.
> >
> > I thought that other pages can be migrated by Chlistoph-san's (and
> > Kame-san's) patch.
>
> Then the pages are not "easily reclaimed", they can just be moved by
> some other mechanism.

Ah. My naming was no good. :-(

> > May I ask which page should be no EASY_RECLAIM?
>
> Based on http://lxr.linux.no/ident?i=GFP_HIGHUSER, examples include HugeTLB
> pages, pages allocated by the infiniband driver, pages allocated by the NFS
> driver and inode pages.

Hmmmm.
Ok. Your proposal looks better.

Thanks.