pglist_data
struct pglist_data pglist;
slot_freepfn += PFN_UP(sizeof(struct pglist_data) +
static inline struct pglist_data *pfn_to_pgdat(unsigned long pfn)
NODE_DATA(nid) = memblock_alloc_node(sizeof(struct pglist_data),
__func__, sizeof(struct pglist_data), SMP_CACHE_BYTES,
struct pglist_data *p;
struct pglist_data *pgdat = NODE_DATA(nid);
struct pglist_data *pgdat = NODE_DATA(nid);
void __init register_page_bootmem_info_node(struct pglist_data *pgdat);
static inline void register_page_bootmem_info_node(struct pglist_data *pgdat)
struct pglist_data *pgdat)
struct pglist_data *pgdat = folio_pgdat(folio);
struct pglist_data *pgdat = folio_pgdat(folio);
struct pglist_data *pgdat = folio_pgdat(folio);
struct pglist_data *pgdat = folio_pgdat(folio);
struct pglist_data *pgdat)
struct pglist_data;
void pgdat_resize_lock(struct pglist_data *pgdat, unsigned long *flags)
void pgdat_resize_unlock(struct pglist_data *pgdat, unsigned long *flags)
void pgdat_resize_init(struct pglist_data *pgdat)
static inline void pgdat_resize_lock(struct pglist_data *p, unsigned long *f) {}
static inline void pgdat_resize_unlock(struct pglist_data *p, unsigned long *f) {}
static inline void pgdat_resize_init(struct pglist_data *pgdat) {}
extern void __ref free_area_init_core_hotplug(struct pglist_data *pgdat);
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
struct pglist_data;
void kswapd_try_clear_hopeless(struct pglist_data *pgdat,
static inline struct pglist_data *lruvec_pgdat(struct lruvec *lruvec)
return container_of(lruvec, struct pglist_data, __lruvec);
extern struct pglist_data contig_page_data;
static inline struct pglist_data *NODE_DATA(int nid)
extern struct pglist_data *first_online_pgdat(void);
extern struct pglist_data *next_online_pgdat(struct pglist_data *pgdat);
void lru_gen_init_pgdat(struct pglist_data *pgdat);
static inline void lru_gen_init_pgdat(struct pglist_data *pgdat)
struct pglist_data *pgdat;
struct pglist_data *zone_pgdat;
extern struct pglist_data *node_data[];
static inline void pgdat_page_ext_init(struct pglist_data *pgdat)
extern void pgdat_page_ext_init(struct pglist_data *pgdat);
struct pglist_data;
static inline void node_page_state_add(long x, struct pglist_data *pgdat,
extern unsigned long node_page_state(struct pglist_data *pgdat,
extern unsigned long node_page_state_pages(struct pglist_data *pgdat,
void __mod_node_page_state(struct pglist_data *, enum node_stat_item item, long);
void mod_node_page_state(struct pglist_data *, enum node_stat_item, long);
extern void __inc_node_state(struct pglist_data *, enum node_stat_item);
extern void __dec_node_state(struct pglist_data *, enum node_stat_item);
static inline void __mod_node_page_state(struct pglist_data *pgdat,
static inline void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item)
static inline void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item)
bool node_dirty_ok(struct pglist_data *pgdat);
struct pglist_data *pgdat;
static bool pgdat_free_space_enough(struct pglist_data *pgdat)
static bool numa_promotion_rate_limit(struct pglist_data *pgdat,
static void numa_promotion_adjust_threshold(struct pglist_data *pgdat,
struct pglist_data *pgdat;
VMCOREINFO_STRUCT_SIZE(pglist_data);
VMCOREINFO_OFFSET(pglist_data, node_zones);
VMCOREINFO_OFFSET(pglist_data, nr_zones);
VMCOREINFO_OFFSET(pglist_data, node_mem_map);
VMCOREINFO_OFFSET(pglist_data, node_start_pfn);
VMCOREINFO_OFFSET(pglist_data, node_spanned_pages);
VMCOREINFO_OFFSET(pglist_data, node_id);
void __init register_page_bootmem_info_node(struct pglist_data *pgdat)
nr_pages = PAGE_ALIGN(sizeof(struct pglist_data)) >> PAGE_SHIFT;
struct list_head *migrate_folios, struct pglist_data *pgdat,
struct pglist_data *pgdat,
struct pglist_data *pgdata = NODE_DATA(nid);
struct pglist_data *pgdata = NODE_DATA(sc->nid);
extern int node_reclaim(struct pglist_data *, gfp_t, unsigned int);
static inline int node_reclaim(struct pglist_data *pgdat, gfp_t mask,
struct pglist_data __refdata contig_page_data;
struct pglist_data *pgdat;
struct pglist_data *cached_pgdat;
struct pglist_data *pgdat,
struct pglist_data *pgdat,
struct pglist_data *pgdat,
struct pglist_data *pgdat, enum node_stat_item idx)
struct pglist_data *oldpg = stock->cached_pgdat;
struct pglist_data *pgdat, enum node_stat_item idx)
bool allow_uncharge, int nr_acct, struct pglist_data *pgdat,
struct pglist_data *pgdat, enum node_stat_item idx)
struct pglist_data *pgdat;
struct pglist_data *pgdat;
struct pglist_data *pgdat = zone->zone_pgdat;
static void update_pgdat_span(struct pglist_data *pgdat)
struct pglist_data *pgdat = zone->zone_pgdat;
static void __meminit resize_pgdat_range(struct pglist_data *pgdat, unsigned long start_pfn,
struct pglist_data *pgdat = zone->zone_pgdat;
struct pglist_data *pgdat = NODE_DATA(nid);
static bool migrate_balanced_pgdat(struct pglist_data *pgdat,
struct pglist_data *pgdat = zone->zone_pgdat;
static void __init reset_memoryless_node_totalpages(struct pglist_data *pgdat)
static void __init calculate_node_totalpages(struct pglist_data *pgdat,
static void pgdat_init_split_queue(struct pglist_data *pgdat)
static void pgdat_init_split_queue(struct pglist_data *pgdat) {}
static void pgdat_init_kcompactd(struct pglist_data *pgdat)
static void pgdat_init_kcompactd(struct pglist_data *pgdat) {}
static void __meminit pgdat_init_internals(struct pglist_data *pgdat)
struct pglist_data *pgdat = zone->zone_pgdat;
void __ref free_area_init_core_hotplug(struct pglist_data *pgdat)
static void __init free_area_init_core(struct pglist_data *pgdat)
static void __init alloc_node_mem_map(struct pglist_data *pgdat)
static inline void alloc_node_mem_map(struct pglist_data *pgdat) { }
struct pglist_data *node = NODE_DATA(nid);
struct pglist_data *first_online_pgdat(void)
struct pglist_data *next_online_pgdat(struct pglist_data *pgdat)
struct pglist_data *node_data[MAX_NUMNODES];
static unsigned long node_dirtyable_memory(struct pglist_data *pgdat)
static unsigned long node_dirty_limit(struct pglist_data *pgdat)
bool node_dirty_ok(struct pglist_data *pgdat)
struct pglist_data *pgdat = zone->zone_pgdat;
struct pglist_data *last_pgdat = NULL;
struct pglist_data *pgdat;
struct pglist_data *pgdat;
struct pglist_data *pgdat;
struct pglist_data *pgdat;
void __meminit pgdat_page_ext_init(struct pglist_data *pgdat)
void __meminit pgdat_page_ext_init(struct pglist_data *pgdat)
static inline phys_addr_t pgdat_to_phys(struct pglist_data *pgdat)
sparse_early_usemaps_alloc_pgdat_section(struct pglist_data *pgdat,
struct pglist_data *pgdat = NODE_DATA(nid);
sparse_early_usemaps_alloc_pgdat_section(struct pglist_data *pgdat,
struct pglist_data *pgdat,
struct pglist_data *pgdat, struct scan_control *sc,
static bool too_many_isolated(struct pglist_data *pgdat, int file,
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
struct pglist_data *pgdat)
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
struct pglist_data *pgdat = NODE_DATA(nid);
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
struct pglist_data *pgdat = lruvec_pgdat(walk->lruvec);
struct pglist_data *pgdat)
struct pglist_data *pgdat)
struct pglist_data *pgdat)
struct pglist_data *pgdat = NODE_DATA(nid);
struct pglist_data *pgdat = lruvec_pgdat(walk->lruvec);
struct pglist_data *pgdat = lruvec_pgdat(walk->lruvec);
struct pglist_data *pgdat = lruvec_pgdat(walk->lruvec);
static struct lru_gen_mm_walk *set_mm_walk(struct pglist_data *pgdat, bool force_alloc)
static void set_initial_priority(struct pglist_data *pgdat, struct scan_control *sc)
static void lru_gen_age_node(struct pglist_data *pgdat, struct scan_control *sc)
struct pglist_data *pgdat = folio_pgdat(folio);
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
struct pglist_data *pgdat = NODE_DATA(nid);
struct pglist_data *pgdat = NODE_DATA(nid);
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
static void shrink_many(struct pglist_data *pgdat, struct scan_control *sc)
static void lru_gen_shrink_node(struct pglist_data *pgdat, struct scan_control *sc)
void lru_gen_init_pgdat(struct pglist_data *pgdat)
static void lru_gen_age_node(struct pglist_data *pgdat, struct scan_control *sc)
static void lru_gen_shrink_node(struct pglist_data *pgdat, struct scan_control *sc)
static inline bool should_continue_reclaim(struct pglist_data *pgdat,
static void kswapd_age_node(struct pglist_data *pgdat, struct scan_control *sc)
void kswapd_try_clear_hopeless(struct pglist_data *pgdat,
static inline unsigned long node_unmapped_file_pages(struct pglist_data *pgdat)
static unsigned long node_pagecache_reclaimable(struct pglist_data *pgdat)
static unsigned long __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask,
int node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned int order)
static unsigned long __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask,
unsigned long node_page_state_pages(struct pglist_data *pgdat,
unsigned long node_page_state(struct pglist_data *pgdat,
struct pglist_data *pgdat;
struct pglist_data *pgdat = zone->zone_pgdat;
void __mod_node_page_state(struct pglist_data *pgdat, enum node_stat_item item,
void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item)
void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item)
static inline void mod_node_state(struct pglist_data *pgdat,
void mod_node_page_state(struct pglist_data *pgdat, enum node_stat_item item,
void mod_node_page_state(struct pglist_data *pgdat, enum node_stat_item item,
struct pglist_data *pgdat;
struct pglist_data *pgdat;
struct pglist_data *pgdat;
struct pglist_data *pgdat = folio_pgdat(folio);
struct pglist_data *pgdat;
struct pglist_data *pgdat = folio_pgdat(folio);
struct pglist_data *pgdat;
struct pglist_data *pgdat;
zone_off = offsetof(struct pglist_data, node_zones);
struct pglist_data *contig_page_data;
struct pglist_data **node_data = (void *)(long)node_data_addr;
struct pglist_data *pgdat = NULL;
struct pglist_data *first_online_pgdat(void);
struct pglist_data *next_online_pgdat(struct pglist_data *pgdat);
struct pglist_data *first_online_pgdat(void)
struct pglist_data *next_online_pgdat(struct pglist_data *pgdat)
struct pglist_data *first_online_pgdat(void);
struct pglist_data *next_online_pgdat(struct pglist_data *pgdat);