From owner-svn-src-all@freebsd.org Thu Dec 14 16:52:19 2017 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 6BEB0E8741B; Thu, 14 Dec 2017 16:52:19 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from hz.grosbein.net (hz.grosbein.net [78.47.246.247]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hz.grosbein.net", Issuer "hz.grosbein.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 19DA06CEDE; Thu, 14 Dec 2017 16:52:18 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from eg.sd.rdtc.ru (root@eg.sd.rdtc.ru [62.231.161.221] (may be forged)) by hz.grosbein.net (8.15.2/8.15.2) with ESMTPS id vBEGqAQD037747 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 Dec 2017 17:52:11 +0100 (CET) (envelope-from eugen@grosbein.net) X-Envelope-From: eugen@grosbein.net X-Envelope-To: kostikbel@gmail.com Received: from [10.58.0.4] ([10.58.0.4]) by eg.sd.rdtc.ru (8.15.2/8.15.2) with ESMTPS id vBEGq6T4020335 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 14 Dec 2017 23:52:06 +0700 (+07) (envelope-from eugen@grosbein.net) Subject: Re: svn commit: r326758 - in head/sys/i386: conf include To: Konstantin Belousov References: <4a9c76c9-8063-9420-b198-14487b089840@FreeBSD.org> <5A30378A.3040609@grosbein.net> <5A3261BD.5050404@grosbein.net> <20171214115149.GC2272@kib.kiev.ua> <5A3268E9.506@grosbein.net> <20171214122659.GF2272@kib.kiev.ua> <5A327597.3010300@grosbein.net> <20171214152324.GJ2272@kib.kiev.ua> <5A329B26.9040504@grosbein.net> <20171214160047.GL2272@kib.kiev.ua> Cc: John Baldwin , Conrad Meyer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: Eugene Grosbein Message-ID: <5A32AC32.8080703@grosbein.net> Date: Thu, 14 Dec 2017 23:52:02 +0700 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: <20171214160047.GL2272@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=2.2 required=5.0 tests=BAYES_00, LOCAL_FROM, RDNS_NONE autolearn=no autolearn_force=no version=3.4.1 X-Spam-Report: * -2.3 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 2.6 LOCAL_FROM From my domains * 1.9 RDNS_NONE Delivered to internal network by a host with no rDNS X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on hz.grosbein.net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.25 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: Thu, 14 Dec 2017 16:52:19 -0000 14.12.2017 23:00, Konstantin Belousov wrote: >>>>> Sigh. This would make i386 even less usable for everybody, perhaps >>>>> except you. Because default 3G of UVA is too small for some common tasks >>>>> (thanks clang, but also e.g. pypy), and you reduce the user address >>>>> space even more. >>>> Those who need 3GB of UVA within single process should not use 32 bit system in first place, should they? >>> Why do you even consider it acceptable to break the configuration just >>> because you are not interested in the workload ? >> I do not consider it is acceptable. I'm trying to find compromise. > If you do not find the proposed change acceptable, why do you propose > it at all ? I do not consider breakage acceptable but not the change. I am still in doubt and that's why I'm asking questions. I doubt, how average i386 workstation or server can generate 1000+ threads and what is real threshold to get problems because of KVA fragmentation? >>> 386 arch configuration is not perfect but it provides the main intended >>> service of general-purpose workstation, with some limitation caused by >>> 32bit of address space being somewhat low for modern code. Appliance >>> flavoring of the default 386 config is unacceptable. Keep your tweaks >>> local. >> >> Do you think that kstack overflow of general-purpose workstation using NFS >> or IPv6 or WiFi with SCTP is OK? I do not. > > Kernel stack overflow is not 'OK', but two things are equally troublesome: > - papering over the problem of large structures allocated on stack by > increasing the stack size; > - ignoring the explanation why the stack increase is problematic by itself The change was submitted for discussion before any kind of explanation was given. > and generating thread consisting of 50+ content-less messages claiming > that 'it fixes the problem for me'. Not for "me". For average i386 user of IPv6 or SCTP or NFS etc. reporting double faults. > The proper route to fix the issues was already explained more than > several times, and you (and I, and other people) participated in the > ongoing efforts there. If it is so much important to you, wave the flag > and herd the action, by asking relevant people to help with fixes, be it > writing the patches, providing reviews or just finding the place where > the stack is abused. It requires identification and time to think and > develop specific changes for each place, and cannot happen in one day. Exactly. The problem is officialy noted in our docs since 10.2-RELEASE at least. And I doubt we can fix all the code in some foreseeable future and 11.2-RELEASE will still panic same way. And 12.0-RELEASE too, I'm afraid. And that is more important than keeping old defaults for i386 workstation users *unless* there are really lots of applications creating large number of threads/subprocesses. > But it also would not break KVA-starved architectures and provide fixes > relevant to even KVA-ample machines, as you other example shown. > > For the case of extreme use, there is still the tunable (and ZFS on i386 > is extreme). Sadly, we have too many "extreme" cases, as user reports and code analisys shows. That's the problem.