From owner-svn-src-head@FreeBSD.ORG Fri Aug 29 20:42:20 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9F214A60; Fri, 29 Aug 2014 20:42:20 +0000 (UTC) Received: from smtp1.multiplay.co.uk (smtp1.multiplay.co.uk [85.236.96.35]) by mx1.freebsd.org (Postfix) with ESMTP id 5F298150E; Fri, 29 Aug 2014 20:42:20 +0000 (UTC) Received: by smtp1.multiplay.co.uk (Postfix, from userid 65534) id A4C4120E7088B; Fri, 29 Aug 2014 20:42:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.multiplay.co.uk X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=8.0 tests=AWL,BAYES_00,DOS_OE_TO_MX, FSL_HELO_NON_FQDN_1,RDNS_DYNAMIC,STOX_REPLY_TYPE autolearn=no version=3.3.1 Received: from r2d2 (82-69-141-170.dsl.in-addr.zen.co.uk [82.69.141.170]) by smtp1.multiplay.co.uk (Postfix) with ESMTPS id 966A220E70885; Fri, 29 Aug 2014 20:42:17 +0000 (UTC) Message-ID: <0B77E782B5004AEBA77E6A5D16924D83@multiplay.co.uk> From: "Steven Hartland" To: "Peter Wemm" References: <201408281950.s7SJo90I047213@svn.freebsd.org> <1592506.xpuae4IYcM@overcee.wemm.org> <5A300D962A1B458B951D521EA2BE35E8@multiplay.co.uk> <64121723.0IFfex9X4X@overcee.wemm.org> Subject: Re: svn commit: r270759 - in head/sys: cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys cddl/contrib/opensolaris/uts/common/fs/zfs vm Date: Fri, 29 Aug 2014 21:42:15 +0100 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Cc: src-committers@freebsd.org, Alan Cox , svn-src-all@freebsd.org, Dmitry Morozovsky , "Matthew D. Fuller" , svn-src-head@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 20:42:20 -0000 ----- Original Message ----- From: "Peter Wemm" > On Friday 29 August 2014 20:51:03 Steven Hartland wrote: snip.. > > Does Karl's explaination as to why this doesn't work above change > > your > > mind? > > Actually no, I would expect the code as committed would *cause* the > undesirable behavior that Karl described. > > ie: access a few large files and cause them to reside in cache. Say > 50GB or so > on a 200G ram machine. We now have the state where: > > v_cache = 50GB > v_free = 1MB > > The rest of the vm system looks at vm_paging_needed(), which is: do > we have > enough "v_cache + v_free"? Since there's 50.001GB free, the answer is > no. > It'll let v_free run right down to v_free_min because of the giant > pool of > v_cache just sitting there, waiting to be used. > > The zfs change, as committed will ignore all the free memory in the > form of > v_cache.. and will be freaking out about how low v_free is getting and > will be > sacrificing ARC in order to put more memory into the v_free pool. > > As long as ARC keeps sacrificing itself this way, the free pages in > the v_cache > pool won't get used. When ARC finally runs out of pages to give up to > v_free, > the kernel will start using the free pages from v_cache. Eventually > it'll run > down that v_cache free pool and arc will be in a bare minimum state > while this > is happening. > > Meanwhile, ZFS ARC will be crippled. This has consequences - it does > RCU like > things from ARC to keep fragmentation under control. With ARC > crippled, > fragmentation will increase because there's less opportunistic > gathering of > data from ARC. > > Granted, you have to get things freed from active/inactive to the > cache state, > but once it's there, depending on the worlkload, it'll mess with ARC. There's already a vm_paging_needed() check in there below so this will already be dealt with will it not? Regards Steve