From 10cb62e6ca5dd9f52599d822914196a7f4a5642f Mon Sep 17 00:00:00 2001 From: "T.J. Mercier" Date: Wed, 31 May 2023 22:02:21 +0000 Subject: [PATCH] ANDROID: GKI: mm: Add Android ABI padding to MGLRU structures Try to handle any future changes in MGLRU by adding kabi padding. This change keeps these struct sizes within the same allocation order: lru_gen_folio: 1152 -> 1168 bytes lru_gen_mm_state: 120 -> 128 bytes lru_gen_mm_walk: 184 -> 200 bytes lru_gen_memcg: 160 -> 176 bytes lruvec: 1416 -> 1456 bytes Bug: 151154716 Change-Id: Ibc2fd8bc70e555194c5be7131a2b7ab4b579daa9 Signed-off-by: T.J. Mercier --- include/linux/mmzone.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 34870b107ddc..5a68ce9745e7 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -438,6 +438,9 @@ struct lru_gen_folio { /* per-node lru_gen_folio list for global reclaim */ struct hlist_nulls_node list; #endif + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); }; enum { @@ -468,6 +471,8 @@ struct lru_gen_mm_state { unsigned long stats[NR_HIST_GENS][NR_MM_STATS]; /* the number of concurrent page table walkers */ int nr_walkers; + + ANDROID_KABI_RESERVE(1); }; struct lru_gen_mm_walk { @@ -485,6 +490,9 @@ struct lru_gen_mm_walk { int batched; bool can_swap; bool force_scan; + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); }; void lru_gen_init_lruvec(struct lruvec *lruvec); @@ -542,6 +550,9 @@ struct lru_gen_memcg { struct hlist_nulls_head fifo[MEMCG_NR_GENS][MEMCG_NR_BINS]; /* protects the above */ spinlock_t lock; + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); }; void lru_gen_init_pgdat(struct pglist_data *pgdat); @@ -637,6 +648,8 @@ struct lruvec { struct pglist_data *pgdat; #endif ANDROID_VENDOR_DATA(1); + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); }; /* Isolate unmapped pages */