2007-08-24 15:36:40

by Laurent Vivier

[permalink] [raw]
Subject: [PATCH] export i386 smp_call_function_mask() to modules

Index: kvm/arch/i386/kernel/smp.c
===================================================================
--- kvm.orig/arch/i386/kernel/smp.c 2007-08-24 17:09:46.000000000 +0200
+++ kvm/arch/i386/kernel/smp.c 2007-08-24 17:09:48.000000000 +0200
@@ -705,3 +705,10 @@ struct smp_ops smp_ops = {
.smp_send_reschedule = native_smp_send_reschedule,
.smp_call_function_mask = native_smp_call_function_mask,
};
+
+int smp_call_function_mask(cpumask_t mask, void (*func) (void *info),
+ void *info, int wait)
+{
+ return smp_ops.smp_call_function_mask(mask, func, info, wait);
+}
+EXPORT_SYMBOL(smp_call_function_mask);
Index: kvm/include/asm-i386/smp.h
===================================================================
--- kvm.orig/include/asm-i386/smp.h 2007-08-24 17:09:46.000000000 +0200
+++ kvm/include/asm-i386/smp.h 2007-08-24 17:10:34.000000000 +0200
@@ -92,12 +92,9 @@ static inline void smp_send_reschedule(i
{
smp_ops.smp_send_reschedule(cpu);
}
-static inline int smp_call_function_mask(cpumask_t mask,
- void (*func) (void *info), void *info,
- int wait)
-{
- return smp_ops.smp_call_function_mask(mask, func, info, wait);
-}
+extern int smp_call_function_mask(cpumask_t mask,
+ void (*func) (void *info), void *info,
+ int wait);

void native_smp_prepare_boot_cpu(void);
void native_smp_prepare_cpus(unsigned int max_cpus);


Attachments:
smp_call_function_mask-i386 (1.33 kB)

2007-08-24 17:48:53

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [PATCH] export i386 smp_call_function_mask() to modules

On Fri, 24 Aug 2007 17:36:35 +0200
Laurent Vivier <[email protected]> wrote:

> This patch export i386 smp_call_function_mask() with EXPORT_SYMBOL().
>
> This function is needed by KVM to call a function on a set of CPUs.
>
> arch/i386/kernel/smp.c | 7 +++++++
> include/asm-i386/smp.h | 9 +++------
> 2 files changed, 10 insertions(+), 6 deletions(-)
>
> Signed-off-by: Laurent Vivier <[email protected]>

hmm isn't it being an inline also making it available for KVM to use?
If so... isn't your patch description entirely not matching what the
code does?