Bless me, Yon Schemish, for I have Schemed.

It has been 14 months since my last confession and I now have a
not-entirely-unstable SMP branch.  Edwin seems to be working quite
well, and --processors 2 continues to get it done in ~60% of the time.
I have to turn the timer interrupts way up and hit Edwin just right to
make it stumble.

While I Wonder at Chaos's fiendish hold on my Scheme, I do not want to
delay certain other preparations for Symmetric MultiProcessing --
preparations that should do no harm on the uniprocessing master
branch (other than change some user-visible bindings).

I extended the thread events mechanism with subprocess status events.
Using them, I was able to replace without-interrupts with with-thread-
events-blocked in Edwin's event handling.  I also added GC thread
events so that notifications execute in a valid dynamic state even
when the GC occurs where there is no current thread.

The user-visible changes are:

* Removed subprocess-global-status-tick and subprocess-status-tick.

* Added register-subprocess-event and deregister-subprocess-event.

* Added register-gc-event, deregister-gc-event and registered-gc-event.

Your brother in Scheme,
Friar Puck

_______________________________________________
MIT-Scheme-devel mailing list
MIT-Scheme-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/mit-scheme-devel

Reply via email to