Defined in 5 files as a prototype:

Defined in 3 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/crypto/hisilicon/qm.c hisi_qm_sort_devices() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-s32max
DATA_SOURCE 1 to $0
FUZZY_MAX 0 from 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &qm_list->lock
TYPE_LOCK (struct hisi_qm_list)->lock

mm/memory-tiers.c establish_demotion_targets() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-64
PARAM_VALUE 1 to 0-64
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
DATA_SOURCE 1 to r find_next_best_node
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &memory_tier_lock

drivers/base/node.c node_read_distance() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 1 to 0-64
CAPPED_DATA 1 to 1
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/page_alloc.c build_zonelists() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 1 to 0-s32max
DATA_SOURCE 1 to r find_next_best_node
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &zonelist_update_seq.lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct seqlock)->lock

mm/page_alloc.c build_zonelists() -> __node_distance()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &zonelist_update_seq.lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct seqlock)->lock

mm/page_alloc.c find_next_best_node() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 1 to 0-64
CAPPED_DATA 1 to 1
DATA_SOURCE 0 from $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &zonelist_update_seq.lock

mm/page_alloc.c zone_allows_reclaim() -> __node_distance()

Type Parameter Key Value
BIT_INFO 0 from 0x0,0x7fffffff
BIT_INFO 1 to 0x0,0x7fffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &oom_lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_crat.c kfd_parse_subtype_iolink() -> __node_distance()

Type Parameter Key Value
CAPPED_DATA 0 from 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &topology_lock

kernel/sched/build_utility.c find_numa_distance() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0
PARAM_VALUE 1 to 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

kernel/sched/build_utility.c init_numa_topology_type() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-64
PARAM_VALUE 1 to 0-64
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
RX_PATH
TASK_NOT_RUNNING

kernel/sched/build_utility.c init_numa_topology_type() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-64
PARAM_VALUE 1 to 0-64
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
RX_PATH
TASK_NOT_RUNNING

kernel/sched/build_utility.c init_numa_topology_type() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-64
PARAM_VALUE 1 to 0-64
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
RX_PATH
TASK_NOT_RUNNING

kernel/sched/build_utility.c numa_node_dist() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-64
PARAM_VALUE 1 to 0-64
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
DATA_SOURCE 0 from $0
DATA_SOURCE 1 to $1
RX_PATH
TASK_NOT_RUNNING

kernel/sched/build_utility.c sched_numa_warn() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-1024
PARAM_VALUE 1 to 0-1024
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
CONSTRAINT 0 from <3016
CONSTRAINT 1 to <3016
RX_PATH
TASK_NOT_RUNNING

kernel/sched/build_utility.c sched_numa_warn() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-1024
PARAM_VALUE 1 to 0-1024
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
CONSTRAINT 0 from <3016
CONSTRAINT 1 to <3016
RX_PATH
TASK_NOT_RUNNING

kernel/sched/fair.c migrate_degrades_locality() -> __node_distance()

Type Parameter Key Value
DATA_SOURCE 0 from r __cpu_to_node
DATA_SOURCE 1 to r __cpu_to_node
PARAM_COMPARE 0 from != $1
PARAM_COMPARE 1 to != $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 busiest
HALF_LOCKED2 busiest_rq
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read
HALF_LOCKED2 rf.flags

kernel/sched/fair.c preferred_group_nid() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-64
PARAM_VALUE 1 to 0-64
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

kernel/sched/fair.c score_nearby_nodes() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 1 to 0-64
CAPPED_DATA 1 to 1
DATA_SOURCE 0 from $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

kernel/sched/fair.c task_numa_migrate() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 1 to s32min-(-2),0-s32max
DATA_SOURCE 0 from r task_node
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

kernel/sched/fair.c task_numa_migrate() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 1 to s32min-(-2),0-s32max
CAPPED_DATA 1 to 1
DATA_SOURCE 0 from r task_node
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

kernel/time/clocksource.c wd_get_remote_timeout() -> __node_distance()

Type Parameter Key Value
DATA_SOURCE 0 from r __cpu_to_node
DATA_SOURCE 1 to r __cpu_to_node
BIT_INFO 0 from 0x0,0x7fffffff
BIT_INFO 1 to 0x0,0x7fffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &watchdog_lock

arch/x86/kernel/smpboot.c arch_sched_node_distance() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-1024
CAPPED_DATA 0 from 1
DATA_SOURCE 0 from $0
DATA_SOURCE 1 to $1
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/smpboot.c slit_cluster_distance() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-1024
CAPPED_DATA 0 from 1
DATA_SOURCE 0 from $0
DATA_SOURCE 1 to $1
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/smpboot.c slit_cluster_distance() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from s32min-2147483646
PARAM_VALUE 1 to s32min-2147483646
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
DATA_SOURCE 0 from $0 [m]
DATA_SOURCE 1 to $1 [m]
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/smpboot.c slit_cluster_distance() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from s32min-2147483646
PARAM_VALUE 1 to s32min-2147483646
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
DATA_SOURCE 0 from $1 [m]
DATA_SOURCE 1 to $0 [m]
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/smpboot.c slit_cluster_symmetric() -> __node_distance()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/smpboot.c slit_cluster_symmetric() -> __node_distance()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/mempolicy.c nearest_node_nodemask() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 1 to 0-64
CAPPED_DATA 1 to 1
DATA_SOURCE 0 from $0

mm/mempolicy.c numa_nearest_node() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from s32min-(-2),0-s32max
PARAM_VALUE 1 to 0-64
CAPPED_DATA 1 to 1
DATA_SOURCE 0 from $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &acpi_desc->init_mutex
HALF_LOCKED2 &hbus->state_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &hmem_resource_lock
HALF_LOCKED2 global &pci_rescan_remove_lock
HALF_LOCKED2 rcu_read

mm/numa_emulation.c numa_emulation() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-s32max
PARAM_VALUE 1 to 0-s32max
CAPPED_DATA 0 from 1
CAPPED_DATA 1 to 1
LOCK2 irq

mm/khugepaged.c collapse_scan_abort() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-1023
PARAM_VALUE 1 to 0-1023
CAPPED_DATA 0 from 1
DATA_SOURCE 0 from $0
FUZZY_MAX 1 to 1023
PARAM_COMPARE 0 from < $1
PARAM_COMPARE 1 to > $0
HARD_MAX 1 to 1023
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read

drivers/nvme/host/multipath.c __nvme_find_path() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 1 to s32min-(-2),0-s32max
DATA_SOURCE 0 from $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &head->srcu
HALF_LOCKED2 &head->lock
TYPE_LOCK (struct nvme_ns_head)->srcu

mm/sparse-vmemmap.c vmemmap_verify() -> __node_distance()

Type Parameter Key Value
PARAM_VALUE 0 from 0-s32max
CAPPED_DATA 0 from 1
DATA_SOURCE 0 from r early_pfn_to_nid
DATA_SOURCE 1 to $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq