Subject: Re: Restartable Atomic Sequences
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Gregory McGarry <g.mcgarry@ieee.org>
List: tech-kern
Date: 07/05/2002 09:52:10
Jonathan Stone wrote:
 
> Just a nitpick: yes, don't use syscalls, but the syscalls numbers
> you're getting gugtest a poorly tuned emulation.  Brian Bershad's
> numbers were more like an 8-fold difference between kernel emulation
> and restartable sequences.  The numbers you got are more like 20-fold.

The mips numbers are worse:

	syscall:	179.647636 seconds
	ras:		3.458815 seconds with 19 restarts
 
> At Stanford, the V-kernel mutex emulation was handled in a special
> `fast path' in the trap hanlder. I'm not sure, but I think Mach did so
> too.
> 
> It does lead to an interesting point: how to switch between software
> schemes on old MIPS cpus, and using ll/sc on newer cpus?  (cpu
> model-specific shared libs?, what about statically-linked code)?

I will add machdep.llsc sysctl for model-specific library.
Unfortunately, static binaries linked against libpthread currently
don't work on mips.  Something wrong with _init() not being
invoked.  But you do mention another issue to add to the list.

	-- Gregory McGarry <g.mcgarry@ieee.org>