Comment 6 for bug 332002

Gábor Melis (melisgl) wrote :

It consistently passes for me.

However, I found a few related issues and made fixes available on the waitqueue branch [2] of my git tree [1].

The test that's added in the "less pessimal waitqueues" commit displays rather erratic behaviour on my system: it finishes in 2s or it hangs for a few seconds here and there and then continues. The strange thing is that it can affect the system to the point where X becomes unresponsive, and even switching between character based virtual terminals is impossible. Then it unwedges and life goes on. Is this similar behaviour to what you observe?

I suspect what I see is kernel issue, mine is 2.6.26. Reading [3] made me add the FUTEX_WAIT_PRIVATE, FUTEX_WAKE_PRIVATE flags to the relevant calls but they didn't help much, save for measurably reducing contention between mmap and futex.

Could you please test this branch? The last commit (the futex private one) may not work on your kernel, use the one before it.

[1] http://quotenil.com/git/sbcl.git
[2] http://quotenil.com/git/?p=sbcl.git;a=shortlog;h=waitqueue
[3] http://blogs.sun.com/roland/entry/real_time_java_and_futexes