Defined in 3 files as a prototype:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

mm/show_mem.c __show_mem() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 global &oom_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/show_mem.c show_free_areas() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 global &oom_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/show_mem.c show_free_areas() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 global &oom_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/show_mem.c show_free_areas() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 global &oom_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/show_mem.c show_free_areas() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 global &oom_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/show_mem.c si_mem_available() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 global &balloon_mutex

mm/huge_memory.c split_huge_pages_all() -> first_online_pgdat()

Type Parameter Key Value
LOCK2 &split_debug_mutex

mm/page_reporting.c page_reporting_process() -> first_online_pgdat()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock

mm/vmstat.c cpu_vm_stats_fold() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

mm/vmstat.c cpu_vm_stats_fold() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

mm/vmstat.c fold_vm_numa_events() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &of->mutex

mm/vmstat.c frag_start() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

mm/vmstat.c need_update() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/vmstat.c refresh_cpu_vm_stats() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
HALF_LOCKED2 irq

mm/vmstat.c refresh_cpu_vm_stats() -> first_online_pgdat()

Type Parameter Key Value
HALF_LOCKED2 irq

mm/vmstat.c refresh_zone_stat_thresholds() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/vmstat.c refresh_zone_stat_thresholds() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/vmstat.c zero_zones_numa_counters() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &vm_numa_stat_lock
HALF_LOCKED2 &pool->lock

mm/memory-tiers.c demotion_enabled_store() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

mm/memory_hotplug.c auto_movable_can_online_movable() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex

mm/mm_init.c page_alloc_init_late() -> first_online_pgdat()

Type Parameter Key Value

mm/mm_init.c pfn_range_intersects_zones() -> first_online_pgdat()

Type Parameter Key Value
HALF_LOCKED2 irq

mm/hugetlb.c hugetlb_bootmem_struct_page_init() -> first_online_pgdat()

Type Parameter Key Value

kernel/power/snapshot.c copy_data_pages() -> first_online_pgdat()

Type Parameter Key Value

kernel/power/snapshot.c count_data_pages() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

kernel/power/snapshot.c create_mem_extents() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &system_transition_mutex
HALF_LOCKED2 global &device_hotplug_lock

kernel/power/snapshot.c enough_free_mem() -> first_online_pgdat()

Type Parameter Key Value

kernel/power/snapshot.c hibernate_preallocate_memory() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex

mm/page_alloc.c __drain_all_pages() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &pcpu_drain_mutex
HALF_LOCKED2 &m->lock

mm/page_alloc.c __setup_per_zone_wmarks() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lock
HALF_LOCKED2 &dev->mutex

mm/page_alloc.c __setup_per_zone_wmarks() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lock
HALF_LOCKED2 &dev->mutex

mm/page_alloc.c calculate_totalreserve_pages() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &lock

mm/page_alloc.c drain_pages() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &pcpu_drain_mutex

mm/page_alloc.c has_managed_zone() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c page_alloc_cpu_dead() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

mm/page_alloc.c page_alloc_cpu_online() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

mm/page_alloc.c percpu_pagelist_high_fraction_sysctl_handler() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &pool->lock

mm/page_alloc.c setup_min_slab_ratio() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/page_alloc.c setup_min_slab_ratio() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/page_alloc.c setup_min_unmapped_ratio() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/page_alloc.c setup_min_unmapped_ratio() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/page_alloc.c setup_pcp_cacheinfo() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

mm/page_alloc.c setup_per_cpu_pageset() -> first_online_pgdat()

Type Parameter Key Value

mm/page_alloc.c setup_per_cpu_pageset() -> first_online_pgdat()

Type Parameter Key Value

mm/page_alloc.c setup_per_zone_lowmem_reserve() -> first_online_pgdat()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/page_alloc.c setup_per_zone_wmarks() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/memblock.c reset_all_zones_managed_pages() -> first_online_pgdat()

Type Parameter Key Value
LOCK2 irq

mm/khugepaged.c set_recommended_min_free_kbytes() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->lock

mm/kmemleak.c __kmemleak_scan() -> first_online_pgdat()

Type Parameter Key Value
LOCK2 global &scan_mutex

mm/memcontrol-v1.c memcg1_stat_format() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 global &oom_lock

mm/page_owner.c init_early_allocated_pages() -> first_online_pgdat()

Type Parameter Key Value
HALF_LOCKED2 irq

kernel/sched/core.c reset_memory_tiering() -> first_online_pgdat()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock