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