public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] Let smp_call_function_single return -EBUSY.
@ 2007-05-14  9:23 Heiko Carstens
  2007-05-14 19:11 ` Andrew Morton
  2007-06-07 16:04 ` Satyam Sharma
  0 siblings, 2 replies; 5+ messages in thread
From: Heiko Carstens @ 2007-05-14  9:23 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-kernel, Ingo Molnar, randy.dunlap, paulus, benh,
	David Miller

From: Heiko Carstens <heiko.carstens@de.ibm.com>

All architectures that have an implementation of smp_call_function_single
let it return -EBUSY if it is asked to execute func on the current cpu.
Therefore the UP version must always return -EBUSY.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---

This of course raises another question: it is not clear in which context
the smp_call_function* functions are supposed to be called. Should it be
with preemption disabled or is preemption enabled allowed as well?
If calling with preemption enabled is allowed then the powerpc implementation
is broken, since smp_processor_id() as well as num_online_cpus() may change
while they are accessed.

 include/linux/smp.h |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Index: linux-2.6/include/linux/smp.h
===================================================================
--- linux-2.6.orig/include/linux/smp.h
+++ linux-2.6/include/linux/smp.h
@@ -99,11 +99,9 @@ static inline void smp_send_reschedule(i
 #define num_booting_cpus()			1
 #define smp_prepare_boot_cpu()			do {} while (0)
 static inline int smp_call_function_single(int cpuid, void (*func) (void *info),
-				void *info, int retry, int wait)
+					   void *info, int retry, int wait)
 {
-	/* Disable interrupts here? */
-	func(info);
-	return 0;
+	return -EBUSY;
 }
 
 #endif /* !SMP */

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

end of thread, other threads:[~2007-06-07 16:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-14  9:23 [patch] Let smp_call_function_single return -EBUSY Heiko Carstens
2007-05-14 19:11 ` Andrew Morton
2007-05-14 19:18   ` Andrew Morton
2007-05-14 23:24   ` Andi Kleen
2007-06-07 16:04 ` Satyam Sharma

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