|
@@ -119,11 +119,20 @@ static inline int numa_node_id(void)
|
|
* Use the accessor functions set_numa_mem(), numa_mem_id() and cpu_to_mem().
|
|
* Use the accessor functions set_numa_mem(), numa_mem_id() and cpu_to_mem().
|
|
*/
|
|
*/
|
|
DECLARE_PER_CPU(int, _numa_mem_);
|
|
DECLARE_PER_CPU(int, _numa_mem_);
|
|
|
|
+extern int _node_numa_mem_[MAX_NUMNODES];
|
|
|
|
|
|
#ifndef set_numa_mem
|
|
#ifndef set_numa_mem
|
|
static inline void set_numa_mem(int node)
|
|
static inline void set_numa_mem(int node)
|
|
{
|
|
{
|
|
this_cpu_write(_numa_mem_, node);
|
|
this_cpu_write(_numa_mem_, node);
|
|
|
|
+ _node_numa_mem_[numa_node_id()] = node;
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifndef node_to_mem_node
|
|
|
|
+static inline int node_to_mem_node(int node)
|
|
|
|
+{
|
|
|
|
+ return _node_numa_mem_[node];
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
@@ -146,6 +155,7 @@ static inline int cpu_to_mem(int cpu)
|
|
static inline void set_cpu_numa_mem(int cpu, int node)
|
|
static inline void set_cpu_numa_mem(int cpu, int node)
|
|
{
|
|
{
|
|
per_cpu(_numa_mem_, cpu) = node;
|
|
per_cpu(_numa_mem_, cpu) = node;
|
|
|
|
+ _node_numa_mem_[cpu_to_node(cpu)] = node;
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
@@ -159,6 +169,13 @@ static inline int numa_mem_id(void)
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#ifndef node_to_mem_node
|
|
|
|
+static inline int node_to_mem_node(int node)
|
|
|
|
+{
|
|
|
|
+ return node;
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
#ifndef cpu_to_mem
|
|
#ifndef cpu_to_mem
|
|
static inline int cpu_to_mem(int cpu)
|
|
static inline int cpu_to_mem(int cpu)
|
|
{
|
|
{
|