svn commit: r285025 - vendor-sys/illumos/dist/uts/common/fs/zfs
Andriy Gapon
avg at FreeBSD.org
Tue Jul 14 11:33:43 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
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
More information about the svn-src-vendor
mailing list