[...]
> Here's Linux:
>
> Drivers (SMP agnostic)
The SMP/UP difference is pervasive in Linux, I don't think there is a
single SMP-agnostic driver (as far as _binaries_ go). Source is mostly
SMP-agnostic.
> Kernel (SMP/UP specific)
>
> Here's Windows:
>
> Drivers (SMP agnostic)
> Kernel (SMP agnostic)
> HAL (SMP/UP specific, contains locking primitive funcs etc.)
>
> So they use the same kernel and just switch out the HAL.
And each SMP/UP aware operation _has_ to be a separate function (no inlines
allowed this way). Doable with not too much overhead, AFAICS (at least in
principle); but maintaining (and synchronizing) a clean split will soon be
a nightmare. Or end up in two separate kernels anyway ;-)
[...]
> For one thing, it would get rid of the hundreds of "#ifdef CONFIG_SMP"s in
> the kernel. ;-)
At least the #ifdef's isolate just the places that must be different in
both cases. It might be worthwhile to abstract them out from the source
(not necesarily from the binary kernel).
-- Dr. Horst H. von Brand Usuario #22616 counter.li.org Departamento de Informatica Fono: +56 32 654431 Universidad Tecnica Federico Santa Maria +56 32 654239 Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513 - 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/