mm: introduce page_lru_base_type()
Instead of abusing page_is_file_cache() for LRU list index arithmetic, add another helper with a more appropriate name and convert the non-boolean users of page_is_file_cache() accordingly. This new helper gives the LRU base type a page is supposed to live on, inactive anon or inactive file. [hugh.dickins@tiscali.co.uk: convert del_page_from_lru() also] Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: Rik van Riel <riel@redhat.com> Cc: Minchan Kim <minchan.kim@gmail.com> Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
b7c46d151c
commit
401a8e1c16
@@ -531,7 +531,7 @@ redo:
|
||||
* unevictable page on [in]active list.
|
||||
* We know how to handle that.
|
||||
*/
|
||||
lru = active + page_is_file_cache(page);
|
||||
lru = active + page_lru_base_type(page);
|
||||
lru_cache_add_lru(page, lru);
|
||||
} else {
|
||||
/*
|
||||
@@ -986,7 +986,7 @@ static unsigned long clear_active_flags(struct list_head *page_list,
|
||||
struct page *page;
|
||||
|
||||
list_for_each_entry(page, page_list, lru) {
|
||||
lru = page_is_file_cache(page);
|
||||
lru = page_lru_base_type(page);
|
||||
if (PageActive(page)) {
|
||||
lru += LRU_ACTIVE;
|
||||
ClearPageActive(page);
|
||||
@@ -2652,7 +2652,7 @@ static void check_move_unevictable_page(struct page *page, struct zone *zone)
|
||||
retry:
|
||||
ClearPageUnevictable(page);
|
||||
if (page_evictable(page, NULL)) {
|
||||
enum lru_list l = LRU_INACTIVE_ANON + page_is_file_cache(page);
|
||||
enum lru_list l = page_lru_base_type(page);
|
||||
|
||||
__dec_zone_state(zone, NR_UNEVICTABLE);
|
||||
list_move(&page->lru, &zone->lru[l].list);
|
||||
|
Reference in New Issue
Block a user