On Fri, Nov 15, 2019 at 7:15 PM Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx> wrote: > > We need a irqflags vaiable to save state when do irqsave action, declare > it here would make code more clear/clean. > > Rong Chen <rong.a.chen@xxxxxxxxx> reported the 'irqflags' variable need > move to the tail of lruvec struct otherwise it causes 18% regressions of > vm-scalability testing on his machine. So add the flags and lru_lock to > both near struct tail, even I have no clue of this perf losing. Regressions compared to what? Also no need to have a separate patch. > > 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 a13b8a602ee5..9b8b8daf4e03 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -269,6 +269,8 @@ struct lruvec { > unsigned long flags; > /* per lruvec lru_lock for memcg */ > spinlock_t lru_lock; > + /* flags for irqsave */ > + unsigned long irqflags; > #ifdef CONFIG_MEMCG > struct pglist_data *pgdat; > #endif > -- > 1.8.3.1 >