Skip site navigation (1)Skip section navigation (2)
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>