Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Dec 2013 22:59:57 -0500
From:      Mark Johnston <markj@freebsd.org>
To:        Pedro Giffuni <pfg@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff <glebius@FreeBSD.org>, Mike Ma <mikemandarine@gmail.com>, src-committers@freebsd.org
Subject:   Re: svn commit: r260091 - in head/sys/cddl: contrib/opensolaris/uts/common/dtrace contrib/opensolaris/uts/common/sys dev/dtrace
Message-ID:  <20131231035957.GC11997@charmander.home>
In-Reply-To: <BE9E80D8-33E5-43AF-9D21-123BF5544A97@FreeBSD.org>
References:  <201312301737.rBUHbW3I035088@svn.freebsd.org> <20131230204210.GD71033@FreeBSD.org> <20131231023952.GA11997@charmander.home> <7A335B4A-D986-4E6E-8D8B-22E7E7991A75@FreeBSD.org> <20131231032845.GB11997@charmander.home> <BE9E80D8-33E5-43AF-9D21-123BF5544A97@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Dec 30, 2013 at 10:49:23PM -0500, Pedro Giffuni wrote:
> 
> Il giorno 30/dic/2013, alle ore 22:28, Mark Johnston <markj@freebsd.org> ha scritto:
> 
> > 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@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@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.
> 
> 
> Rather 
> #ifdef __FreeBSD__
> *_unr code
> #else
> vmem code (FreeBSD variant)
> #endif
> 
> Not much different, but if we are going to keep dead code let’s keep at least code that is known to work ;)

IMHO, the whole point of keeping the dead code is to make it easier to
merge upstream changes, and to have a quick reference handy when comparing
illumos- and FreeBSD-specific code. That's how it's used in all of
dtrace.c, so I'd prefer to be consistent in this case as well, rather
than having two versions of FreeBSD-specific code.

-Mark



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131231035957.GC11997>