I'm afraid we'll have to go the latter way, because the same limitation is
for irqsafe spinlocks, rwlocks etc. %psr register is just badly designed,
fortunately Sun fixed this in v9. cli() already does a psr read and write,
save_flags(flags); cli(); takes even three psr accesses (but spinlocks use
save_and_cli()), so I guess we can take 4 more instructions (masking can be
done instead of the nops) in restore_flags. The IDE
save_flags/cli/restore_flags is on SMP far slower than those four insns
anyway.
Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
UltraLinux | http://ultra.linux.cz/ | http://ultra.penguin.cz/
Linux version 2.3.10 on a sparc64 machine (1343.49 BogoMips)
___________________________________________________________________
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/