linux-mips
[Top] [All Lists]

Re: Removal of ____raw_readq() and ____raw_writeq() from asm-mips/io.h

To: Kevin Paul Herbert <kph@cisco.com>
Subject: Re: Removal of ____raw_readq() and ____raw_writeq() from asm-mips/io.h
From: Ralf Baechle <ralf@linux-mips.org>
Date: Wed, 28 Jan 2004 15:30:04 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <1075255111.8744.4.camel@shakedown>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1075255111.8744.4.camel@shakedown>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.1i
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

<Prev in Thread] Current Thread [Next in Thread>