Date: Tue, 13 Nov 2001 21:11:15 -0600 (CST) From: Loren James Rittle <rittle@latour.rsch.comm.mot.com> To: current@freebsd.org Subject: Re: Report on FreeBSD 4.4 pthread implementation verses boehm-gc Message-ID: <200111140311.fAE3BFX14844@latour.rsch.comm.mot.com> In-Reply-To: <Pine.SUN.3.91.1011110095953.20896A-100000@pcnet1.pcnet.com> (message from Daniel Eischen on Sat, 10 Nov 2001 10:09:14 -0500 (EST)) References: <Pine.SUN.3.91.1011110095953.20896A-100000@pcnet1.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <Pine.SUN.3.91.1011110095953.20896A-100000@pcnet1.pcnet.com>, Daniel Eischen <eischen@pcnet1.pcnet.com> writes: > [ Followups to -current ] >> [...] However, this work has uncovered either a rare race condition >> in the 4.X pthread implementation (also seen on a current 5.0 >> system) or a bad assumption in the GC signal code (abstracted >> below). [...] > Try the following patch; this is to -current, you'll have to massage > it a bit for -stable (Hint: s/curthread/_thread_run/ in -stable). I have added Daniel's patch to my 4.4-STABLE tree (converting it as he suggested) and rebuilt libc_r.so.4. I can confirm (1) that the test case I posted now operates fine; (2) that the hack to ignore the spurious EINTR return from pthread_join() in boehm-gc is no longer required; and (3) that the more complex test case runs, on average, about 200-400 complete test cycles without deadlock compared to the past rate of deadlock of approximately 1 out of every 6-12 cycles. The rarer deadlock is still being investigated but it looks like a different problem than that addressed by Daniel's patch. I will post another test case or more information (to -hackers) once I have it. Great work Daniel. I (and future libjava users) thank you. Regards, Loren To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200111140311.fAE3BFX14844>