From owner-svn-src-all@freebsd.org Mon Aug 3 11:03:42 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 408569B20CE; Mon, 3 Aug 2015 11:03:42 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F0AE211EB; Mon, 3 Aug 2015 11:03:41 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.84 (FreeBSD)) (envelope-from ) id 1ZMDWs-0004VE-42; Mon, 03 Aug 2015 14:03:38 +0300 Date: Mon, 3 Aug 2015 14:03:38 +0300 From: Slawa Olhovchenkov To: Steven Hartland Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r286223 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs Message-ID: <20150803110338.GB24698@zxy.spb.ru> References: <201508030934.t739YAkT026668@repo.freebsd.org> <20150803094730.GA24698@zxy.spb.ru> <55BF431E.3020601@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55BF431E.3020601@freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 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: Mon, 03 Aug 2015 11:03:42 -0000 On Mon, Aug 03, 2015 at 11:31:58AM +0100, Steven Hartland wrote: > On 03/08/2015 10:47, Slawa Olhovchenkov wrote: > > On Mon, Aug 03, 2015 at 09:34:10AM +0000, Steven Hartland wrote: > > > >> Author: smh > >> Date: Mon Aug 3 09:34:09 2015 > >> New Revision: 286223 > >> URL: https://svnweb.freebsd.org/changeset/base/286223 > >> > >> Log: > >> Fix KSTACK_PAGES check in ZFS module > >> > >> The check introduced by r285946 failed to add the dependency on > >> opt_kstack_pages.h which meant the default value for the platform instead > >> of the customised options KSTACK_PAGES=X was being tested. > >> > >> Also wrap in #ifdef __FreeBSD__ for portability. > > /usr/src/sys/kern/kern_proc.c:int kstack_pages = KSTACK_PAGES; > > > > May be check variable kstack_pages is best way? > > Eliminate dependency on foreign opt_XXXX. > > > I did think of that but as other modules such as dtrace, which is also > cddl code, already have this dependency I went with this. > > I'm easy though, if there's a concusses that kstack_pages or possibly > curthread->td_kstack_pages, which would take into account the > possibility of varied thread stack sizes, then I can make that change. > > What do others think? ZFS currently don't have true direct dependency from KSTACK_PAGES (no code like this: /usr/src/sys/i386/i386/mp_machdep.c: bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 4; This is simple guard check. I.e. change KSTACK_PAGES don't want recompile zfs.ko. And less work to somebody converted KSTACK_PAGES to loader tunable. Most of this code already may be conveted to use kstack_pages w/o performance impact. Only 5 lines in 3 asm files need some more work.