[LLVMdev] Multi-threading and mutexes in LLVM

David Chisnall David.Chisnall at cl.cam.ac.uk
Mon Jun 9 02:35:08 PDT 2014


On 9 Jun 2014, at 10:29, Kostya Serebryany <kcc at google.com> wrote:

> On Mon, Jun 9, 2014 at 1:21 PM, David Chisnall <David.Chisnall at cl.cam.ac.uk> wrote:
> On 9 Jun 2014, at 10:19, Kostya Serebryany <kcc at google.com> wrote:
> 
> > tsan's deadlock detector (as well as helgrind and many other similar tools) detects lock order inversion, i.e. a situation which may potentially lead to a deadlock.
> 
> Yes, that's what WITNESS does in the FreeBSD kernel.  The line after the one you quoted mentioned the port of this to userspace pthreads.
> 
> Did it extend the pthread_mutex_t data structure? 

No, it stored in a look-aside structure.  We've found that requiring users to recompile all of their code, including shared libraries, for a new ABI is a non-starter.

David





More information about the llvm-dev mailing list