[Ecls-list] MP stability improvement

Matthew Mondor mm_lists at pulsar-zone.net
Thu Feb 9 10:10:47 UTC 2012


Some time ago, when I had important stability issues with ECL and an
HTTPd I wrote for it, I worked out a reimplementation of POSIX mutexes
for ECL.  However, most of my issues were actually related to boehm-gc,
so although I had posted the new implementation on this list back then,
I didn't really pursue it.

It seems that I am having less issues with boehm, but on a 4 cores
system I have I have been hitting odd concurrency issues causing
general instability when I stress-test the HTTPd using Apache's ab(8).

So I again tested my simplified mutex.d implementation and
interestingly, stability improved this time.  So what I did is to merge
it along with the Windows support, which still uses the old
holder/counter dance.  The new POSIX implementation avoids this and
simply relies on the POSIX primitives as directly as possible in order
to avoid race conditions.  I'm not familiar enough with Windows to
suggest patches to its implementation, though.

I here attach the diff for review, testing and comments.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ecl-mutex-diff.txt
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20120209/f0468ca1/attachment.txt>

More information about the ecl-devel mailing list