pg_data_t
NODE_DATA(nid) = memblock_alloc_or_panic(sizeof(pg_data_t), 8);
pg_data_t *last = NULL;
pg_data_t *pgdat = NODE_DATA(nid);
pg_data_t *pgdat = NODE_DATA(nid);
pg_data_t *pgdat;
extern void wakeup_kcompactd(pg_data_t *pgdat, int order, int highest_zoneidx);
static inline void reset_isolation_suitable(pg_data_t *pgdat)
static inline void wakeup_kcompactd(pg_data_t *pgdat,
extern void reset_isolation_suitable(pg_data_t *pgdat);
unsigned long memcg1_soft_limit_reclaim(pg_data_t *pgdat, int order,
unsigned long memcg1_soft_limit_reclaim(pg_data_t *pgdat, int order,
pg_data_t *pgdat;
static inline void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets)
void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets);
static inline void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets)
static inline void pgdat_kswapd_lock(pg_data_t *pgdat)
static inline void pgdat_kswapd_unlock(pg_data_t *pgdat)
static inline void pgdat_kswapd_lock_init(pg_data_t *pgdat)
static inline void pgdat_kswapd_lock(pg_data_t *pgdat) {}
static inline void pgdat_kswapd_unlock(pg_data_t *pgdat) {}
static inline void pgdat_kswapd_lock_init(pg_data_t *pgdat) {}
static inline pg_data_t *page_pgdat(const struct page *page)
static inline pg_data_t *folio_pgdat(const struct folio *folio)
static inline unsigned long pgdat_end_pfn(pg_data_t *pgdat)
void build_all_zonelists(pg_data_t *pgdat);
void kswapd_clear_hopeless(pg_data_t *pgdat, enum kswapd_clear_hopeless_reason reason);
bool kswapd_test_hopeless(pg_data_t *pgdat);
pg_data_t *pgdat, struct zone *zone);
pg_data_t *pgdat,
void set_pgdat_percpu_threshold(pg_data_t *pgdat,
static bool kswapd_is_running(pg_data_t *pgdat)
static unsigned int fragmentation_score_node(pg_data_t *pgdat)
static bool should_proactive_compact_node(pg_data_t *pgdat)
pg_data_t *pgdat;
static int compact_node(pg_data_t *pgdat, bool proactive)
pg_data_t *pgdat = NODE_DATA(nid);
static inline bool kcompactd_work_requested(pg_data_t *pgdat)
static bool kcompactd_node_suitable(pg_data_t *pgdat)
static void kcompactd_do_work(pg_data_t *pgdat)
void wakeup_kcompactd(pg_data_t *pgdat, int order, int highest_zoneidx)
pg_data_t *pgdat = (pg_data_t *)p;
pg_data_t *pgdat = NODE_DATA(nid);
void reset_isolation_suitable(pg_data_t *pgdat)
pg_data_t *pgdat = cc->zone->zone_pgdat;
pg_data_t *pgdat = cc->zone->zone_pgdat;
void __acct_reclaim_writeback(pg_data_t *pgdat, struct folio *folio,
pg_data_t *pgdat = folio_pgdat(folio);
static inline void wake_throttle_isolated(pg_data_t *pgdat)
extern void reclaim_throttle(pg_data_t *pgdat, enum vmscan_throttle_state reason);
struct mem_cgroup *memcg, pg_data_t *pgdat);
const size_t nd_size = sizeof(pg_data_t);
static void __init reset_node_managed_pages(pg_data_t *pgdat)
pg_data_t *pgdat;
pg_data_t *pgdat,
unsigned long memcg1_soft_limit_reclaim(pg_data_t *pgdat, int order,
pg_data_t *pgdat = folio_pgdat(folio);
pg_data_t *pgdat = page_pgdat(virt_to_page(p));
pg_data_t *pgdat;
pg_data_t *pgdat;
void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets)
pg_data_t *pgdat = NODE_DATA(node);
pg_data_t *pgdat;
static pg_data_t *hotadd_init_pgdat(int nid)
pg_data_t *pgdat;
pg_data_t *pgdat = NODE_DATA(nid);
pg_data_t *pgdat = NODE_DATA(node);
pg_data_t *pgdat = NODE_DATA(node);
pg_data_t *pgdat = NODE_DATA(nid);
static void __init check_for_memory(pg_data_t *pgdat)
pg_data_t *pgdat;
pg_data_t *pgdat = data;
pg_data_t *pgdat = zone->zone_pgdat;
pg_data_t *pgdat;
pg_data_t *pgdat = NODE_DATA(nid);
static inline void pgdat_set_deferred_range(pg_data_t *pgdat)
static inline void pgdat_set_deferred_range(pg_data_t *pgdat) {}
pg_data_t *pgdat = zone->zone_pgdat;
const size_t nd_size = roundup(sizeof(pg_data_t), SMP_CACHE_BYTES);
memset(NODE_DATA(nid), 0, sizeof(pg_data_t));
pg_data_t *pgdat;
pg_data_t *last_pgdat = NULL;
static int build_zonerefs_node(pg_data_t *pgdat, struct zoneref *zonerefs)
static void build_zonelists_in_node_order(pg_data_t *pgdat, int *node_order,
pg_data_t *node = NODE_DATA(node_order[i]);
static void build_thisnode_zonelists(pg_data_t *pgdat)
static void build_zonelists(pg_data_t *pgdat)
static void build_zonelists(pg_data_t *pgdat)
pg_data_t *self = data;
pg_data_t *pgdat = NODE_DATA(nid);
void __ref build_all_zonelists(pg_data_t *pgdat)
pg_data_t *pgdat;
pg_data_t *pgdat;
pg_data_t *pgdat, struct zone *zone)
static bool node_has_managed_zones(pg_data_t *pgdat, int max_zone_idx)
pg_data_t *pgdat;
pg_data_t *pgdat = NODE_DATA(nid);
void __meminit __shuffle_free_memory(pg_data_t *pgdat)
extern void __shuffle_free_memory(pg_data_t *pgdat);
static inline void __meminit shuffle_free_memory(pg_data_t *pgdat)
static inline void shuffle_free_memory(pg_data_t *pgdat)
static inline pg_data_t *slab_pgdat(const struct slab *slab)
static void prepare_scan_control(pg_data_t *pgdat, struct scan_control *sc)
static bool skip_throttle_noprogress(pg_data_t *pgdat)
void reclaim_throttle(pg_data_t *pgdat, enum vmscan_throttle_state reason)
static void shrink_node_memcgs(pg_data_t *pgdat, struct scan_control *sc)
static void shrink_node(pg_data_t *pgdat, struct scan_control *sc)
void __acct_reclaim_writeback(pg_data_t *pgdat, struct folio *folio,
static void consider_reclaim_throttle(pg_data_t *pgdat, struct scan_control *sc)
pg_data_t *last_pgdat = NULL;
pg_data_t *first_pgdat = NULL;
static void snapshot_refaults(struct mem_cgroup *target_memcg, pg_data_t *pgdat)
pg_data_t *last_pgdat;
static bool allow_direct_reclaim(pg_data_t *pgdat)
pg_data_t *pgdat = NULL;
pg_data_t *pgdat,
static bool pgdat_watermark_boosted(pg_data_t *pgdat, int highest_zoneidx)
static bool pgdat_balanced(pg_data_t *pgdat, int order, int highest_zoneidx)
static void clear_pgdat_congested(pg_data_t *pgdat)
static bool prepare_kswapd_sleep(pg_data_t *pgdat, int order,
static bool kswapd_shrink_node(pg_data_t *pgdat,
update_reclaim_active(pg_data_t *pgdat, int highest_zoneidx, bool active)
set_reclaim_active(pg_data_t *pgdat, int highest_zoneidx)
clear_reclaim_active(pg_data_t *pgdat, int highest_zoneidx)
static int balance_pgdat(pg_data_t *pgdat, int order, int highest_zoneidx)
static enum zone_type kswapd_highest_zoneidx(pg_data_t *pgdat,
static void kswapd_try_to_sleep(pg_data_t *pgdat, int alloc_order, int reclaim_order,
pg_data_t *pgdat = (pg_data_t *)p;
pg_data_t *pgdat;
void kswapd_clear_hopeless(pg_data_t *pgdat, enum kswapd_clear_hopeless_reason reason)
bool kswapd_test_hopeless(pg_data_t *pgdat)
pg_data_t *pgdat = NODE_DATA(nid);
pg_data_t *pgdat = NODE_DATA(nid);
struct mem_cgroup *memcg, pg_data_t *pgdat)
pg_data_t *pgdat;
pg_data_t *pgdat = (pg_data_t *)arg;
static void walk_zones_in_node(struct seq_file *m, pg_data_t *pgdat,
void (*print)(struct seq_file *m, pg_data_t *, struct zone *))
static void frag_show_print(struct seq_file *m, pg_data_t *pgdat,
pg_data_t *pgdat = (pg_data_t *)arg;
pg_data_t *pgdat, struct zone *zone)
pg_data_t *pgdat = (pg_data_t *)arg;
pg_data_t *pgdat, struct zone *zone)
pg_data_t *pgdat = (pg_data_t *)arg;
static void pagetypeinfo_showmixedcount(struct seq_file *m, pg_data_t *pgdat)
pg_data_t *pgdat = (pg_data_t *)arg;
static bool is_zone_first_populated(pg_data_t *pgdat, struct zone *zone)
static void zoneinfo_show_print(struct seq_file *m, pg_data_t *pgdat,
pg_data_t *pgdat = (pg_data_t *)arg;
pg_data_t *last_pgdat = NULL;
pg_data_t *pgdat, struct zone *zone)
pg_data_t *pgdat = (pg_data_t *)arg;
pg_data_t *pgdat, struct zone *zone)
pg_data_t *pgdat = (pg_data_t *)arg;
void set_pgdat_percpu_threshold(pg_data_t *pgdat,
static void *pack_shadow(int memcgid, pg_data_t *pgdat, unsigned long eviction,
static void unpack_shadow(void *shadow, int *memcgidp, pg_data_t **pgdat,