| /linux/mm/ |
| H A D | mm_init.c | 68 pg_data_t *pgdat = NODE_DATA(nid); in mminit_verify_zonelist() local 79 zonelist = &pgdat->node_zonelists[listid]; in mminit_verify_zonelist() 80 zone = &pgdat->node_zones[zoneid]; in mminit_verify_zonelist() 671 pg_data_t *pgdat; in __init_page_from_nid() local 674 pgdat = NODE_DATA(nid); in __init_page_from_nid() 677 struct zone *zone = &pgdat->node_zones[zid]; in __init_page_from_nid() 690 static inline void pgdat_set_deferred_range(pg_data_t *pgdat) in pgdat_set_deferred_range() argument 692 pgdat->first_deferred_pfn = ULONG_MAX; in pgdat_set_deferred_range() 753 static inline void pgdat_set_deferred_range(pg_data_t *pgdat) {} in pgdat_set_deferred_range() argument 1114 struct pglist_data *pgdat = zone->zone_pgdat; in memmap_init_zone_device() local [all …]
|
| H A D | show_mem.c | 95 pg_data_t *pgdat = NODE_DATA(nid); in si_meminfo_node() local 98 struct zone *zone = &pgdat->node_zones[zone_type]; in si_meminfo_node() 107 val->sharedram = node_page_state(pgdat, NR_SHMEM); in si_meminfo_node() 162 static bool node_has_managed_zones(pg_data_t *pgdat, int max_zone_idx) in node_has_managed_zones() argument 166 if (zone_managed_pages(pgdat->node_zones + zone_idx)) in node_has_managed_zones() 185 pg_data_t *pgdat; in show_free_areas() local 226 for_each_online_pgdat(pgdat) { in show_free_areas() 227 if (show_mem_node_skip(filter, pgdat->node_id, nodemask)) in show_free_areas() 229 if (!node_has_managed_zones(pgdat, max_zone_idx)) in show_free_areas() 258 pgdat->node_id, in show_free_areas() [all …]
|
| H A D | vmscan.c | 283 #define for_each_managed_zone_pgdat(zone, pgdat, idx, highidx) \ argument 284 for ((idx) = 0, (zone) = (pgdat)->node_zones; \ 346 struct pglist_data *pgdat = NODE_DATA(nid); in can_demote() local 349 if (!pgdat || !numa_demotion_enabled) in can_demote() 354 node_get_allowed_targets(pgdat, &allowed_mask); in can_demote() 502 static bool skip_throttle_noprogress(pg_data_t *pgdat) in skip_throttle_noprogress() argument 511 if (kswapd_test_hopeless(pgdat)) in skip_throttle_noprogress() 519 for_each_managed_zone_pgdat(zone, pgdat, i, MAX_NR_ZONES - 1) { in skip_throttle_noprogress() 530 void reclaim_throttle(pg_data_t *pgdat, enum vmscan_throttle_state reason) in reclaim_throttle() argument 532 wait_queue_head_t *wqh = &pgdat->reclaim_wait[reason]; in reclaim_throttle() [all …]
|
| H A D | vmstat.c | 277 struct pglist_data *pgdat; in refresh_zone_stat_thresholds() local 283 for_each_online_pgdat(pgdat) { in refresh_zone_stat_thresholds() 285 per_cpu_ptr(pgdat->per_cpu_nodestats, cpu)->stat_threshold = 0; in refresh_zone_stat_thresholds() 290 struct pglist_data *pgdat = zone->zone_pgdat; in refresh_zone_stat_thresholds() local 302 pgdat_threshold = per_cpu_ptr(pgdat->per_cpu_nodestats, cpu)->stat_threshold; in refresh_zone_stat_thresholds() 303 per_cpu_ptr(pgdat->per_cpu_nodestats, cpu)->stat_threshold in refresh_zone_stat_thresholds() 320 void set_pgdat_percpu_threshold(pg_data_t *pgdat, in set_pgdat_percpu_threshold() argument 328 for (i = 0; i < pgdat->nr_zones; i++) { in set_pgdat_percpu_threshold() 329 zone = &pgdat->node_zones[i]; in set_pgdat_percpu_threshold() 376 void __mod_node_page_state(struct pglist_data *pgdat, enum node_stat_item item, in __mod_node_page_state() argument [all …]
|
| H A D | compaction.c | 402 void reset_isolation_suitable(pg_data_t *pgdat) in reset_isolation_suitable() argument 407 struct zone *zone = &pgdat->node_zones[zoneid]; in reset_isolation_suitable() 763 pg_data_t *pgdat = cc->zone->zone_pgdat; in too_many_isolated() local 768 inactive = node_page_state(pgdat, NR_INACTIVE_FILE) + in too_many_isolated() 769 node_page_state(pgdat, NR_INACTIVE_ANON); in too_many_isolated() 770 active = node_page_state(pgdat, NR_ACTIVE_FILE) + in too_many_isolated() 771 node_page_state(pgdat, NR_ACTIVE_ANON); in too_many_isolated() 772 isolated = node_page_state(pgdat, NR_ISOLATED_FILE) + in too_many_isolated() 773 node_page_state(pgdat, NR_ISOLATED_ANON); in too_many_isolated() 788 wake_throttle_isolated(pgdat); in too_many_isolated() [all …]
|
| H A D | mmzone.c | 18 struct pglist_data *next_online_pgdat(struct pglist_data *pgdat) in next_online_pgdat() argument 20 int nid = next_online_node(pgdat->node_id); in next_online_pgdat() 32 pg_data_t *pgdat = zone->zone_pgdat; in next_zone() local 34 if (zone < pgdat->node_zones + MAX_NR_ZONES - 1) in next_zone() 37 pgdat = next_online_pgdat(pgdat); in next_zone() 38 if (pgdat) in next_zone() 39 zone = pgdat->node_zones; in next_zone()
|
| H A D | workingset.c | 199 static void *pack_shadow(int memcgid, pg_data_t *pgdat, unsigned long eviction, in pack_shadow() argument 204 eviction = (eviction << NODES_SHIFT) | pgdat->node_id; in pack_shadow() 210 static void unpack_shadow(void *shadow, int *memcgidp, pg_data_t **pgdat, in unpack_shadow() argument 225 *pgdat = NODE_DATA(nid); in unpack_shadow() 245 struct pglist_data *pgdat = folio_pgdat(folio); in lru_gen_eviction() local 249 lruvec = mem_cgroup_lruvec(memcg, pgdat); in lru_gen_eviction() 257 return pack_shadow(mem_cgroup_private_id(memcg), pgdat, token, workingset); in lru_gen_eviction() 270 struct pglist_data *pgdat; in lru_gen_test_recent() local 272 unpack_shadow(shadow, &memcg_id, &pgdat, token, workingset); in lru_gen_test_recent() 275 *lruvec = mem_cgroup_lruvec(memcg, pgdat); in lru_gen_test_recent() [all …]
|
| H A D | memory-tiers.c | 262 pg_data_t *pgdat; in __node_get_memory_tier() local 264 pgdat = NODE_DATA(node); in __node_get_memory_tier() 265 if (!pgdat) in __node_get_memory_tier() 272 return rcu_dereference_check(pgdat->memtier, in __node_get_memory_tier() 280 pg_data_t *pgdat; in node_is_toptier() local 283 pgdat = NODE_DATA(node); in node_is_toptier() 284 if (!pgdat) in node_is_toptier() 288 memtier = rcu_dereference(pgdat->memtier); in node_is_toptier() 302 void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets) in node_get_allowed_targets() argument 312 memtier = rcu_dereference(pgdat->memtier); in node_get_allowed_targets() [all …]
|
| H A D | shuffle.h | 11 extern void __shuffle_free_memory(pg_data_t *pgdat); 13 static inline void __meminit shuffle_free_memory(pg_data_t *pgdat) in shuffle_free_memory() argument 17 __shuffle_free_memory(pgdat); in shuffle_free_memory() 40 static inline void shuffle_free_memory(pg_data_t *pgdat) in shuffle_free_memory() argument
|
| H A D | memory_hotplug.c | 519 static void update_pgdat_span(struct pglist_data *pgdat) in update_pgdat_span() argument 524 for (zone = pgdat->node_zones; in update_pgdat_span() 525 zone < pgdat->node_zones + MAX_NR_ZONES; zone++) { in update_pgdat_span() 543 pgdat->node_start_pfn = node_start_pfn; in update_pgdat_span() 544 pgdat->node_spanned_pages = node_end_pfn - node_start_pfn; in update_pgdat_span() 552 struct pglist_data *pgdat = zone->zone_pgdat; in remove_pfn_range_from_zone() local 577 update_pgdat_span(pgdat); in remove_pfn_range_from_zone() 714 static void __meminit resize_pgdat_range(struct pglist_data *pgdat, unsigned long start_pfn, in resize_pgdat_range() argument 717 unsigned long old_end_pfn = pgdat_end_pfn(pgdat); in resize_pgdat_range() 719 if (!pgdat->node_spanned_pages || start_pfn < pgdat->node_start_pfn) in resize_pgdat_range() [all …]
|
| H A D | bootmem_info.c | 105 void __init register_page_bootmem_info_node(struct pglist_data *pgdat) in register_page_bootmem_info_node() argument 108 int node = pgdat->node_id; in register_page_bootmem_info_node() 112 page = virt_to_page(pgdat); in register_page_bootmem_info_node() 117 pfn = pgdat->node_start_pfn; in register_page_bootmem_info_node() 118 end_pfn = pgdat_end_pfn(pgdat); in register_page_bootmem_info_node()
|
| H A D | shuffle.c | 153 void __meminit __shuffle_free_memory(pg_data_t *pgdat) in __shuffle_free_memory() argument 157 for (z = pgdat->node_zones; z < pgdat->node_zones + MAX_NR_ZONES; z++) in __shuffle_free_memory()
|
| H A D | sparse.c | 310 static inline phys_addr_t pgdat_to_phys(struct pglist_data *pgdat) in pgdat_to_phys() argument 313 VM_BUG_ON(pgdat != &contig_page_data); in pgdat_to_phys() 316 return __pa(pgdat); in pgdat_to_phys() 321 sparse_early_usemaps_alloc_pgdat_section(struct pglist_data *pgdat, in sparse_early_usemaps_alloc_pgdat_section() argument 337 goal = pgdat_to_phys(pgdat) & (PAGE_SECTION_MASK << PAGE_SHIFT); in sparse_early_usemaps_alloc_pgdat_section() 355 struct pglist_data *pgdat = NODE_DATA(nid); in check_usemap_section_nr() local 365 pgdat_snr = pfn_to_section_nr(pgdat_to_phys(pgdat) >> PAGE_SHIFT); in check_usemap_section_nr() 393 sparse_early_usemaps_alloc_pgdat_section(struct pglist_data *pgdat, in sparse_early_usemaps_alloc_pgdat_section() argument 396 return memblock_alloc_node(size, SMP_CACHE_BYTES, pgdat->node_id); in sparse_early_usemaps_alloc_pgdat_section()
|
| H A D | numa.c | 37 pg_data_t *pgdat; in alloc_offline_node_data() local 38 node_data[nid] = memblock_alloc_or_panic(sizeof(*pgdat), SMP_CACHE_BYTES); in alloc_offline_node_data()
|
| H A D | page_alloc.c | 2944 struct pglist_data *pgdat = zone->zone_pgdat; in free_frozen_page_commit() local 2954 if (kswapd_test_hopeless(pgdat) && in free_frozen_page_commit() 2955 next_memory_node(pgdat->node_id) < MAX_NUMNODES) in free_frozen_page_commit() 2956 kswapd_clear_hopeless(pgdat, KSWAPD_CLEAR_HOPELESS_PCP); in free_frozen_page_commit() 5551 static int build_zonerefs_node(pg_data_t *pgdat, struct zoneref *zonerefs) in build_zonerefs_node() argument 5559 zone = pgdat->node_zones + zone_type; in build_zonerefs_node() 5669 static void build_zonelists_in_node_order(pg_data_t *pgdat, int *node_order, in build_zonelists_in_node_order() argument 5675 zonerefs = pgdat->node_zonelists[ZONELIST_FALLBACK]._zonerefs; in build_zonelists_in_node_order() 5692 static void build_thisnode_zonelists(pg_data_t *pgdat) in build_thisnode_zonelists() argument 5697 zonerefs = pgdat->node_zonelists[ZONELIST_NOFALLBACK]._zonerefs; in build_thisnode_zonelists() [all …]
|
| /linux/include/linux/ |
| H A D | memory_hotplug.h | 164 static inline void pgdat_kswapd_lock(pg_data_t *pgdat) in pgdat_kswapd_lock() argument 166 mutex_lock(&pgdat->kswapd_lock); in pgdat_kswapd_lock() 169 static inline void pgdat_kswapd_unlock(pg_data_t *pgdat) in pgdat_kswapd_unlock() argument 171 mutex_unlock(&pgdat->kswapd_lock); in pgdat_kswapd_unlock() 174 static inline void pgdat_kswapd_lock_init(pg_data_t *pgdat) in pgdat_kswapd_lock_init() argument 176 mutex_init(&pgdat->kswapd_lock); in pgdat_kswapd_lock_init() 221 static inline void pgdat_kswapd_lock(pg_data_t *pgdat) {} in pgdat_kswapd_lock() argument 222 static inline void pgdat_kswapd_unlock(pg_data_t *pgdat) {} in pgdat_kswapd_unlock() argument 223 static inline void pgdat_kswapd_lock_init(pg_data_t *pgdat) {} in pgdat_kswapd_lock_init() argument 238 void pgdat_resize_lock(struct pglist_data *pgdat, unsigned long *flags) in pgdat_resize_lock() argument [all …]
|
| H A D | vmstat.h | 169 static inline void node_page_state_add(long x, struct pglist_data *pgdat, in node_page_state_add() argument 172 atomic_long_add(x, &pgdat->vm_stat[item]); in node_page_state_add() 258 extern unsigned long node_page_state(struct pglist_data *pgdat, 260 extern unsigned long node_page_state_pages(struct pglist_data *pgdat, 302 void set_pgdat_percpu_threshold(pg_data_t *pgdat, 317 static inline void __mod_node_page_state(struct pglist_data *pgdat, in __mod_node_page_state() argument 331 node_page_state_add(delta, pgdat, item); in __mod_node_page_state() 340 static inline void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item) in __inc_node_state() argument 342 atomic_long_inc(&pgdat->vm_stat[item]); in __inc_node_state() 352 static inline void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item) in __dec_node_state() argument [all …]
|
| H A D | memcontrol.h | 60 pg_data_t *pgdat; member 708 struct pglist_data *pgdat) in mem_cgroup_lruvec() argument 714 lruvec = &pgdat->__lruvec; in mem_cgroup_lruvec() 721 mz = memcg->nodeinfo[pgdat->node_id]; in mem_cgroup_lruvec() 729 if (unlikely(lruvec->pgdat != pgdat)) in mem_cgroup_lruvec() 730 lruvec->pgdat = pgdat; in mem_cgroup_lruvec() 1171 struct pglist_data *pgdat) in mem_cgroup_lruvec() argument 1173 return &pgdat->__lruvec; in mem_cgroup_lruvec() 1178 struct pglist_data *pgdat = folio_pgdat(folio); in folio_lruvec() local 1179 return &pgdat->__lruvec; in folio_lruvec() [all …]
|
| H A D | compaction.h | 96 extern void reset_isolation_suitable(pg_data_t *pgdat); 108 extern void wakeup_kcompactd(pg_data_t *pgdat, int order, int highest_zoneidx); 111 static inline void reset_isolation_suitable(pg_data_t *pgdat) in reset_isolation_suitable() argument 129 static inline void wakeup_kcompactd(pg_data_t *pgdat, in wakeup_kcompactd() argument
|
| H A D | mmzone.h | 617 void lru_gen_init_pgdat(struct pglist_data *pgdat); 630 static inline void lru_gen_init_pgdat(struct pglist_data *pgdat) in lru_gen_init_pgdat() argument 695 struct pglist_data *pgdat; member 1529 static inline unsigned long pgdat_end_pfn(pg_data_t *pgdat) in pgdat_end_pfn() argument 1531 return pgdat->node_start_pfn + pgdat->node_spanned_pages; in pgdat_end_pfn() 1536 void build_all_zonelists(pg_data_t *pgdat); 1553 void kswapd_try_clear_hopeless(struct pglist_data *pgdat, 1555 void kswapd_clear_hopeless(pg_data_t *pgdat, enum kswapd_clear_hopeless_reason reason); 1556 bool kswapd_test_hopeless(pg_data_t *pgdat); 1575 return lruvec->pgdat; in lruvec_pgdat() [all …]
|
| H A D | memory-tiers.h | 57 void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets); 65 static inline void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets) in node_get_allowed_targets() argument 109 static inline void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets) in node_get_allowed_targets() argument
|
| H A D | bootmem_info.h | 20 void __init register_page_bootmem_info_node(struct pglist_data *pgdat); 59 static inline void register_page_bootmem_info_node(struct pglist_data *pgdat) in register_page_bootmem_info_node() argument
|
| /linux/tools/testing/vma/linux/ |
| H A D | mmzone.h | 9 struct pglist_data *next_online_pgdat(struct pglist_data *pgdat); 11 #define for_each_online_pgdat(pgdat) \ argument 12 for (pgdat = first_online_pgdat(); \ 13 pgdat; \ 14 pgdat = next_online_pgdat(pgdat))
|
| /linux/tools/testing/memblock/linux/ |
| H A D | mmzone.h | 9 struct pglist_data *next_online_pgdat(struct pglist_data *pgdat); 11 #define for_each_online_pgdat(pgdat) \ argument 12 for (pgdat = first_online_pgdat(); \ 13 pgdat; \ 14 pgdat = next_online_pgdat(pgdat))
|
| /linux/drivers/base/ |
| H A D | node.c | 446 struct pglist_data *pgdat = NODE_DATA(nid); in node_read_meminfo() local 452 sreclaimable = node_page_state_pages(pgdat, NR_SLAB_RECLAIMABLE_B); in node_read_meminfo() 453 sunreclaimable = node_page_state_pages(pgdat, NR_SLAB_UNRECLAIMABLE_B); in node_read_meminfo() 455 swapcached = node_page_state_pages(pgdat, NR_SWAPCACHE); in node_read_meminfo() 474 nid, K(node_page_state(pgdat, NR_ACTIVE_ANON) + in node_read_meminfo() 475 node_page_state(pgdat, NR_ACTIVE_FILE)), in node_read_meminfo() 476 nid, K(node_page_state(pgdat, NR_INACTIVE_ANON) + in node_read_meminfo() 477 node_page_state(pgdat, NR_INACTIVE_FILE)), in node_read_meminfo() 478 nid, K(node_page_state(pgdat, NR_ACTIVE_ANON)), in node_read_meminfo() 479 nid, K(node_page_state(pgdat, NR_INACTIVE_ANON)), in node_read_meminfo() [all …]
|