Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 04 Oct 2014 10:03:48 -0700
From:      Peter Wemm <peter@wemm.org>
To:        freebsd-stable@freebsd.org
Cc:        Konstantin Belousov <kostikbel@gmail.com>, Glen Barber <gjb@freebsd.org>, Steven Hartland <smh@freebsd.org>, FreeBSD Release Engineering Team <re@freebsd.org>, freebsd-stable@freebsd.org
Subject:   Re: Heads-up: Possible regression between 10.0-RELEASE and 10.1-BETA1 with '/ on ZFS' setup
Message-ID:  <1684676.g0E56GkSvf@overcee.wemm.org>
In-Reply-To: <20141004170137.GA1171@hub.FreeBSD.org>
References:  <20141004024011.GC1199@hub.FreeBSD.org> <20141004160052.GR26076@kib.kiev.ua> <20141004170137.GA1171@hub.FreeBSD.org>

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

[-- Attachment #1 --]
On Saturday, October 04, 2014 01:01:37 PM Glen Barber wrote:
> On Sat, Oct 04, 2014 at 07:00:53PM +0300, Konstantin Belousov wrote:
> > On Sat, Oct 04, 2014 at 11:16:51AM -0400, Glen Barber wrote:
> > > On Sat, Oct 04, 2014 at 04:03:39PM +0100, Steven Hartland wrote:
> > > > >>On Sat, Oct 04, 2014 at 03:51:39AM +0100, Steven Hartland wrote:
> > > > >>> > This has been a known issue on i386 since the switch to Clang 
see UPDATING:
> > > > >>> 20121223:
> > > > >>>        After switching to Clang as the default compiler some users
> > > > >>>        of ZFS
> > > > >>>        on i386 systems started to experience stack overflow kernel
> > > > >>>        panics.
> > > > >>>        Please consider using 'options KSTACK_PAGES=4' in such
> > > > >>>        configurations.
> > > > >>> > 
> > > > >>> > In my experience your millage may vary but essentially without 4
> > > > >>> > stack pages all bets are off in terms of stability.
> > > > 
> > > > Oh and just looking at the code kern.kstack_pages is read only so wont
> > > > have
> > > > any effect, hence you will definitely need to set the kernel option as
> > > > per
> > > > the UPDATING entry.
> > > 
> > > Indeed, it is readonly.  I'm building kernel on the test VM, but may
> > > have to get the kernel built somewhere else from a non-ZFS VM, because
> > > the i386 VM with ZFS is unusable.
> > > 
> > > I'm not familiar with these parts of the kernel internals.  What is the
> > > harm in making KSTACK_PAGES=4 the default in i386 GENERIC ?
> > 
> > KVA on i386 is limited, and increase of the stack pages means that
> > there is (significantly) less usermode threads can be created before
> > kernel gets out of KVA.  Not to mention larger consumption of memory,
> > and need to find larger contig KVA region on the thread creation.
> > 
> > The cost of increasing stack size is significant, this is why the stack
> > is kept so small by all operating systems.
> 
> Thank you for the explanation.
> 
> If we cannot increase KSTACK_PAGES by default, do we have any
> alternative solution outside of suggesting to avoid using ZFS on i386
> with more than one disk?

When zfs creates its kthreads it can specify how much stack it needs.  For 
i386 it could ask for more for the zfs threads.  Its not a good option but its 
better than more stack for everything when it's already easy to run out 
without zfs.

-- 
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6FJV
UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAABAgAGBQJUMCh0AAoJEDXWlwnsgJ4E9eIH/R5R8oc4S3gDQylf2LbNrX49
7p6TE2vpVkm3BMi2kYYlYel0Oen7Dy1RXqclwQdukn6vrhW0acFBUbxyH2LE36Mu
yQZHMM1ZMvV6IrI5TV1C6tNHyIz5PddESBj47+75fd14ykazeivvgiWVLVCX7PJS
fLZP1YTFAzwCigNivTUIv2pLEtfM1/MdlF/49f4XHNkt0rzRik/4PFOF2JAO6YkP
7v6u+fFCmy+dsu85L5gsLD/z8SIdhHU3VEuEjMIXrbzHkANvw41oUr7kK6gzqOCi
nNcq/UyflsWCwwKd/JcCXuCdgNRaf1Z04b/1cfYRW0D3BjRWpE2gKI0VPeXPjI0=
=PYk5
-----END PGP SIGNATURE-----

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