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

From: Johannes Weiner
Date: Tue May 31 2011 - 09:36:24 EST


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?
--
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/