Revert "FROMLIST: mm: multi-gen LRU: support page table walks"
This reverts commit 5280d76d38.
To be replaced with upstream version.
Bug: 249601646
Change-Id: I5bf4095117082b6627d182a8d987ca78a18fa392
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
This commit is contained in:
@@ -405,58 +405,6 @@ struct lru_gen_struct {
|
||||
atomic_long_t refaulted[NR_HIST_GENS][ANON_AND_FILE][MAX_NR_TIERS];
|
||||
};
|
||||
|
||||
enum {
|
||||
MM_PTE_TOTAL, /* total leaf entries */
|
||||
MM_PTE_OLD, /* old leaf entries */
|
||||
MM_PTE_YOUNG, /* young leaf entries */
|
||||
MM_PMD_TOTAL, /* total non-leaf entries */
|
||||
MM_PMD_FOUND, /* non-leaf entries found in Bloom filters */
|
||||
MM_PMD_ADDED, /* non-leaf entries added to Bloom filters */
|
||||
NR_MM_STATS
|
||||
};
|
||||
|
||||
/* mnemonic codes for the mm stats above */
|
||||
#define MM_STAT_CODES "toydfa"
|
||||
|
||||
/* double-buffering Bloom filters */
|
||||
#define NR_BLOOM_FILTERS 2
|
||||
|
||||
struct lru_gen_mm_state {
|
||||
/* set to max_seq after each iteration */
|
||||
unsigned long seq;
|
||||
/* where the current iteration starts (inclusive) */
|
||||
struct list_head *head;
|
||||
/* where the last iteration ends (exclusive) */
|
||||
struct list_head *tail;
|
||||
/* to wait for the last page table walker to finish */
|
||||
struct wait_queue_head wait;
|
||||
/* Bloom filters flip after each iteration */
|
||||
unsigned long *filters[NR_BLOOM_FILTERS];
|
||||
/* the mm stats for debugging */
|
||||
unsigned long stats[NR_HIST_GENS][NR_MM_STATS];
|
||||
/* the number of concurrent page table walkers */
|
||||
int nr_walkers;
|
||||
};
|
||||
|
||||
struct lru_gen_mm_walk {
|
||||
/* the lruvec under reclaim */
|
||||
struct lruvec *lruvec;
|
||||
/* unstable max_seq from lru_gen_struct */
|
||||
unsigned long max_seq;
|
||||
/* the next address within an mm to scan */
|
||||
unsigned long next_addr;
|
||||
/* to batch page table entries */
|
||||
unsigned long bitmap[BITS_TO_LONGS(MIN_LRU_BATCH)];
|
||||
/* to batch promoted pages */
|
||||
int nr_pages[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES];
|
||||
/* to batch the mm stats */
|
||||
int mm_stats[NR_MM_STATS];
|
||||
/* total batched items */
|
||||
int batched;
|
||||
bool can_swap;
|
||||
bool full_scan;
|
||||
};
|
||||
|
||||
void lru_gen_init_lruvec(struct lruvec *lruvec);
|
||||
void lru_gen_look_around(struct page_vma_mapped_walk *pvmw);
|
||||
|
||||
@@ -507,8 +455,6 @@ struct lruvec {
|
||||
#ifdef CONFIG_LRU_GEN
|
||||
/* evictable pages divided into generations */
|
||||
struct lru_gen_struct lrugen;
|
||||
/* to concurrently iterate lru_gen_mm_list */
|
||||
struct lru_gen_mm_state mm_state;
|
||||
#endif
|
||||
#ifdef CONFIG_MEMCG
|
||||
struct pglist_data *pgdat;
|
||||
@@ -1101,11 +1047,6 @@ typedef struct pglist_data {
|
||||
|
||||
unsigned long flags;
|
||||
|
||||
#ifdef CONFIG_LRU_GEN
|
||||
/* kswap mm walk data */
|
||||
struct lru_gen_mm_walk mm_walk;
|
||||
#endif
|
||||
|
||||
ZONE_PADDING(_pad2_)
|
||||
|
||||
/* Per-node vmstats */
|
||||
|
||||
Reference in New Issue
Block a user