LOCK_PROFILING in -stable
Alfred Perlstein
alfred at freebsd.org
Wed Oct 24 13:41:11 PDT 2007
* Skip Ford <skip at menantico.com> [071024 10:47] wrote:
> Robert Watson wrote:
> > On Sat, 20 Oct 2007, Alfred Perlstein wrote:
> >
> > >>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?
> >
> > As we're eliminating MUTEX_PROFILING and replacing it with LOCK_PROFILING,
> > I think it is OK that the ABI for one differs from the other as long as the
> > base kernel ABI remains static. I.e., this seems OK to me also.
>
> If -stable will have LOCK_PROFILING, it'd be really nice to have
> it compatible with a standard world in some way, even if just with
> a makefile hack that builds netstat_lp(1) in addition to
> netstat(1) (and other utilities.)
>
> One can easily boot a diskless email, web, or name server into
> kernels with other debug-type options without maintaining
> multiple worlds. One might want to run a LOCK_PROFILING stable
> kernel on a diskless email server for a period of time, but
> that will require either a matching world, or putting up with
> breakage for that period of time, neither of which is a fair
> expectation in a stable environment, IMO.
>
> I can maintain local makefile hacks for production if somebody
> with some makefile foo gets me started.
This is really beyond the scope of what I have time for however
I can say that probably all that is needed is a Makefile that
uses something like a makefile in a directory next to netstat
called netstat_lp and either duplicate the makefile and add:
SRCDIR= ${.CURDIR}/netstat
CFLAGS+= -DLOCKPROFILING
or like make the netstat directory have a "Makefile.netstat.inc" in it
with the common parts and have both Makefiles for netstat and netstat_lp
include it. in fact you could hack netstat to exec netstat_lp if the
sysctls indicating lockprofiling is enabled... ewwww. :)
good luck!
--
- Alfred Perlstein
More information about the freebsd-stable
mailing list