Date: Fri, 21 Aug 2015 13:22:05 -0700 (PDT) From: Don Lewis <truckman@FreeBSD.org> To: d@delphij.net Cc: freebsd-fs@FreeBSD.org, gibbs@freebsd.org, george.wilson@delphix.com Subject: Re: solaris assert: avl_is_empty(&dn -> dn_dbufs) panic Message-ID: <201508212022.t7LKM5Vg096499@gw.catspoiler.org> In-Reply-To: <55D7700B.3080207@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 21 Aug, Xin Li wrote: > Hi, > > A quick glance at the changes suggests that Justin's changeset may be > related. The reasoning is here: > > https://reviews.csiden.org/r/131/ > > Related Illumos ticket: > > https://www.illumos.org/issues/5056 > > In dnode_evict_dbufs(), remove multiple passes over dn->dn_dbufs. > This is possible now that objset eviction is asynchronously > completed in a different context once dbuf eviction completes. > > In the case of objset eviction, any dbufs held by children will > be evicted via dbuf_rele_and_unlock() once their refcounts go > to zero. Even when objset eviction is not active, the ordering > of the avl tree guarantees that children will be released before > parents, allowing the parent's refcounts to naturally drop to > zero before they are inspected in this single loop. Thanks. Changing USE_TMPFS in poudriere.conf from "data localbase" to "all" has me temporarily up and running. That my not work so well for my larger package build runs that will now be a lot more RAM intensive.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508212022.t7LKM5Vg096499>