Jeff Waugh wrote:
<quote who="O Plameras">
Just confirming you don't.
Perhaps you read the list about as carefully as you write your emails. *In
this very thread* I mentioned our experimentation with dynamically enabling
and disabling the SMP locks, thus allowing us to ship a single package that
supports both UP and SMP *instead of two packages*.
#define spin_lock_init(lock) do { (void)(lock); } while(0)
#define _raw_spin_lock(lock) do { (void)(lock); } while(0)
I am reading this cited macros. This is very very clear.
It is very very clear what it says, and, i.e., regardless of what
is the value of 'lock' the kernel should do nothing.
I would have written this to say, as an illustration,
If lock = 0, do nothing;
if lock = 1, do shared-mem-1;
if lock = 2, do shared-mem-2;
if lock = 3, do sem;
etc.
Now, because it is written the way it is, I figured out
SMP cannot be implemented because spinlock macro
does nothing and in this situation you will have what
you are trying to avoid a "WiggleSplatBingoKernel"
when SMP is implemented.
Hope this clarifies.
O Plameras
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html