Re: [PATCH] net/core/flow.c CONFIG_SMP Fix in flow_cache_flush(void)

From: Patrick McHardy
Date: Sat Jan 28 2006 - 09:42:34 EST


Ashutosh Naik wrote:
> This patch fixes a warning in the function flow_cache_flush(), where
> the the function smp_call_function is entered even when CONFIG_SMP is
> not defined
>
> --- /usr/src/linux-2.6.16-rc1/net/core/flow.c.orig 2006-01-28 18:00:48.000000000 +0530
> +++ /usr/src/linux-2.6.16-rc1/net/core/flow.c 2006-01-28 18:02:16.000000000 +0530
> @@ -296,7 +296,9 @@ void flow_cache_flush(void)
> init_completion(&info.completion);
>
> local_bh_disable();
> +#ifdef CONFIG_SMP
> smp_call_function(flow_cache_flush_per_cpu, &info, 1, 0);
> +#endif /* CONFIG_SMP */

A better fix is to change smp_call_function, so you don't have to
add ifdefs to all users.

Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
diff --git a/include/linux/smp.h b/include/linux/smp.h
index 9dfa3ee..86b5065 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -94,7 +94,7 @@ void smp_prepare_boot_cpu(void);
*/
#define raw_smp_processor_id() 0
#define hard_smp_processor_id() 0
-#define smp_call_function(func,info,retry,wait) ({ 0; })
+#define smp_call_function(func,info,retry,wait) ({ int x = 0; x; })
#define on_each_cpu(func,info,retry,wait) ({ func(info); 0; })
static inline void smp_send_reschedule(int cpu) { }
#define num_booting_cpus() 1