Re: [PATCH v2 03/10] Change isolate mode from int type to enum type

From: Minchan Kim
Date: Tue May 31 2011 - 09:44:17 EST


On Tue, May 31, 2011 at 03:36:11PM +0200, Johannes Weiner wrote:
> On Mon, May 30, 2011 at 03:13:42AM +0900, Minchan Kim wrote:
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -957,23 +957,29 @@ keep_lumpy:
> > *
> > * returns 0 on success, -ve errno on failure.
> > */
> > -int __isolate_lru_page(struct page *page, int mode, int file)
> > +int __isolate_lru_page(struct page *page, enum ISOLATE_PAGE_MODE mode,
> > + int file)
> > {
> > + int active;
> > int ret = -EINVAL;
> > + BUG_ON(mode & ISOLATE_BOTH &&
> > + (mode & ISOLATE_INACTIVE || mode & ISOLATE_ACTIVE));
> >
> > /* Only take pages on the LRU. */
> > if (!PageLRU(page))
> > return ret;
> >
> > + active = PageActive(page);
> > +
> > /*
> > * When checking the active state, we need to be sure we are
> > * dealing with comparible boolean values. Take the logical not
> > * of each.
> > */
> > - if (mode != ISOLATE_BOTH && (!PageActive(page) != !mode))
> > + if (mode & ISOLATE_ACTIVE && !active)
> > return ret;
> >
> > - if (mode != ISOLATE_BOTH && page_is_file_cache(page) != file)
> > + if (mode & ISOLATE_INACTIVE && active)
> > return ret;
>
> What happened to the check for file pages?

Shame on me. I should not change old behavior.
Will fix on v3.

Thanks, Hannes.

--
Kind regards
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/