On Tue, Jan 27, 2004 at 05:58:31PM -0800, Kevin Paul Herbert wrote: > In edit 1.68, the non-interrupt locking versions of > raw_readq()/raw_writeq() were removed, in favor of locking ones. While > this makes sense in general, it breaks the compilation of the sb1250 > which uses the non-locking versions (____raw_readq() and > ____raw_writeq()) in interrupt handlers. > > Personally, I think that it is very confusing to have so many similar > macros with similar names and increasing numbers of underscores, so I > don't really have a problem with this. I've modified > arch/mips/sibyte/sb1250/time.c and arch/mips/sibyte/sb1250/irq.c to use > the __ versions and have a few more instructions of overhead. You actually have no extra overhead - the old versions were broken such that they were doing the locking thing anyway; this was the primary reason for the fix. As for the naming, in general Linux uses a double underscore name prefix to indicate a more raw, basic version of a function. This naming principle applied twice leads to a quad underscore name prefix. Which is consequent but ugly. > My question is whether this removal was intended or not, or whether > there are some other changes to the handlers in the sb1250-specific code > that got dropped somewhere. > > If the consensus is that the ____ versions really should perish for the > sake of simplicity, I'll send my simple patches to the list to fix the > sb1250 build. It was removed intensionally under the false assumption the quad-underscore variants were unused. Ralf