2020-03-25 22:04:01

by Wei Yang

[permalink] [raw]
Subject: [PATCH 1/2] mm/swapfile.c: simplify the calculation of n_goal

Use min3() to simplify the comparison and make it more self-explaining.

Signed-off-by: Wei Yang <[email protected]>
---
mm/swapfile.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/mm/swapfile.c b/mm/swapfile.c
index 2c33ff456ed5..85b151d73128 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -1004,11 +1004,7 @@ int get_swap_pages(int n_goal, swp_entry_t swp_entries[], int entry_size)
if (avail_pgs <= 0)
goto noswap;

- if (n_goal > SWAP_BATCH)
- n_goal = SWAP_BATCH;
-
- if (n_goal > avail_pgs)
- n_goal = avail_pgs;
+ n_goal = min3((long)n_goal, (long)SWAP_BATCH, avail_pgs);

atomic_long_sub(n_goal * size, &nr_swap_pages);

--
2.23.0


2020-03-25 22:04:41

by Wei Yang

[permalink] [raw]
Subject: [PATCH 2/2] mm/swapfile.c: remove the extra check in scan_swap_map_slots()

scan_swap_map_slots() is only called by scan_swap_map() and
get_swap_pages(). Both ensure nr would not exceed SWAP_BATCH.

Just remove it.

Signed-off-by: Wei Yang <[email protected]>
---
mm/swapfile.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/mm/swapfile.c b/mm/swapfile.c
index 85b151d73128..6b6e41967bf3 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -740,9 +740,6 @@ static int scan_swap_map_slots(struct swap_info_struct *si,
int latency_ration = LATENCY_LIMIT;
int n_ret = 0;

- if (nr > SWAP_BATCH)
- nr = SWAP_BATCH;
-
/*
* We try to cluster swap pages by allocating them sequentially
* in swap. Once we've allocated SWAPFILE_CLUSTER pages this
--
2.23.0