x86-32: remove CONFIG_4KSTACKS
PATCH 1/1 x86-32: remove CONFIG_4KSTACKS
These days 4 kilobytes of stack just aren't enough for reliably operation, and people using lots of threads have long switched to x86-64, so remove the CONFIG_4KSTACKS option.
arch/x86/Kconfig.debug +0 -9
@@ -121,15 +121,6 @@ config DEBUG_NX_TEST and the software setup of this feature. If in doubt, say "N" -config 4KSTACKS - bool "Use 4Kb for kernel stacks instead of 8Kb" - depends on X86_32 - ---help--- - If you say Y here the kernel will use a 4Kb stacksize for the - kernel stack attached to each process/thread. This facilitates - running more threads on a system and also reduces the pressure - on the VM subsystem for higher order allocations. - config DOUBLEFAULT default y bool "Enable doublefault exception handler" if EMBEDDED
arch/x86/include/asm/module.h +1 -6
@@ -60,12 +60,7 @@#endif #ifdef CONFIG_X86_32 -# ifdef CONFIG_4KSTACKS -# define MODULE_STACKSIZE "4KSTACKS " -# else -# define MODULE_STACKSIZE "" -# endif -# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE +# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY#endif #endif /* _ASM_X86_MODULE_H */
arch/x86/include/asm/page_32_types.h +0 -4
@@ -15,11 +15,7 @@*/ #define __PAGE_OFFSET _AC(CONFIG_PAGE_OFFSET, UL) -#ifdef CONFIG_4KSTACKS -#define THREAD_ORDER 0 -#else #define THREAD_ORDER 1 -#endif #define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER)#define STACKFAULT_STACK 0
Quoted 3 lines · On Wed, 16 Jun 2010 11:16:21 +0200 Christoph Hellwig <[email protected]> wrote:
These days 4 kilobytes of stack just aren't enough for reliably operation, and people using lots of threads have long switched to x86-64, so remove the
CONFIG_4KSTACKSoption.
It's very useful for things like debugging and because of the split kernel/irq stacks. It also seems to be quite adequate for most configurations.
Perhaps XFS should select 8K stack instead ?
Quoted 9 lines · Alan Cox
Quoted 3 lines · On Wed, 16 Jun 2010 11:16:21 +0200 Christoph Hellwig <[email protected]> wrote:
These days 4 kilobytes of stack just aren't enough for reliably operation, and people using lots of threads have long switched to x86-64, so remove the
CONFIG_4KSTACKSoption.It's very useful for things like debugging and because of the split kernel/irq stacks.
Ingo just ACKed my previous patch to make irq stacks unconditional.
Quoted 2 lines
It also seems to be quite adequate for most
configurations.
See the direct reclaim flamewar. Currently we can end up in ->writepage from af_unix poll code with over 3k stack alreay used. It's certainly not anywhere near enough.
Quoted 1 line
Perhaps XFS should select 8K stack instead ?
or rather !CONFIG_INSANE. I don't care too much. No one sane should ever enable it anymore, but Ingo asked me to send a patch to remove it.
Quoted 5 lines · Christoph Hellwig
Quoted 1 line
Perhaps XFS should select 8K stack instead ?
or rather !CONFIG_INSANE. I don't care too much. No one sane should ever enable it anymore, but Ingo asked me to send a patch to remove it.
Alan--
It's not just XFS, we were regularly seeing blown stacks on Fedora with ext3/4 and encrypted disks using dm-crypt...
--Kyle
Quoted 11 lines · Kyle McMartin
Quoted 5 lines · Christoph Hellwig
Quoted 1 line
Perhaps XFS should select 8K stack instead ?
or rather !CONFIG_INSANE. I don't care too much. No one sane should ever enable it anymore, but Ingo asked me to send a patch to remove it.
Alan--
It's not just XFS, we were regularly seeing blown stacks on Fedora with ext3/4 and encrypted disks using dm-crypt...
Can you point me to report where 4k stacks is not enough for plain dm-crypt? IIRC it was always XFS (maybe ext4) on top of it what caused problem...
(Anyway, removing 4k stacks is probably good thing:-)
Milan
Quoted 5 lines · Milan Broz
Can you point me to report where 4k stacks is not enough for plain dm-crypt? IIRC it was always XFS (maybe ext4) on top of it what caused problem...
(Anyway, removing 4k stacks is probably good thing:-)
LVM may have been involved as well, I can't recall. I'll try to dig up the report from my email.
--Kyle