Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Oct 2014 15:44:55 +0100
From:      "Steven Hartland" <killing@multiplay.co.uk>
To:        "Ian Lepore" <ian@FreeBSD.org>, "Xin LI" <delphij@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r272506 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <D120B09D13D2457786E88D755911BF2E@multiplay.co.uk>
References:  <201410040814.s948EBH0003546@svn.freebsd.org> <1412433165.12052.106.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Does the attached patch fix this for your Ian?

    Regards
    Steve
----- Original Message ----- 
From: "Ian Lepore" <ian@FreeBSD.org>
To: "Xin LI" <delphij@FreeBSD.org>
Cc: <src-committers@freebsd.org>; <svn-src-all@freebsd.org>; <svn-src-head@freebsd.org>
Sent: Saturday, October 04, 2014 3:32 PM
Subject: Re: svn commit: r272506 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs


> On Sat, 2014-10-04 at 08:14 +0000, Xin LI wrote:
>> Author: delphij
>> Date: Sat Oct  4 08:14:10 2014
>> New Revision: 272506
>> URL: https://svnweb.freebsd.org/changeset/base/272506
>>
>> Log:
>>   MFV r272495:
>>
>>   In arc_kmem_reap_now(), reap range_seg_cache too to reclaim memory in
>>   response of memory pressure.
>>
>>   Illumos issue:
>>       5163 arc should reap range_seg_cache
>>
>>   MFC after: 1 week
>>
>> Modified:
>>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
>>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c
>> Directory Properties:
>>   head/sys/cddl/contrib/opensolaris/   (props changed)
>>
>> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
>> ==============================================================================
>> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Oct  4 08:08:56 2014 (r272505)
>> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Oct  4 08:14:10 2014 (r272506)
>> @@ -2591,6 +2591,7 @@ arc_kmem_reap_now(arc_reclaim_strategy_t
>>  size_t i;
>>  kmem_cache_t *prev_cache = NULL;
>>  kmem_cache_t *prev_data_cache = NULL;
>> + extern kmem_cache_t *range_seg_cache;
>>
>
> I get this when compiling sparc64 GENERIC, must be different warnings
> enabled...
>
> cc1: warnings being treated as errors
> /local/build/staging/freebsd/head/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c: In function 'arc_kmem_reap_now':
> /local/build/staging/freebsd/head/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c:2594: warning: nested extern 
> declaration of 'range_seg_cache' [-Wnested-externs]
>
> -- Ian
>
>>  DTRACE_PROBE(arc__kmem_reap_start);
>>  #ifdef _KERNEL
>> @@ -2628,6 +2629,7 @@ arc_kmem_reap_now(arc_reclaim_strategy_t
>>  }
>>  kmem_cache_reap_now(buf_cache);
>>  kmem_cache_reap_now(hdr_cache);
>> + kmem_cache_reap_now(range_seg_cache);
>>
>>  #ifdef sun
>>  /*
>>
>> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c
>> ==============================================================================
>> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c Sat Oct  4 08:08:56 2014 (r272505)
>> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c Sat Oct  4 08:14:10 2014 (r272506)
>> @@ -33,7 +33,7 @@
>>  #include <sys/zio.h>
>>  #include <sys/range_tree.h>
>>
>> -static kmem_cache_t *range_seg_cache;
>> +kmem_cache_t *range_seg_cache;
>>
>>  void
>>  range_tree_init(void)
>>
>
>
>
> 

[-- Attachment #2 --]
Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
===================================================================
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	(revision 272525)
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	(working copy)
@@ -2584,6 +2584,7 @@ arc_reclaim_needed(void)
 
 extern kmem_cache_t	*zio_buf_cache[];
 extern kmem_cache_t	*zio_data_buf_cache[];
+extern kmem_cache_t	*range_seg_cache;
 
 static void __noinline
 arc_kmem_reap_now(arc_reclaim_strategy_t strat)
@@ -2591,7 +2592,6 @@ arc_kmem_reap_now(arc_reclaim_strategy_t strat)
 	size_t			i;
 	kmem_cache_t		*prev_cache = NULL;
 	kmem_cache_t		*prev_data_cache = NULL;
-	extern kmem_cache_t	*range_seg_cache;
 
 	DTRACE_PROBE(arc__kmem_reap_start);
 #ifdef _KERNEL

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D120B09D13D2457786E88D755911BF2E>