Skip to contentSkip to conversation

x86-32: remove CONFIG_4KSTACKS

PATCH In review Christoph Hellwig 4 participants 6 messages Jun 16, 2010 x86

lore
Share & tools
lore
#0 lore raw

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
Index: linux-2.6/arch/x86/Kconfig.debug
===================================================================
@@ -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
Index: linux-2.6/arch/x86/include/asm/module.h
===================================================================
@@ -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
Index: linux-2.6/arch/x86/include/asm/page_32_types.h
===================================================================
@@ -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
#1 lore raw
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_4KSTACKS option.

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 ?

#2 lore raw
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_4KSTACKS option.

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.

#3 lore raw
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

#4 lore raw
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

#5 lore raw
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