summaryrefslogtreecommitdiff
path: root/arch/um/Kconfig
diff options
context:
space:
mode:
authorAnton Ivanov <anton.ivanov@cambridgegreys.com>2019-01-04 18:38:21 +0300
committerRichard Weinberger <richard@nod.at>2019-05-08 00:18:28 +0300
commit5c2ffce1e9496477720966e70d79f2da3e4b84e6 (patch)
tree12e77ce3c8debd687029236435ea5f3f7fbfdf70 /arch/um/Kconfig
parent37624b58542fb9f2d9a70e6ea006ef8a5f66c30b (diff)
downloadlinux-5c2ffce1e9496477720966e70d79f2da3e4b84e6.tar.xz
um: Revert to using stack for pt_regs in signal handling
Reverts commit b6024b21fec8367ef961a771cc9dde31f1831965 and adjusts default stack sizing to cope with larger size of floating point save registers on the newer Intel CPUs. b6024b21fec8367ef961a771cc9dde31f1831965 replaced storing the register state on the stack with kmalloc-ed storage. That has a number of issues and a panic if that fails. 1. kmalloc/ATOMIC can fail. There was a latent hard crash in all interrupt and fault handling as a result. 2. kmalloc in the interrupt path introduces a considerable performance penalty for networking ~ 14% on iperf. This commit restores uml to a stable state until a better solution is found. Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/Kconfig')
-rw-r--r--arch/um/Kconfig10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index ec9711d068b7..41913504a56e 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -142,13 +142,17 @@ config MAGIC_SYSRQ
config KERNEL_STACK_ORDER
int "Kernel stack size order"
- default 1 if 64BIT
- range 1 10 if 64BIT
- default 0 if !64BIT
+ default 2 if 64BIT
+ range 2 10 if 64BIT
+ default 1 if !64BIT
help
This option determines the size of UML kernel stacks. They will
be 1 << order pages. The default is OK unless you're running Valgrind
on UML, in which case, set this to 3.
+ It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on
+ older (pre-2017) CPUs. It is not recommended on newer CPUs due to the
+ increase in the size of the state which needs to be saved when handling
+ signals.
config MMAPPER
tristate "iomem emulation driver"