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

Pedro Giffuni pfg at FreeBSD.org
Tue Dec 31 03:49:41 UTC 2013


Il giorno 30/dic/2013, alle ore 22:28, Mark Johnston <markj at 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 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.


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 ;)

Pedro.


More information about the svn-src-head mailing list