[PATCH v2 2/8] mm/lruvec: add irqsave flags into lruvec struct
From: Alex Shi
Date: Tue Nov 12 2019 - 09:06:56 EST
We need a flags vaiable to save state when do irqsave action, declare it
here would make code more clear/clean.
Rong Chen <rong.a.chen@xxxxxxxxx> report the flag variable needs to move
the tail of lruvec struct otherwise it causes 18% regressions of
vm-scalability testing on his machine. Add the flags and lru_lock to
both near struct tail.
Originally-from: Hugh Dickins <hughd@xxxxxxxxxx>
Signed-off-by: Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
Cc: Wei Yang <richard.weiyang@xxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Arun KS <arunks@xxxxxxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
CC: Rong Chen <rong.a.chen@xxxxxxxxx>
Cc: cgroups@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
---
include/linux/mmzone.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 787a42d527a2..da00615baa52 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -305,6 +305,8 @@ struct lruvec {
unsigned long refaults;
/* per lruvec lru_lock for memcg */
spinlock_t lru_lock;
+ /* flags for irqsave */
+ unsigned long flags;
#ifdef CONFIG_MEMCG
struct pglist_data *pgdat;
#endif
--
1.8.3.1