Date: Tue, 14 Jul 2015 14:33:03 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: Slawa Olhovchenkov <slw@zxy.spb.ru> 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: <55A4F36F.8070009@FreeBSD.org> In-Reply-To: <20150714111455.GH44094@zxy.spb.ru> References: <201507021101.t62B1SlK075159@repo.freebsd.org> <20150712135246.GA43740@zxy.spb.ru> <55A4E40C.3090608@FreeBSD.org> <20150714111455.GH44094@zxy.spb.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On 14/07/2015 14:14, Slawa Olhovchenkov wrote: > 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 Yes, this is a harmless duplication. >> Buffers in arc_anon state are not placed on a list. > > This is correct? Yes, this is correct. E.g. see arc_change_state(). > Or list initialization of arc_anon is missing? No, it's not needed. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55A4F36F.8070009>