[PATCH] mm/lru: simplify is_file_lru() and is_active_lru()

From: Hui Su
Date: Tue Nov 17 2020 - 12:13:51 EST


lru_list lru bit 0 can tell whether the list is
avtive lru-list or not.
lru_list lru bit 1 can tell whether the list is
file lru-list or not.

And fix some define type in shrink_active_list()
and get_scan_count().

v1->v2:
correct the commit message, and fix the define type.

Signed-off-by: Hui Su <sh_def@xxxxxxx>
---
include/linux/mmzone.h | 4 ++--
mm/vmscan.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index fb3bf696c05e..294369c652d0 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -258,12 +258,12 @@ enum lru_list {

static inline bool is_file_lru(enum lru_list lru)
{
- return (lru == LRU_INACTIVE_FILE || lru == LRU_ACTIVE_FILE);
+ return lru & LRU_FILE;
}

static inline bool is_active_lru(enum lru_list lru)
{
- return (lru == LRU_ACTIVE_ANON || lru == LRU_ACTIVE_FILE);
+ return lru & LRU_ACTIVE;
}

#define ANON_AND_FILE 2
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 7b4e31eac2cf..7d8ea2fc87fc 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2020,7 +2020,7 @@ static void shrink_active_list(unsigned long nr_to_scan,
struct page *page;
unsigned nr_deactivate, nr_activate;
unsigned nr_rotated = 0;
- int file = is_file_lru(lru);
+ bool file = is_file_lru(lru);
struct pglist_data *pgdat = lruvec_pgdat(lruvec);

lru_add_drain();
@@ -2323,7 +2323,7 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
denominator = ap + fp;
out:
for_each_evictable_lru(lru) {
- int file = is_file_lru(lru);
+ bool file = is_file_lru(lru);
unsigned long lruvec_size;
unsigned long scan;
unsigned long protection;
--
2.29.0