Messages in this thread Patch in this message | | | From | "Rafael J. Wysocki" <> | Subject | Re: 2.6.18-rc1-mm1 fails on amd64 (smp_call_function_single) | Date | Mon, 10 Jul 2006 00:37:14 +0200 |
| |
On Sunday 09 July 2006 23:03, Andrew Morton wrote: > On Sun, 9 Jul 2006 22:39:48 +0200 > "Rafael J. Wysocki" <rjw@sisk.pl> wrote: > > > On Sunday 09 July 2006 13:49, Gregoire Favre wrote: > > > Hello, > > > > > > can't compil it : > > > > > > CHK include/linux/compile.h > > > UPD include/linux/compile.h > > > CC init/version.o > > > LD init/built-in.o > > > LD .tmp_vmlinux1 > > > arch/x86_64/kernel/built-in.o: In function `vsyscall_set_cpu': > > > (.init.text+0x1e87): undefined reference to `smp_call_function_single' > > > make: *** [.tmp_vmlinux1] Error 1 > > > > This is because of x86_64-mm-getcpu-vsyscall.patch which breaks > > compilation without SMP and is not obviously fixable. > > Is it not as simple as adding a !SMP implementation of > smp_call_function_single(), which just calls the thing?
Like this:
arch/x86_64/kernel/vsyscall.c | 6 ++++++ 1 files changed, 6 insertions(+)
Index: linux-2.6.18-rc1-mm1/arch/x86_64/kernel/vsyscall.c =================================================================== --- linux-2.6.18-rc1-mm1.orig/arch/x86_64/kernel/vsyscall.c +++ linux-2.6.18-rc1-mm1/arch/x86_64/kernel/vsyscall.c @@ -241,10 +241,12 @@ static ctl_table kernel_root_table2[] = #endif +#ifdef CONFIG_SMP static void __cpuinit write_rdtscp_cb(void *info) { write_rdtscp_aux((unsigned long)info); } +#endif void __cpuinit vsyscall_set_cpu(int cpu) { @@ -254,10 +256,14 @@ void __cpuinit vsyscall_set_cpu(int cpu) node = cpu_to_node[cpu]; #endif if (cpu_has(&cpu_data[cpu], X86_FEATURE_RDTSCP)) { +#ifdef CONFIG_SMP /* the notifier is unfortunately not executed on the target CPU */ void *info = (void *)((node << 12) | cpu); smp_call_function_single(cpu, write_rdtscp_cb, info, 0, 1); +#else + write_rdtscp_aux(0); +#endif } /* Store cpu number in limit so that it can be loaded quickly - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |