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-all
mailing list