svn commit: r260091 - in head/sys/cddl: contrib/opensolaris/uts/common/dtrace contrib/opensolaris/uts/common/sys dev/dtrace

Mark Johnston markj at freebsd.org
Tue Dec 31 03:29:20 UTC 2013


On Mon, Dec 30, 2013 at 10:21:58PM -0500, Pedro Giffuni wrote:
> 
> Il giorno 30/dic/2013, alle ore 21:40, Mark Johnston <markj at freebsd.org> ha scritto:
> 
> > On Tue, Dec 31, 2013 at 12:42:10AM +0400, Gleb Smirnoff wrote:
> >> On Mon, Dec 30, 2013 at 05:37:32PM +0000, Mark Johnston wrote:
> >> M> Author: markj
> >> M> Date: Mon Dec 30 17:37:32 2013
> >> M> New Revision: 260091
> >> M> URL: http://svnweb.freebsd.org/changeset/base/260091
> >> M> 
> >> M> Log:
> >> M>   Now that vmem(9) is available, use vmem arenas to allocate probe and
> >> M>   aggregation IDs, as is done in the upstream illumos code. This still
> >> M>   requires some FreeBSD-specific code, as our vmem API is not identical to the
> >> M>   one in illumos.
> >> M>   
> >> M>   Submitted by:	Mike Ma <mikemandarine at gmail.com>
> >> 
> >> IMHO, alloc_unr() was lighter and thus better for allocating just IDs.
> > 
> > That's true; I committed the change since it helps keep our code similar
> > to upstream and, as Pedro notes, it was a long-standing todo item on the
> > wiki. After doing some testing, it looks like vmem is a bit slower:
> > process startup is on the order of tenths of milliseconds longer with
> > this change, for executables containing one USDT probe (since such
> > probes are allocated during process startup).
> > 
> > So probably the right thing to do is revert this change. It doesn't
> > actually reduce the upstream diff as much as I'd hoped, anyway.
> > 
> 
> Since it is our option to decide, perhaps just keep the vmem version as reference and #ifdef FreeBSD alloc_unr() ?

You mean just having

#if defined(sun)
vmem code
#else
*_unr code
#endif

? That's what we'd get by reverting the change.


More information about the svn-src-head mailing list