>
> Now that I am writing anyway, one of the changes I needed
> to compile 2.5.8pre3 is the following.
Yeah, better patch below (__GENERIC_PER_CPU implies SMP anyway).
> Of course the real fix is to remove the #ifdef's,
> maybe using a weak symbol instead, or some other construction
> that defines an empty default that can be replaced by an actual
> routine.
Not unless you make it as readable as the current code. Having magic
appearing functions sounds cool, but beware that the cure might be
worse than the disease.
Yes, I know this patch looks like I'm moving smp_init(), but really
it's moving the #ifdef __GENERIC_PER_CPU bit past the SMP #endif.
Rusty.
--
there are those who do and those who hang on and you don't see too
many doers quoting their contemporaries. -- Larry McVoy
diff -urN -I \$.*\$ --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.5.8/init/main.c working-2.5.8-percpu/init/main.c
--- linux-2.5.8/init/main.c Mon Apr 15 11:47:50 2002
+++ working-2.5.8-percpu/init/main.c Tue Apr 16 21:11:50 2002
@@ -274,6 +274,18 @@
#else
+/* Called by boot processor to activate the rest. */
+static void __init smp_init(void)
+{
+ /* Get other processors into their bootup holding patterns. */
+ smp_boot_cpus();
+
+ smp_threads_ready=1;
+ smp_commence();
+}
+
+#endif
+
#ifdef __GENERIC_PER_CPU
unsigned long __per_cpu_offset[NR_CPUS];
@@ -301,18 +313,6 @@
{
}
#endif /* !__GENERIC_PER_CPU */
-
-/* Called by boot processor to activate the rest. */
-static void __init smp_init(void)
-{
- /* Get other processors into their bootup holding patterns. */
- smp_boot_cpus();
-
- smp_threads_ready=1;
- smp_commence();
-}
-
-#endif
/*
* We need to finalize in a non-__init function or else race conditions
-
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/