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