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

Andriy Gapon avg at FreeBSD.org
Tue Jul 14 11:18:51 UTC 2015


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 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

What source tree are you talking about?
I do not see what you say you see in vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c

>> Buffers in arc_anon state are not placed on a list.
> 
> This is correct? Or list initialization of arc_anon is missing?
> 


-- 
Andriy Gapon


More information about the svn-src-all mailing list