diff mbox series

mm/vmscan: reorder scan_balance definition to simplify the scan type check

Message ID 20220405082357.22606-1-richard.weiyang@gmail.com (mailing list archive)
State New
Headers show
Series mm/vmscan: reorder scan_balance definition to simplify the scan type check | expand

Commit Message

Wei Yang April 5, 2022, 8:23 a.m. UTC
Even is_file_lru() return bool type, we leverage it as an index for anon
or file.

With this in hand, after reorder scan_balance definition, we can compare
directly between scan_balance and file to get the exclusive scan type.

After this, the code looks more readable and save some instructions.

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
CC: Johannes Weiner <hannes@cmpxchg.org>
CC: Mel Gorman <mgorman@suse.de>
---
 mm/vmscan.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Matthew Wilcox (Oracle) April 5, 2022, 12:30 p.m. UTC | #1
On Tue, Apr 05, 2022 at 08:23:57AM +0000, Wei Yang wrote:
> Even is_file_lru() return bool type, we leverage it as an index for anon
> or file.
> 
> With this in hand, after reorder scan_balance definition, we can compare
> directly between scan_balance and file to get the exclusive scan type.
> 
> After this, the code looks more readable and save some instructions.

This scares me.  I would not apply this patch.
Wei Yang April 6, 2022, 11:49 p.m. UTC | #2
On Tue, Apr 05, 2022 at 01:30:26PM +0100, Matthew Wilcox wrote:
>On Tue, Apr 05, 2022 at 08:23:57AM +0000, Wei Yang wrote:
>> Even is_file_lru() return bool type, we leverage it as an index for anon
>> or file.
>> 
>> With this in hand, after reorder scan_balance definition, we can compare
>> directly between scan_balance and file to get the exclusive scan type.
>> 
>> After this, the code looks more readable and save some instructions.
>
>This scares me.  I would not apply this patch.

Because?
diff mbox series

Patch

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 89745cf34386..0b7cc9309e70 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2638,10 +2638,10 @@  static bool inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru)
 }
 
 enum scan_balance {
-	SCAN_EQUAL,
-	SCAN_FRACT,
 	SCAN_ANON,
 	SCAN_FILE,
+	SCAN_EQUAL,
+	SCAN_FRACT,
 };
 
 /*
@@ -2838,7 +2838,7 @@  static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
 		case SCAN_FILE:
 		case SCAN_ANON:
 			/* Scan one type exclusively */
-			if ((scan_balance == SCAN_FILE) != file)
+			if (scan_balance != file)
 				scan = 0;
 			break;
 		default: