By default the assignment logic of anonymouns or file inactive pages and active pages to scan using the same duplicated code snippet. To simplify the logic, merge the same part. Signed-off-by: Chao Xu <Chao.Xu9@xxxxxxxxxxxxx> --- mm/vmscan.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 04d8b88e5216..df3c0cbe381f 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -5932,14 +5932,11 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) * scan target and the percentage scanning already complete */ lru = (lru == LRU_FILE) ? LRU_BASE : LRU_FILE; - nr_scanned = targets[lru] - nr[lru]; - nr[lru] = targets[lru] * (100 - percentage) / 100; - nr[lru] -= min(nr[lru], nr_scanned); - - lru += LRU_ACTIVE; - nr_scanned = targets[lru] - nr[lru]; - nr[lru] = targets[lru] * (100 - percentage) / 100; - nr[lru] -= min(nr[lru], nr_scanned); + for ( ; lru <= lru + LRU_ACTIVE; lru++) { + nr_scanned = targets[lru] - nr[lru]; + nr[lru] = targets[lru] * (100 - percentage) / 100; + nr[lru] -= min(nr[lru], nr_scanned); + } scan_adjusted = true; } -- 2.34.1