Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _LINUX_NUMA_H
3#define _LINUX_NUMA_H
4#include <linux/types.h>
5
6#ifdef CONFIG_NODES_SHIFT
7#define NODES_SHIFT CONFIG_NODES_SHIFT
8#else
9#define NODES_SHIFT 0
10#endif
11
12#define MAX_NUMNODES (1 << NODES_SHIFT)
13
14#define NUMA_NO_NODE (-1)
15
16/* optionally keep NUMA memory info available post init */
17#ifdef CONFIG_NUMA_KEEP_MEMINFO
18#define __initdata_or_meminfo
19#else
20#define __initdata_or_meminfo __initdata
21#endif
22
23#ifdef CONFIG_NUMA
24/* Generic implementation available */
25int numa_map_to_online_node(int node);
26
27/*
28 * Optional architecture specific implementation, users need a "depends
29 * on $ARCH"
30 */
31int phys_to_target_node(phys_addr_t addr);
32#else
33static inline int numa_map_to_online_node(int node)
34{
35 return NUMA_NO_NODE;
36}
37
38static inline int phys_to_target_node(phys_addr_t addr)
39{
40 return NUMA_NO_NODE;
41}
42#endif
43
44#endif /* _LINUX_NUMA_H */