WITNESS for pthreads

Alfred Perlstein alfred at freebsd.org
Tue Mar 31 11:22:35 PDT 2009

* John Baldwin <jhb at freebsd.org> [090331 08:03] wrote:
> On Tuesday 31 March 2009 2:50:27 am Daniel Eischen wrote:
> > > Ok, I have poked around at these... all the mutex attributes defined here
> > > do is set the attributes to shared. There does not seem to be any standard
> > > naming mechanism.
> > 
> > Naming mechanism for what?  Names shouldn't be needed for anything,
> > nor do I think it is desired.
> Off topic: names would be very helpful to port witness to pthreads.  The 
> thoughts I have had for doing this though would be to add a new _np attribute 
> to set the name.  I actually would like to write a 'libwitness' that 
> basically overrides the various symbols and provides the name_np attribute 
> and implement witness in the shared library on top of whatever pthreads 
> library is in use.  This would also allow it to be portable to other OS's.  
> (Well, it could break pshared mutexes, but using the pointer-style types, you 
> could have the libwitness allocate its own "mutex" structure which has 
> a "real" mutex inside of it along with the name and other per-lock data it 
> tracks.  It would then forward mutex operations to the real pthreads library 
> after performing LOR checks, etc.).

I've heard of this work being done by multiple other places in house.

so you have a great idea, if you have time to run with it, it would
likely eb greatly appreciated and give FreeBSD a big bump as a development


More information about the freebsd-threads mailing list