Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Oct 2014 19:00:53 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Glen Barber <gjb@FreeBSD.org>
Cc:        FreeBSD Release Engineering Team <re@FreeBSD.org>, Steven Hartland <smh@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:  <20141004160052.GR26076@kib.kiev.ua>
In-Reply-To: <20141004151651.GG1199@hub.FreeBSD.org>
References:  <20141004024011.GC1199@hub.FreeBSD.org> <64F0D761D09546C7B47DFAA1551500BE@multiplay.co.uk> <20141004031614.GD1199@hub.FreeBSD.org> <6618E7E0B17D41D09DB9B0160C2D4DF1@multiplay.co.uk> <9E274FD2D44943ED9F9C6057068C8CE0@multiplay.co.uk> <20141004151651.GG1199@hub.FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



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