Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Dec 2017 18:49:24 +0700
From:      Eugene Grosbein <eugen@grosbein.net>
To:        John Baldwin <jhb@FreeBSD.org>, Konstantin Belousov <kostikbel@gmail.com>, Conrad Meyer <cem@FreeBSD.org>, Alexey Dokuchaev <danfe@freebsd.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r326758 - in head/sys/i386: conf include
Message-ID:  <5A326544.1030706@grosbein.net>
In-Reply-To: <5A3261BD.5050404@grosbein.net>
References:  <201712110432.vBB4WbnE021090@repo.freebsd.org> <20171211091943.GF2272@kib.kiev.ua> <5A2E5D44.9030904@grosbein.net> <4a9c76c9-8063-9420-b198-14487b089840@FreeBSD.org> <5A30378A.3040609@grosbein.net> <e2c426c3-41ed-2dd8-c5d4-15c60d8f7303@FreeBSD.org> <5A3261BD.5050404@grosbein.net>

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

On 14.12.2017 18:34, Eugene Grosbein wrote:
> On 13.12.2017 04:55, John Baldwin wrote:
>> On 12/12/17 3:09 PM, Eugene Grosbein wrote:
>>> On 13.12.2017 02:32, John Baldwin wrote:
>>>
>>>> Certainly for MIPS I have found that compiling with clang
>>>> instead of gcc for mips64 gives a kernel that panics for stack overflow for any
>>>> use of NFS.  It might be that this is due to something MIPS-specific, but it
>>>> might be worthwhile retesting with kstack_pages=2 and building the kernel
>>>> with CROSS_TOOLCHAIN=i386-gcc after installing the appropriate package.
>>>
>>> You may want to check NFS code that uses stack heavily.
>>> Here are numbers for i386 (bytes-on-stack, module, what function):
>>>
>>> 1344 nfs_nfsdport.o <nfssvc_nfsd>:
>>> 1152 nfs_nfsdserv.o <nfsrvd_lockt>:
>>> 1128 nfs_nfsdserv.o <nfsrvd_lock>:
>>> 952 nfs_nfsdserv.o <nfsrvd_rename>:
>>> 664 nfs_nfsdserv.o <nfsrvd_open>:
>>> 640 nfs_nfsdserv.o <nfsrvd_link>:
>>> 624 nfs_nfsdserv.o <nfsrvd_create>:
>>> 608 nfs_nfsdserv.o <nfsrvd_mknod>:
>>> 600 nfs_clvfsops.o <nfs_mount>:
>>
>> My point is that you should compare gcc with clang as 10.x switched to
>> clang and that may be a factor in the stack overflows beginning with 10.x.
> 
> I think thats's NFS code who is guilty. You can see example of amd64 (sic!) kstack exhaustion
> due to 40+ frames deep call chain here:
> 
> https://lists.freebsd.org/pipermail/freebsd-stable/2017-July/087429.html

Final post in the thread describes amd64 crash with kstack_pages=5 due to 75 frames:
https://lists.freebsd.org/pipermail/freebsd-stable/2017-July/087477.html

He increased kstack_pages upto 6 and stopped posting, as it obviously helped him finally.

By the way, I finally realised why I do not have KVA problems with my i386 hosts:
I run all of them (no PAE) with options KVA_PAGES=512 (2GB) at least
and even 768 (3GB) in case of ZFS instead of default 256 (1GB) to make it stable.

Tell me more of untweaked FreeBSD stability...



home | help

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