mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH Resend][Trivial] Match on_each_cpu behaviour on UP to SMP
@ 2011-09-08  6:57 Gilad Ben-Yossef
  2011-09-13 19:02 ` Randy Dunlap
  0 siblings, 1 reply; 3+ messages in thread
From: Gilad Ben-Yossef @ 2011-09-08  6:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: Gilad Ben-Yossef, Jiri Kosina

The comment in the SMP implementation of on_each_cpu says:
 "May be used during early boot while
  early_boot_irqs_disabled is set.  Use local_irq_save/restore() instead
  of local_irq_disable/enable()."

but the existing UP macro version uses local_irq_disable/enable().

Do the safe thing - make the UP version match the SMP one.

Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
CC: Jiri Kosina <trivial@kernel.org>
---
 include/linux/smp.h |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/linux/smp.h b/include/linux/smp.h
index 8cc38d3..7c9b9d4 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -127,9 +127,10 @@ static inline int up_smp_call_function(smp_call_func_t func, void *info)
 			(up_smp_call_function(func, info))
 #define on_each_cpu(func,info,wait)		\
 	({					\
-		local_irq_disable();		\
+		unsigned long __flags;		\
+		local_irq_save(__flags);	\
 		func(info);			\
-		local_irq_enable();		\
+		local_irq_retore(__flags);	\
 		0;				\
 	})
 static inline void smp_send_reschedule(int cpu) { }
-- 
1.7.0.4


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-09-15  7:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-08  6:57 [PATCH Resend][Trivial] Match on_each_cpu behaviour on UP to SMP Gilad Ben-Yossef
2011-09-13 19:02 ` Randy Dunlap
2011-09-15  7:43   ` Gilad Ben-Yossef

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®