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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>