summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2007-07-09 17:11:49 +0300
committerAvi Kivity <avi@qumranet.com>2007-07-16 12:05:50 +0300
commita52b1752c077cb919b71167c54968a0b91673281 (patch)
tree0305330faac81f946d7722ff6103a08385d19075 /include/linux
parentde489353918139161eee241a6224d67f22bfd024 (diff)
downloadlinux-a52b1752c077cb919b71167c54968a0b91673281.tar.gz
linux-a52b1752c077cb919b71167c54968a0b91673281.tar.bz2
linux-a52b1752c077cb919b71167c54968a0b91673281.zip
SMP: Allow smp_call_function_single() to current cpu
This removes the requirement for callers to get_cpu() to check in simple cases. This patch is for !CONFIG_SMP. Cc: Andi Kleen <ak@suse.de> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/smp.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/smp.h b/include/linux/smp.h
index 96ac21f8dd73..8039daced688 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -7,6 +7,7 @@
*/
#include <linux/errno.h>
+#include <asm/system.h>
extern void cpu_idle(void);
@@ -102,7 +103,11 @@ static inline void smp_send_reschedule(int cpu) { }
static inline int smp_call_function_single(int cpuid, void (*func) (void *info),
void *info, int retry, int wait)
{
- return -EBUSY;
+ WARN_ON(cpuid != 0);
+ local_irq_disable();
+ func(info);
+ local_irq_enable();
+ return 0;
}
#endif /* !SMP */