x86: change _node_to_cpumask_ptr to return const ptr
* Strengthen the return type for the _node_to_cpumask_ptr to be a const pointer. This adds compiler checking to insure that node_to_cpumask_map[] is not changed inadvertently. Signed-off-by: Mike Travis <travis@sgi.com> Cc: "akpm@linux-foundation.org" <akpm@linux-foundation.org> Cc: Yinghai Lu <yhlu.kernel@gmail.com> Acked-by: Vegard Nossum <vegard.nossum@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -343,23 +343,23 @@ static const cpumask_t cpu_mask_none;
|
|||||||
/*
|
/*
|
||||||
* Returns a pointer to the bitmask of CPUs on Node 'node'.
|
* Returns a pointer to the bitmask of CPUs on Node 'node'.
|
||||||
*/
|
*/
|
||||||
cpumask_t *_node_to_cpumask_ptr(int node)
|
const cpumask_t *_node_to_cpumask_ptr(int node)
|
||||||
{
|
{
|
||||||
if (node_to_cpumask_map == NULL) {
|
if (node_to_cpumask_map == NULL) {
|
||||||
printk(KERN_WARNING
|
printk(KERN_WARNING
|
||||||
"_node_to_cpumask_ptr(%d): no node_to_cpumask_map!\n",
|
"_node_to_cpumask_ptr(%d): no node_to_cpumask_map!\n",
|
||||||
node);
|
node);
|
||||||
dump_stack();
|
dump_stack();
|
||||||
return &cpu_online_map;
|
return (const cpumask_t *)&cpu_online_map;
|
||||||
}
|
}
|
||||||
if (node >= nr_node_ids) {
|
if (node >= nr_node_ids) {
|
||||||
printk(KERN_WARNING
|
printk(KERN_WARNING
|
||||||
"_node_to_cpumask_ptr(%d): node > nr_node_ids(%d)\n",
|
"_node_to_cpumask_ptr(%d): node > nr_node_ids(%d)\n",
|
||||||
node, nr_node_ids);
|
node, nr_node_ids);
|
||||||
dump_stack();
|
dump_stack();
|
||||||
return (cpumask_t *)&cpu_mask_none;
|
return &cpu_mask_none;
|
||||||
}
|
}
|
||||||
return (cpumask_t *)&node_to_cpumask_map[node];
|
return &node_to_cpumask_map[node];
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(_node_to_cpumask_ptr);
|
EXPORT_SYMBOL(_node_to_cpumask_ptr);
|
||||||
|
|
||||||
|
@@ -60,7 +60,8 @@
|
|||||||
#ifndef node_to_cpumask_ptr
|
#ifndef node_to_cpumask_ptr
|
||||||
|
|
||||||
#define node_to_cpumask_ptr(v, node) \
|
#define node_to_cpumask_ptr(v, node) \
|
||||||
cpumask_t _##v = node_to_cpumask(node), *v = &_##v
|
cpumask_t _##v = node_to_cpumask(node); \
|
||||||
|
const cpumask_t *v = &_##v
|
||||||
|
|
||||||
#define node_to_cpumask_ptr_next(v, node) \
|
#define node_to_cpumask_ptr_next(v, node) \
|
||||||
_##v = node_to_cpumask(node)
|
_##v = node_to_cpumask(node)
|
||||||
|
@@ -82,7 +82,7 @@ DECLARE_EARLY_PER_CPU(int, x86_cpu_to_node_map);
|
|||||||
#ifdef CONFIG_DEBUG_PER_CPU_MAPS
|
#ifdef CONFIG_DEBUG_PER_CPU_MAPS
|
||||||
extern int cpu_to_node(int cpu);
|
extern int cpu_to_node(int cpu);
|
||||||
extern int early_cpu_to_node(int cpu);
|
extern int early_cpu_to_node(int cpu);
|
||||||
extern cpumask_t *_node_to_cpumask_ptr(int node);
|
extern const cpumask_t *_node_to_cpumask_ptr(int node);
|
||||||
extern cpumask_t node_to_cpumask(int node);
|
extern cpumask_t node_to_cpumask(int node);
|
||||||
|
|
||||||
#else /* !CONFIG_DEBUG_PER_CPU_MAPS */
|
#else /* !CONFIG_DEBUG_PER_CPU_MAPS */
|
||||||
@@ -103,7 +103,7 @@ static inline int early_cpu_to_node(int cpu)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Returns a pointer to the cpumask of CPUs on Node 'node'. */
|
/* Returns a pointer to the cpumask of CPUs on Node 'node'. */
|
||||||
static inline cpumask_t *_node_to_cpumask_ptr(int node)
|
static inline const cpumask_t *_node_to_cpumask_ptr(int node)
|
||||||
{
|
{
|
||||||
return &node_to_cpumask_map[node];
|
return &node_to_cpumask_map[node];
|
||||||
}
|
}
|
||||||
@@ -118,7 +118,7 @@ static inline cpumask_t node_to_cpumask(int node)
|
|||||||
|
|
||||||
/* Replace default node_to_cpumask_ptr with optimized version */
|
/* Replace default node_to_cpumask_ptr with optimized version */
|
||||||
#define node_to_cpumask_ptr(v, node) \
|
#define node_to_cpumask_ptr(v, node) \
|
||||||
cpumask_t *v = _node_to_cpumask_ptr(node)
|
const cpumask_t *v = _node_to_cpumask_ptr(node)
|
||||||
|
|
||||||
#define node_to_cpumask_ptr_next(v, node) \
|
#define node_to_cpumask_ptr_next(v, node) \
|
||||||
v = _node_to_cpumask_ptr(node)
|
v = _node_to_cpumask_ptr(node)
|
||||||
@@ -186,7 +186,7 @@ extern int __node_distance(int, int);
|
|||||||
#define cpu_to_node(cpu) 0
|
#define cpu_to_node(cpu) 0
|
||||||
#define early_cpu_to_node(cpu) 0
|
#define early_cpu_to_node(cpu) 0
|
||||||
|
|
||||||
static inline cpumask_t *_node_to_cpumask_ptr(int node)
|
static inline const cpumask_t *_node_to_cpumask_ptr(int node)
|
||||||
{
|
{
|
||||||
return &cpu_online_map;
|
return &cpu_online_map;
|
||||||
}
|
}
|
||||||
@@ -201,7 +201,7 @@ static inline int node_to_first_cpu(int node)
|
|||||||
|
|
||||||
/* Replace default node_to_cpumask_ptr with optimized version */
|
/* Replace default node_to_cpumask_ptr with optimized version */
|
||||||
#define node_to_cpumask_ptr(v, node) \
|
#define node_to_cpumask_ptr(v, node) \
|
||||||
cpumask_t *v = _node_to_cpumask_ptr(node)
|
const cpumask_t *v = _node_to_cpumask_ptr(node)
|
||||||
|
|
||||||
#define node_to_cpumask_ptr_next(v, node) \
|
#define node_to_cpumask_ptr_next(v, node) \
|
||||||
v = _node_to_cpumask_ptr(node)
|
v = _node_to_cpumask_ptr(node)
|
||||||
|
Reference in New Issue
Block a user