diff options
author | Helge Deller <deller@gmx.de> | 2020-11-06 19:41:36 +0100 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2020-11-11 14:59:08 +0100 |
commit | 22ee3ea588dfc84ccb8cea5ea37051dfed91b9b9 (patch) | |
tree | 0eacf3308bcf6a80333f9f15a4424835bd9c3567 /mm | |
parent | c984baad3d8dd8555d23f0598fb81c3e0ea04c0e (diff) | |
download | linux-22ee3ea588dfc84ccb8cea5ea37051dfed91b9b9.tar.bz2 |
parisc: Make user stack size configurable
On parisc we need to initialize the memory layout for the user stack at
process start time to a fixed size, which up until now was limited to
the size as given by CONFIG_MAX_STACK_SIZE_MB at compile time.
This hard limit was too small and showed problems when compiling
ruby2.7, qmlcachegen and some Qt packages.
This patch changes two things:
a) It increases the default maximum stack size to 100MB.
b) Users can modify the stack hard limit size with ulimit and then newly
forked processes will use the given stack size which can even be bigger
than the default 100MB.
Reported-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/Kconfig | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/mm/Kconfig b/mm/Kconfig index d42423f884a7..4ec0f3dbfb11 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -733,19 +733,17 @@ config ZSMALLOC_STAT config GENERIC_EARLY_IOREMAP bool -config MAX_STACK_SIZE_MB - int "Maximum user stack size for 32-bit processes (MB)" - default 80 +config STACK_MAX_DEFAULT_SIZE_MB + int "Default maximum user stack size for 32-bit processes (MB)" + default 100 range 8 2048 depends on STACK_GROWSUP && (!64BIT || COMPAT) help This is the maximum stack size in Megabytes in the VM layout of 32-bit user processes when the stack grows upwards (currently only on parisc - arch). The stack will be located at the highest memory address minus - the given value, unless the RLIMIT_STACK hard limit is changed to a - smaller value in which case that is used. + arch) when the RLIMIT_STACK hard limit is unlimited. - A sane initial value is 80 MB. + A sane initial value is 100 MB. config DEFERRED_STRUCT_PAGE_INIT bool "Defer initialisation of struct pages to kthreads" |