Linux Audio

Check our new training course

Embedded Linux training

Mar 31-Apr 8, 2025
Register
Loading...
v3.15
 
 1#ifndef _ASM_ALPHA_TOPOLOGY_H
 2#define _ASM_ALPHA_TOPOLOGY_H
 3
 4#include <linux/smp.h>
 5#include <linux/threads.h>
 6#include <asm/machvec.h>
 7
 8#ifdef CONFIG_NUMA
 9static inline int cpu_to_node(int cpu)
10{
11	int node;
12	
13	if (!alpha_mv.cpuid_to_nid)
14		return 0;
15
16	node = alpha_mv.cpuid_to_nid(cpu);
17
18#ifdef DEBUG_NUMA
19	BUG_ON(node < 0);
20#endif
21
22	return node;
23}
24
25extern struct cpumask node_to_cpumask_map[];
26/* FIXME: This is dumb, recalculating every time.  But simple. */
27static const struct cpumask *cpumask_of_node(int node)
28{
29	int cpu;
30
31	if (node == -1)
32		return cpu_all_mask;
33
34	cpumask_clear(&node_to_cpumask_map[node]);
35
36	for_each_online_cpu(cpu) {
37		if (cpu_to_node(cpu) == node)
38			cpumask_set_cpu(cpu, node_to_cpumask_map[node]);
39	}
40
41	return &node_to_cpumask_map[node];
42}
43
44#define cpumask_of_pcibus(bus)	(cpu_online_mask)
45
46#endif /* !CONFIG_NUMA */
47# include <asm-generic/topology.h>
48
49#endif /* _ASM_ALPHA_TOPOLOGY_H */
v4.17
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _ASM_ALPHA_TOPOLOGY_H
 3#define _ASM_ALPHA_TOPOLOGY_H
 4
 5#include <linux/smp.h>
 6#include <linux/threads.h>
 7#include <asm/machvec.h>
 8
 9#ifdef CONFIG_NUMA
10static inline int cpu_to_node(int cpu)
11{
12	int node;
13	
14	if (!alpha_mv.cpuid_to_nid)
15		return 0;
16
17	node = alpha_mv.cpuid_to_nid(cpu);
18
19#ifdef DEBUG_NUMA
20	BUG_ON(node < 0);
21#endif
22
23	return node;
24}
25
26extern struct cpumask node_to_cpumask_map[];
27/* FIXME: This is dumb, recalculating every time.  But simple. */
28static const struct cpumask *cpumask_of_node(int node)
29{
30	int cpu;
31
32	if (node == -1)
33		return cpu_all_mask;
34
35	cpumask_clear(&node_to_cpumask_map[node]);
36
37	for_each_online_cpu(cpu) {
38		if (cpu_to_node(cpu) == node)
39			cpumask_set_cpu(cpu, node_to_cpumask_map[node]);
40	}
41
42	return &node_to_cpumask_map[node];
43}
44
45#define cpumask_of_pcibus(bus)	(cpu_online_mask)
46
47#endif /* !CONFIG_NUMA */
48# include <asm-generic/topology.h>
49
50#endif /* _ASM_ALPHA_TOPOLOGY_H */