aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/softirq.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2011-09-18 00:22:57 +0100
committerJan Beulich <jbeulich@suse.com>2011-09-18 00:22:57 +0100
commit6ac9f9c55cce7e94445120ee8751a165dfe2d9d3 (patch)
tree564d7e5fb09327622ca78c5202212c90baca88b5 /xen/common/softirq.c
parent645bf0d3fb22c91491c73dd16d184e8e986e1251 (diff)
downloadxen-6ac9f9c55cce7e94445120ee8751a165dfe2d9d3.tar.gz
xen-6ac9f9c55cce7e94445120ee8751a165dfe2d9d3.tar.bz2
xen-6ac9f9c55cce7e94445120ee8751a165dfe2d9d3.zip
convert more literal uses of cpumask_t to pointers
This is particularly relevant as the number of CPUs to be supported increases (as recently happened for the default thereof). Signed-off-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/common/softirq.c')
-rw-r--r--xen/common/softirq.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/xen/common/softirq.c b/xen/common/softirq.c
index 30559ce7b2..b0e4890c75 100644
--- a/xen/common/softirq.c
+++ b/xen/common/softirq.c
@@ -68,15 +68,16 @@ void open_softirq(int nr, softirq_handler handler)
softirq_handlers[nr] = handler;
}
-void cpumask_raise_softirq(cpumask_t mask, unsigned int nr)
+void cpumask_raise_softirq(const cpumask_t *mask, unsigned int nr)
{
int cpu;
+ cpumask_t send_mask = CPU_MASK_NONE;
- for_each_cpu_mask(cpu, mask)
- if ( test_and_set_bit(nr, &softirq_pending(cpu)) )
- cpu_clear(cpu, mask);
+ for_each_cpu_mask(cpu, *mask)
+ if ( !test_and_set_bit(nr, &softirq_pending(cpu)) )
+ cpu_set(cpu, send_mask);
- smp_send_event_check_mask(&mask);
+ smp_send_event_check_mask(&send_mask);
}
void cpu_raise_softirq(unsigned int cpu, unsigned int nr)