Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 02 Aug 2014 00:44:41 -0700
From:      Xin Li <delphij@delphij.net>
To:        "Justin T. Gibbs" <gibbs@scsiguy.com>, Xin LI <delphij@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, "mav >> Alexander Motin" <mav@ixsystems.com>
Subject:   Re: svn commit: r269404 - head/sys/cddl/compat/opensolaris/sys
Message-ID:  <53DC96E9.9020805@delphij.net>
In-Reply-To: <57D656EF-5D6B-428B-9DCE-7FA360B1407F@scsiguy.com>
References:  <201408012233.s71MXNIx051919@svn.freebsd.org> <57D656EF-5D6B-428B-9DCE-7FA360B1407F@scsiguy.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 8/1/14 8:59 PM, Justin T. Gibbs wrote:
> On Aug 1, 2014, at 4:33 PM, Xin LI <delphij@freebsd.org> wrote:
> 
>> Author: delphij Date: Fri Aug  1 22:33:23 2014 New Revision:
>> 269404 URL: http://svnweb.freebsd.org/changeset/base/269404
>> 
>> Log: Split gethrtime() and gethrtime_waitfree() and make the
>> former use nanouptime() instead of getnanouptime().
>> nanouptime(9) provides more precise result at expense of being
>> slower.
>> 
>> In r269223, gethrtime() is used as creation time of dbuf, which
>> in turn acts as portion of lookup key to maintain AVL invariant
>> where there can not be duplicate items.  Before this change,
>> gethrtime() have preferred better execution time by sacrificing
>> precision, which may lead to panic on busy systems with:
>> 
>> panic: avl_find() succeeded inside avl_add()
> 
> I don’t believe that r269223 requires a temporal ordering of the
> dbufs in the AVL, just unique entries.  So why use an expensive
> operation like getting high resolution time?  Can’t we just use a
> PCPU counter and tag the dbufs with "CPU# << 48 | PCPU_counter”?

What do you think about D521?  (Alexander suggested similar
implementation).

https://phabric.freebsd.org/D521

Cheers,

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJT3JboAAoJEJW2GBstM+nsq7wP/j+QfLnkTVTIgFWk15L2haeo
V6lPD2GwjggxGn50S9+POOiB1V4kZwTEydkEJ+4vMXkH+Evke5p0eYObF7Ye1ejc
UqprnIuEK3N63YkbX2tNkIX22zCJd5KKvnHjWd7IR88c2XT2doPwo+o9IsaWFdrW
Gn2FYr1hsw3Pi5PKytzEhc1zOpBa/kXy6gy9ZDOjBCnUXjL6v29GlOa5L+VLCOtG
mGpiVdWl18unLW+x0uoT4AfDVeyNYJGIDMzzV5OBtLp14fcDCcWPswwpq4VMDdrf
ZWLarOahwpjD7eO9MHFMXgtrZVzj7qY3xXJJDsiNWv109TwOvHx9NmYAVtP3CT3g
T5QrkXJzuWJlIsBAX1bHtdLMRRAdSTDN8q9XE3r+2TJ1NUpazEEkA7iRpXLrlvbP
rEyFGjr3CEKdGQXMdGx3kpqgqYLRAdo3MdXQIXU/OpWY3CAqm82ljQtqHmfuDHO1
Kb5rcqLxApKaxGqoq7GnZH5vHfrU9ulaYBBTykV3PyCGV5A4p4FWUJBUaS/FaKZv
+w53o87L+LRPniyPU5V6i18I/M2X3mIGzUCv+i5oK7ac0O5hMOkORXVs8KTiQ7DG
zCzw2eUG26cDGDGPzpixvVKPBKqFTDROQIttmtm5x234zESFINtS534Hdl+XAsDh
zSVHaNCcebZ0RYiphbd3
=fb7k
-----END PGP SIGNATURE-----



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