svn commit: r285025 - vendor-sys/illumos/dist/uts/common/fs/zfs

Slawa Olhovchenkov slw at zxy.spb.ru
Tue Jul 14 11:14:57 UTC 2015


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 at 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 at nexenta.com>
> >>   Reviewed by: Xin Li <delphij at delphij.net>
> >>   Reviewed by: Prakash Surya <me at prakashsurya.com>
> >>   Approved by: Matthew Ahrens <mahrens at delphix.com>
> >>   Author: Alek Pinchuk <alek at 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?


More information about the svn-src-all mailing list