mit-scheme-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MIT-Scheme-devel] Symmetric MultiProcessing


From: Friar Puck
Subject: Re: [MIT-Scheme-devel] Symmetric MultiProcessing
Date: Mon, 2 Mar 2015 16:34:41 -0700

> From: Taylor R Campbell <address@hidden>
> Date: Mon, 23 Feb 2015 23:13:58 +0000
> 
> [...]
> 
> Correct.  Same with, e.g., the WITHOUT-INTERRUPTS in hashtb.scm.

OK.  The without-interrupts in hashtb.scm are actually spelled
"with-table-locked".  I replaced them with "without-interruption".
The critical sections could probably be narrowed if aborts are now the
sole concern.

I had just previously re-implemented object-hash with a pair of weak
tables and a mutex, so it seemed overkill for each table operator to
also grab and release a mutex.  I am assuming the user will serialize
operations on hash tables, just like port or string operations.

I also serialized access to the population of address hash tables.
There was the tiniest room for a race.  It took some cold load
frobination, but I implemented a "serial population" in prop1d.scm to
use in hashtb.scm, geneqht.scm and wherever.

BTW, I successfully removed string-head! from the runtime system, but
then stashed the patch.  If user threads are using strings serially,
string-head! is no worse than substring-move!(?).

> It's not about threads per se, and it's not about the keyboard per se.
> If you want a name other than WITHOUT-INTERRUPTS for greppability's
> sake, how about WITHOUT-INTERRUPTION?

OK.  I think a clean break with an old and busted abstraction is worth
it.  Thanks for the suggestion.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]