What about MP machines? Wouldn't volatile still be needed between a
cli() and sti() because other processors might change the value out
from under you? Granted, a higher level of locking would prevent
that, but there are cases where you might want that to happen (like in
the lock manager code, assuming it uses atomic memory access
instructions).
Warner