> It turns out the problem lies in the way lock.cat tries to calculate the > rf relation for RU events (a spin_is_locked() that returns False). The > method it uses amounts to requiring that such events must read from the > lock's initial value or an LU event (a spin_unlock()) in a different > thread. This clearly is wrong, and glaringly so in this litmus test > since there are no other threads! > > A patch to fix the problem and reorganize the code a bit for greater > readability is below. I'd appreciate it if people could try it out on > various locking litmus tests in our archives. Thanks for the quick solution, Alan. The results from our archives look good. Andrea