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 <tjmercier@google.com>
This commit is contained in:
T.J. Mercier
2023-05-31 22:02:21 +00:00
committed by Carlos Llamas
parent 4081f368be
commit 10cb62e6ca

View File

@@ -438,6 +438,9 @@ struct lru_gen_folio {
/* per-node lru_gen_folio list for global reclaim */ /* per-node lru_gen_folio list for global reclaim */
struct hlist_nulls_node list; struct hlist_nulls_node list;
#endif #endif
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
}; };
enum { enum {
@@ -468,6 +471,8 @@ struct lru_gen_mm_state {
unsigned long stats[NR_HIST_GENS][NR_MM_STATS]; unsigned long stats[NR_HIST_GENS][NR_MM_STATS];
/* the number of concurrent page table walkers */ /* the number of concurrent page table walkers */
int nr_walkers; int nr_walkers;
ANDROID_KABI_RESERVE(1);
}; };
struct lru_gen_mm_walk { struct lru_gen_mm_walk {
@@ -485,6 +490,9 @@ struct lru_gen_mm_walk {
int batched; int batched;
bool can_swap; bool can_swap;
bool force_scan; bool force_scan;
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
}; };
void lru_gen_init_lruvec(struct lruvec *lruvec); 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]; struct hlist_nulls_head fifo[MEMCG_NR_GENS][MEMCG_NR_BINS];
/* protects the above */ /* protects the above */
spinlock_t lock; spinlock_t lock;
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
}; };
void lru_gen_init_pgdat(struct pglist_data *pgdat); void lru_gen_init_pgdat(struct pglist_data *pgdat);
@@ -637,6 +648,8 @@ struct lruvec {
struct pglist_data *pgdat; struct pglist_data *pgdat;
#endif #endif
ANDROID_VENDOR_DATA(1); ANDROID_VENDOR_DATA(1);
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
}; };
/* Isolate unmapped pages */ /* Isolate unmapped pages */