From owner-svn-src-all@FreeBSD.ORG Tue Sep 2 17:43:20 2014 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 78712809; Tue, 2 Sep 2014 17:43: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 0F0541BB8; Tue, 2 Sep 2014 17:43:19 +0000 (UTC) Received: by smtp1.multiplay.co.uk (Postfix, from userid 65534) id D18B220E70890; Tue, 2 Sep 2014 17:43:18 +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 1117320E7088C; Tue, 2 Sep 2014 17:43:17 +0000 (UTC) Message-ID: <8AA1D02BB967468DA07731149E95390D@multiplay.co.uk> From: "Steven Hartland" To: "Andriy Gapon" , "John Baldwin" , "Peter Wemm" References: <201408281950.s7SJo90I047213@svn.freebsd.org> <39211177.i8nn9sHiCx@overcee.wemm.org> <201409021201.15967.jhb@freebsd.org> <5405F1F3.1@FreeBSD.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: Tue, 2 Sep 2014 18:43:18 +0100 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-15"; 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-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Sep 2014 17:43:20 -0000 ----- Original Message ----- From: "Andriy Gapon" > on 02/09/2014 19:01 John Baldwin said the following: >> I know Steven has since committed a fix, but if there are still >> concerns, I >> think it would be best to not just revert this entirely but to spend >> some time >> fixing the remaining issues. Clearly this issue affects a lot of >> users and >> the earlier fixes to pagedaemon were not sufficient to fix their >> issues alone. > > I am not sure that that is the case. I could have very well missed an > evidence > of that, but then I'd appreciate a pointer or two to such reports. > I am certainly sure that a large number of reports about "ZFS vs > swapping" issue > appeared after the pagedaemon problem was introduced. > > I have also missed any "theoretical" justification for the patch. > That is, an > explanation of how the patch interacts with the pagedaemon and > improves things. > The empirical evidence could be insufficient, because it's easy to > tilt the > balance such that the ARC gives in too easily. But people who were > affected by > the opposite problem could be different from people who would be > affected by the > new problem, because of differences in system characteristics such as > amount of > RAM, workload patterns, working set sizes, etc. > > Having said that, I do not ask for the changes to be reverted, but > I'll probably > get back after I have sufficient time to look at the patch and also to > test its > effect on my systems. This might not be very soon though. > > P.S. I think that there was no technical reason to initialize the > newly > introduced parameters via SYSINIT mechanism. I created the SYSINT as the values are not available early enough for the sysctl. > I think that the initialization could be just done in arc_init. I thought I'd tested this when doing the initial implementation but it was a long week so I just did a quick re-test and confirmed arc_init is called before the pagedaemon is initialised so it can't be used in this case. On a side note it would be nice if ARC sysctls, which are currently done via arc_init, where cleaned up as currently the limits aren't enforced correctly when manually changed, as well as being split up into two locations making them hard to follow. Something I intend to look at when I get some free time. > And the newly added kmem_foo() functions probably do not belong in > cddl/compat/opensolaris as Solaris / illumos does not have those > functions. They could be moved but their current location keeps all the kmem related functions neatly in one place. Spreading them around IMO would just make things hard to find. > I think that in this case e.g. vm_cnt.v_free_target can just be > used directly by the FreeBSD-specific ARC code. It could but as above keeping everything in one place makes it to find and hence MFC as this area has seen changes which will require all those fields renamed. It also means if the logic for free pages changes in the future there's only one place it needs to be changed. For those interested there's also an open review on additional changes in this area: https://reviews.freebsd.org/D702 Regards Steve