Date: Tue, 14 Jul 2015 14:14:55 +0300 From: Slawa Olhovchenkov <slw@zxy.spb.ru> To: Andriy Gapon <avg@FreeBSD.org> Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-vendor@FreeBSD.org Subject: Re: svn commit: r285025 - vendor-sys/illumos/dist/uts/common/fs/zfs Message-ID: <20150714111455.GH44094@zxy.spb.ru> In-Reply-To: <55A4E40C.3090608@FreeBSD.org> References: <201507021101.t62B1SlK075159@repo.freebsd.org> <20150712135246.GA43740@zxy.spb.ru> <55A4E40C.3090608@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jul 14, 2015 at 01:27:24PM +0300, Andriy Gapon wrote: > On 12/07/2015 16:52, Slawa Olhovchenkov wrote: > > On Thu, Jul 02, 2015 at 11:01:28AM +0000, Andriy Gapon wrote: > > > >> Author: avg > >> Date: Thu Jul 2 11:01:27 2015 > >> New Revision: 285025 > >> URL: https://svnweb.freebsd.org/changeset/base/285025 > >> > >> Log: > >> 6033 arc_adjust() should search MFU lists for oldest buffer when adjusting MFU size > >> > >> illumos/illumos-gate@31c46cf23cd1cf4d66390a983dc5072d7d299ba2 > >> > >> https://www.illumos.org/issues/6033 > >> When we're looking for the list containing oldest buffer we never actually look > >> at the MFU lists even when we try to evict from MFU. > >> looks like a copy paste error, the fix is here: > >> > >> Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com> > >> Reviewed by: Xin Li <delphij@delphij.net> > >> Reviewed by: Prakash Surya <me@prakashsurya.com> > >> Approved by: Matthew Ahrens <mahrens@delphix.com> > >> Author: Alek Pinchuk <alek@nexenta.com> > >> Obtained from: illumos > >> > >> Modified: > >> vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c > >> > > > > Can you see also at arc_init:4297? > > I see double init arc_mfu_ghost->arcs_lists[i] and no init arc_anon. > > This is correct? > > > > There is no double initialization if you look harder, one initialization is for > data and the other is for metadata. 4295: list_create(&arc_mfu_ghost->arcs_lists[i], sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); 4297: list_create(&arc_mfu_ghost->arcs_lists[i], sizeof (arc_buf_hdr_t), offsetof(arc_buf_hdr_t, b_arc_node)); I see two absolutly identical initialization > Buffers in arc_anon state are not placed on a list. This is correct? Or list initialization of arc_anon is missing?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150714111455.GH44094>