LOCK_PROFILING in -stable

John Baldwin jhb at freebsd.org
Wed Oct 24 11:51:21 PDT 2007


On Sunday 21 October 2007 04:56:30 am Kris Kennaway wrote:
> Alfred Perlstein wrote:
> > * Robert Watson <rwatson at FreeBSD.org> [071020 10:21] wrote:
> >> On Sat, 20 Oct 2007, Kris Kennaway wrote:
> >>
> >>> Alfred Perlstein wrote:
> >>>> Hey guys, I have LOCK_PROFILING done for a product based on FreeBSD-6, 
> >>>> this means I can relatively easily backport LOCK_PROFILING from 
FreeBSD-7 
> >>>> to FreeBSD-6.
> >>>>
> >>>> Do we want this?
> >>>>
> >>>> I'd like to do it if people want it.
> >>> I think it should be done, performance is a lot better than the old 6.x 
> >>> version and it also adds another very useful performance metric (time 
> >>> spent waiting for the lock).  The only concern is that it doesn't break 
> >>> ABI support when not compiled in, but I'm pretty sure you've already 
told 
> >>> me this is OK. Thanks for looking at this.
> >> This is my feeling also -- I would consider ABI breakage a show stopper 
for 
> >> 6.x, but feel otherwise that the new code is much more mature and capable 
> >> and would be quite beneficial to people building appliances and related 
> >> products on 6.x. You might check with Attilio about whether there are any 
> >> remaining outstanding issues that need to be resolved first, and make 
sure 
> >> to send a heads up out on stable@ and put a note in UPDATING that the 
> >> option and details have changed.
> > 
> > I still get confused as to the meaning of this...
> > 
> > It only breaks ABI when it's enabled.
> > 
> > I think that is OK, right?
> > 
> 
> Yes, that is fine.  Other existing debugging options also break ABI when 
> enabled, so it's OK.

Well, MUTEX_PROFILING does and LOCK_PROFILING is the same thing.  This option 
is a known "special case" that breaks the ABI and people using it should 
already be aware of that.  Other debugging options (INVARIANTS, WITNESS, 
etc.) do not affect the ABI.

-- 
John Baldwin


More information about the freebsd-stable mailing list