svn commit: r269404 - head/sys/cddl/compat/opensolaris/sys

Justin T. Gibbs gibbs at scsiguy.com
Sat Aug 2 07:52:17 UTC 2014


On Aug 2, 2014, at 1:44 AM, Xin Li <delphij at delphij.net> wrote:

> Signed PGP part
> On 8/1/14 8:59 PM, Justin T. Gibbs wrote:
> > On Aug 1, 2014, at 4:33 PM, Xin LI <delphij at 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,

Seems reasonable to me.

—
Justin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20140802/74e68b54/attachment.sig>


More information about the svn-src-head mailing list