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
Seems reasonable to me.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
More information about the svn-src-all