mm: return boolean from page_is_file_cache()
page_is_file_cache() has been used for both boolean checks and LRU arithmetic, which was always a bit weird. Now that page_lru_base_type() exists for LRU arithmetic, make page_is_file_cache() a real predicate function and adjust the boolean-using callsites to drop those pesky double negations. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> 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:
parent
401a8e1c16
commit
6c0b13519d
|
@ -5,7 +5,7 @@
|
||||||
* page_is_file_cache - should the page be on a file LRU or anon LRU?
|
* page_is_file_cache - should the page be on a file LRU or anon LRU?
|
||||||
* @page: the page to test
|
* @page: the page to test
|
||||||
*
|
*
|
||||||
* Returns LRU_FILE if @page is page cache page backed by a regular filesystem,
|
* Returns 1 if @page is page cache page backed by a regular filesystem,
|
||||||
* or 0 if @page is anonymous, tmpfs or otherwise ram or swap backed.
|
* or 0 if @page is anonymous, tmpfs or otherwise ram or swap backed.
|
||||||
* Used by functions that manipulate the LRU lists, to sort a page
|
* Used by functions that manipulate the LRU lists, to sort a page
|
||||||
* onto the right LRU list.
|
* onto the right LRU list.
|
||||||
|
@ -16,11 +16,7 @@
|
||||||
*/
|
*/
|
||||||
static inline int page_is_file_cache(struct page *page)
|
static inline int page_is_file_cache(struct page *page)
|
||||||
{
|
{
|
||||||
if (PageSwapBacked(page))
|
return !PageSwapBacked(page);
|
||||||
return 0;
|
|
||||||
|
|
||||||
/* The page is page cache backed by a normal filesystem. */
|
|
||||||
return LRU_FILE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
|
|
@ -68,7 +68,7 @@ int putback_lru_pages(struct list_head *l)
|
||||||
list_for_each_entry_safe(page, page2, l, lru) {
|
list_for_each_entry_safe(page, page2, l, lru) {
|
||||||
list_del(&page->lru);
|
list_del(&page->lru);
|
||||||
dec_zone_page_state(page, NR_ISOLATED_ANON +
|
dec_zone_page_state(page, NR_ISOLATED_ANON +
|
||||||
!!page_is_file_cache(page));
|
page_is_file_cache(page));
|
||||||
putback_lru_page(page);
|
putback_lru_page(page);
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
@ -701,7 +701,7 @@ unlock:
|
||||||
*/
|
*/
|
||||||
list_del(&page->lru);
|
list_del(&page->lru);
|
||||||
dec_zone_page_state(page, NR_ISOLATED_ANON +
|
dec_zone_page_state(page, NR_ISOLATED_ANON +
|
||||||
!!page_is_file_cache(page));
|
page_is_file_cache(page));
|
||||||
putback_lru_page(page);
|
putback_lru_page(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -751,7 +751,7 @@ int migrate_pages(struct list_head *from,
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
list_for_each_entry(page, from, lru)
|
list_for_each_entry(page, from, lru)
|
||||||
__inc_zone_page_state(page, NR_ISOLATED_ANON +
|
__inc_zone_page_state(page, NR_ISOLATED_ANON +
|
||||||
!!page_is_file_cache(page));
|
page_is_file_cache(page));
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
||||||
if (!swapwrite)
|
if (!swapwrite)
|
||||||
|
|
|
@ -189,7 +189,7 @@ void activate_page(struct page *page)
|
||||||
add_page_to_lru_list(zone, page, lru);
|
add_page_to_lru_list(zone, page, lru);
|
||||||
__count_vm_event(PGACTIVATE);
|
__count_vm_event(PGACTIVATE);
|
||||||
|
|
||||||
update_page_reclaim_stat(zone, page, !!file, 1);
|
update_page_reclaim_stat(zone, page, file, 1);
|
||||||
}
|
}
|
||||||
spin_unlock_irq(&zone->lru_lock);
|
spin_unlock_irq(&zone->lru_lock);
|
||||||
}
|
}
|
||||||
|
|
|
@ -821,7 +821,7 @@ int __isolate_lru_page(struct page *page, int mode, int file)
|
||||||
if (mode != ISOLATE_BOTH && (!PageActive(page) != !mode))
|
if (mode != ISOLATE_BOTH && (!PageActive(page) != !mode))
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (mode != ISOLATE_BOTH && (!page_is_file_cache(page) != !file))
|
if (mode != ISOLATE_BOTH && page_is_file_cache(page) != file)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue