Subject: Re: CVS commit: src/sys
To: David Laight <david@l8s.co.uk>
From: Charles M. Hannum <abuse@spamalicious.com>
List: source-changes
Date: 11/04/2003 18:00:22
On Tuesday 04 November 2003 05:57 pm, David Laight wrote:
> On Tue, Nov 04, 2003 at 05:27:57PM +0000, Charles M. Hannum wrote:
> > It seems to me that the ras_lookup() calling convention would be slightly
> > more efficient here if we just returned the old PC when there was no RAS.
> > This would require a different entry point for single-step handling, but
> > that could also be more efficient, since it could return the end of the
> > RAS and not have to search for it with repeated calls (cf. mips/trap.c).
>
> I did notice that - saves a test and branch at the cost of a write
> (to memory that is probably dirty in the cpu cache already).
>
> I would also have put multiple ras {start,end} pais into a single
> structure, with care you can avoid the need to take the lock in
> the fault/isr (or whatever) handler.

Actually, the lock is just kind of funny.  RASes can't be used in the 
multiprocessor case, and simple_lock() is a no-op if you don't compile with 
MULTIPROCESSOR (or LOCK_DEBUG).