Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pthread-mutex debugging (PR#44387)


today I spent some time on debugging PR #44387 (some pthread mutex tests
run forever). As Jeff Rizzo wrote, the problem disappears when compiling
a kernel with DIAGNOSTIC option.

I could now isolate the problem on sys/kern/kern_mutex.c. It was
sufficient to compile kern_mutex.c with -DFULL to make the problem
disappear. The rest of the kernel was compiled without DIAGNOSTIC.

FULL enables the use of __cpu_simple_lock_try() and __cpu_simple_unlock()
when locking/unlocking a mutex, which sets/unsets a variable in an
atomic operation.

Unfortunately I still don't see what is wrong here. I fear the problem
is somewhere else and using the "full" locking code hides it somehow.

I'm open for any ideas on this issue.

Frank Wille

Home | Main Index | Thread Index | Old Index