Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c0b1351 authored by Johannes Weiner's avatar Johannes Weiner Committed by Linus Torvalds
Browse files

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: default avatarJohannes Weiner <hannes@cmpxchg.org>
Reviewed-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 401a8e1c
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
 * page_is_file_cache - should the page be on a file LRU or anon LRU?
 * @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.
 * Used by functions that manipulate the LRU lists, to sort a page
 * onto the right LRU list.
@@ -16,11 +16,7 @@
 */
static inline int page_is_file_cache(struct page *page)
{
	if (PageSwapBacked(page))
		return 0;

	/* The page is page cache backed by a normal filesystem. */
	return LRU_FILE;
	return !PageSwapBacked(page);
}

static inline void
+3 −3
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ int putback_lru_pages(struct list_head *l)
	list_for_each_entry_safe(page, page2, l, lru) {
		list_del(&page->lru);
		dec_zone_page_state(page, NR_ISOLATED_ANON +
				    !!page_is_file_cache(page));
				page_is_file_cache(page));
		putback_lru_page(page);
		count++;
	}
@@ -701,7 +701,7 @@ static int unmap_and_move(new_page_t get_new_page, unsigned long private,
 		 */
 		list_del(&page->lru);
		dec_zone_page_state(page, NR_ISOLATED_ANON +
				    !!page_is_file_cache(page));
				page_is_file_cache(page));
		putback_lru_page(page);
	}

@@ -751,7 +751,7 @@ int migrate_pages(struct list_head *from,
	local_irq_save(flags);
	list_for_each_entry(page, from, lru)
		__inc_zone_page_state(page, NR_ISOLATED_ANON +
				      !!page_is_file_cache(page));
				page_is_file_cache(page));
	local_irq_restore(flags);

	if (!swapwrite)
+1 −1
Original line number Diff line number Diff line
@@ -189,7 +189,7 @@ void activate_page(struct page *page)
		add_page_to_lru_list(zone, page, lru);
		__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);
}
+1 −1
Original line number Diff line number Diff line
@@ -821,7 +821,7 @@ int __isolate_lru_page(struct page *page, int mode, int file)
	if (mode != ISOLATE_BOTH && (!PageActive(page) != !mode))
		return ret;

	if (mode != ISOLATE_BOTH && (!page_is_file_cache(page) != !file))
	if (mode != ISOLATE_BOTH && page_is_file_cache(page) != file)
		return ret;

	/*