pthread-mutex debugging (PR#44387)

Frank Wille <[email protected]>
Newsgroups gmane.os.netbsd.ports.powerpc
Organization Privates Internet Ostwestfalen/Lippe e.V.
Message-ID <[email protected]>
Hi,

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.