Btw, the really scary thing is that I bet there are programs out there
that "know" about kernel internals, and do things like
#define CONFIG_SMP 1
#define __KERNEL__ 1
#include <asm/atomic.h>
in order to get the atomic helpers from the kernel, and using CONFIG_xyz
markers to force the exact version they want.
And we will inevitably always end up breaking stuff like that. Nothing we
can do about it - in the end, users can do infinitely odd things and know
about our internals, and whatever changes we do will occasionally break
some of the more incestuous code.
Linus
--