svn commit: r326758 - in head/sys/i386: conf include

Eugene Grosbein eugen at grosbein.net
Thu Dec 14 16:52:19 UTC 2017


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.




More information about the svn-src-all mailing list