public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [2.6 patch] i386: always use 4k stacks
@ 2006-02-11 23:26 Joshua Hudson
  0 siblings, 0 replies; 273+ messages in thread
From: Joshua Hudson @ 2006-02-11 23:26 UTC (permalink / raw)
  To: linux-kernel

I feel like putting my two cents in.

Suppose you just made 4K stacks the default. Since users of
ndiswrapper already have to recompile the kernel, making one
configuration change as well can't be that hard, especially since
ndiswrapper checks kernel options when compiling.

^ permalink raw reply	[flat|nested] 273+ messages in thread
[parent not found: <5lQOU-492-31@gated-at.bofh.it>]
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-12-20 19:53 Parag Warudkar
       [not found] ` <122020051953.9002.43A861470004E9E70000232A220702095300009A9B9CD3040A0 29D0A05@comcast.net>
                   ` (2 more replies)
  0 siblings, 3 replies; 273+ messages in thread
From: Parag Warudkar @ 2005-12-20 19:53 UTC (permalink / raw)
  To: David Lang
  Cc: Horst von Brand, Dumitru Ciobarcianu, Helge Hafting, Andi Kleen,
	Adrian Bunk, Kyle Moffett, akpm, linux-kernel, arjan

> 
> by goig to 4k stacks they are able to be allocated even when memory is 
> badly fragmented, which is not the case while they are 8k.
> 
> David Lang
> 

It's hard to believe all i386 people have a problem with 8K stacks. What you said may be a problem domain bound to a specific workload on i386 with insane amounts of memory and fragmented LOWMEM. - These people can certainly use 4K stacks and no one is preventing that.

But normal people with <=1Gb RAM and using i386 on desktop (I am sure there are many of them) may do OK with 8K stacks if they had a need to do so. (Like running ndiswrapper, or some other thing which requires bigger stacks for that matter.)

Why take away the 8K option which already exists and works for people who need it? Let people choose what suits their needs. Forcing 4K stacks on people and asking them to sacrifice functionality while *gaining nothing* - sure sounds illogical. (You gain from 4K stacks - you have it as default, but technically you gain NOTHING from taking away the 8k option.)

Parag

^ permalink raw reply	[flat|nested] 273+ messages in thread
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-12-20 19:08 Parag Warudkar
  2005-12-20 19:25 ` David Lang
  2005-12-20 21:37 ` Horst von Brand
  0 siblings, 2 replies; 273+ messages in thread
From: Parag Warudkar @ 2005-12-20 19:08 UTC (permalink / raw)
  To: Horst von Brand
  Cc: Dumitru Ciobarcianu, Helge Hafting, Andi Kleen, Adrian Bunk,
	Kyle Moffett, akpm, linux-kernel, arjan

> Oh, well, one of the larger drawbacks of 4KiB stacks is the inevitable
> flamewar, each time with /less/ data (this round I've seen none) supporting
> the need for larger stacks, into which all kinds of idiots* are suckered.

At the same time, I haven't seen any data showing what we gain by losing the 8K 
stack option.  Where are the links to posts where people are claiming en masse 
that 8K stacks are causing screwups, halting VM development etc.?

If 8K stacks are something that works, is not default, what do we gain by losing 
it in total? If people need ndiswrapper (I hate it as much as any one else , but come on 
for some people it's the only option) or any other functionality that requires 
bigger stack, let them choose it if they are ready to take whatever risks that come with it. 

To the ndiswrapper users - Do you guys have any real data showing 4K stacks 
result in problems for you? (Since it is dedicated 4K against shared 8K, it 
might as well not cause problems.) If you do then it's clear that 8K shared  
gives more room than 4k dedicated.

Parag

^ permalink raw reply	[flat|nested] 273+ messages in thread
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-12-18 10:49 Stefan Rompf
  2005-12-18 12:06 ` Alan Cox
  0 siblings, 1 reply; 273+ messages in thread
From: Stefan Rompf @ 2005-12-18 10:49 UTC (permalink / raw)
  To: linux-kernel; +Cc: Andi Kleen

Andi Kleen wrote:

> Kernel code is getting more complex all the time and running with
> very tight stack is just risky.

Btw., has anyone yet *measured* maximum stack usage for some weeks on several 
machines, e.g. desktop system with one NIC, reiserfs; server with several 
NICs, stacked device-mapper targets, fiber channel, appletalk...; web server 
with SQL database running on it etc?

Right now I have the impression that the 4k stack flamewars base on make 
checkstack output, waiting for bugreports and other guesswork. Removing the 
safety net on such a basis is just *very bad engineering*.

Stefan

^ permalink raw reply	[flat|nested] 273+ messages in thread
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-12-17  6:53 Alex Davis
  0 siblings, 0 replies; 273+ messages in thread
From: Alex Davis @ 2005-12-17  6:53 UTC (permalink / raw)
  To: giri, linux-kernel

At some time in the not-too-distant past, Giridhar Pemmasani stated:
 
>ndiswrapper is used not just for broadcom. There are plenty of other
>chipsets that don't even have a project started to write open source
>driver.
Amen!!
 
 
>> try to force ndiswrapper junkies over to the driver to get it tested
                            ^^^^^^^
>Shame on you. Your last mail was a promise to be "more reserved". Even
>otherwise, such profanities against a group of people are unwarranted.
Again, AMEN!!!

I code, therefore I am

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply	[flat|nested] 273+ messages in thread
[parent not found: <200512161903.jBGJ3EnR003647@quelen.inf.utfsm.cl>]
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-12-16 15:36 Matt Reuther
  0 siblings, 0 replies; 273+ messages in thread
From: Matt Reuther @ 2005-12-16 15:36 UTC (permalink / raw)
  To: LKML

Isn't this patch specifically for the -mm kernel and not mainline? How can 
anyone using a binary driver provide any feedback on an -mm kernel? The 
binary driver taints the kernel, so bug reports are useless.

Furthermore, if you aren't interested in debugging the kernel, why would you 
run the -mm tree or why can't you hack/patch the 8k stacks back in?

^ permalink raw reply	[flat|nested] 273+ messages in thread
[parent not found: <5kh6K-7KC-3@gated-at.bofh.it>]
[parent not found: <EC9B7A4A-2CD2-4EA4-B9B3-D35F8F5DFA4B@mac.com>]
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-12-16  5:20 Alex Davis
  2005-12-16  5:29 ` Dave Jones
  2005-12-16  8:10 ` Matt Domsch
  0 siblings, 2 replies; 273+ messages in thread
From: Alex Davis @ 2005-12-16  5:20 UTC (permalink / raw)
  To: linux-kernel

The problem is that, with laptops, most of the time you DON'T have a choice:
HP and Dell primarily use a Broadcomm integrated wireless card in ther products.
As of yet, there is no open source driver for Broadcomm wireless.

>If 8k stacks get removed, yes. So if you have a chance to choose don't buy a 
>wifi card which doesn't have a native linux driver.
>
>Regards,
>ismail

I code, therefore I am

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply	[flat|nested] 273+ messages in thread
* [2.6 patch] i386: always use 4k stacks
@ 2005-12-15 21:24 Adrian Bunk
  2005-12-15 22:00 ` Andrew Morton
  0 siblings, 1 reply; 273+ messages in thread
From: Adrian Bunk @ 2005-12-15 21:24 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Arjan van de Ven

It seems most problems with 4k stacks are already resolved at least
in -mm.

I'd like to see this patch to always use 4k stacks in -mm now for 
finding any remaining problems before submitting this patch for Linus' 
tree.


Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Arjan van de Ven <arjan@infradead.org>

---

This patch was already sent on:
- 11 Dec 2005
- 5 Dec 2005
- 30 Nov 2005
- 23 Nov 2005
- 14 Nov 2005

 arch/i386/Kconfig.debug        |   10 ----------
 arch/i386/kernel/irq.c         |   10 ----------
 include/asm-i386/irq.h         |   11 +++--------
 include/asm-i386/module.h      |    8 +-------
 include/asm-i386/thread_info.h |    6 +-----
 5 files changed, 5 insertions(+), 40 deletions(-)

--- linux-2.6.14-mm2-full/arch/i386/Kconfig.debug.old	2005-11-14 01:30:54.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/Kconfig.debug	2005-11-14 01:31:06.000000000 +0100
@@ -52,16 +52,6 @@
 	  portion of the kernel code won't be covered by a 2MB TLB anymore.
 	  If in doubt, say "N".
 
-config 4KSTACKS
-	bool "Use 4Kb for kernel stacks instead of 8Kb"
-	depends on DEBUG_KERNEL
-	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. This option
-	  will also use IRQ stacks to compensate for the reduced stackspace.
-
 config X86_FIND_SMP_CONFIG
 	bool
 	depends on X86_LOCAL_APIC || X86_VOYAGER
--- linux-2.6.14-mm2-full/include/asm-i386/irq.h.old	2005-11-14 01:31:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/irq.h	2005-11-14 01:31:29.000000000 +0100
@@ -27,14 +27,9 @@
 # define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
 #endif
 
-#ifdef CONFIG_4KSTACKS
-  extern void irq_ctx_init(int cpu);
-  extern void irq_ctx_exit(int cpu);
-# define __ARCH_HAS_DO_SOFTIRQ
-#else
-# define irq_ctx_init(cpu) do { } while (0)
-# define irq_ctx_exit(cpu) do { } while (0)
-#endif
+extern void irq_ctx_init(int cpu);
+extern void irq_ctx_exit(int cpu);
+#define __ARCH_HAS_DO_SOFTIRQ
 
 #ifdef CONFIG_IRQBALANCE
 extern int irqbalance_disable(char *str);
--- linux-2.6.14-mm2-full/include/asm-i386/thread_info.h.old	2005-11-14 01:31:45.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/thread_info.h	2005-11-14 01:32:11.000000000 +0100
@@ -53,11 +53,7 @@
 #endif
 
 #define PREEMPT_ACTIVE		0x10000000
-#ifdef CONFIG_4KSTACKS
-#define THREAD_SIZE            (4096)
-#else
-#define THREAD_SIZE		(8192)
-#endif
+#define THREAD_SIZE		(4096)
 
 #define STACK_WARN             (THREAD_SIZE/8)
 /*
--- linux-2.6.14-mm2-full/include/asm-i386/module.h.old	2005-11-14 01:32:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/module.h	2005-11-14 01:32:42.000000000 +0100
@@ -64,12 +64,6 @@
 #define MODULE_REGPARM ""
 #endif
 
-#ifdef CONFIG_4KSTACKS
-#define MODULE_STACKSIZE "4KSTACKS "
-#else
-#define MODULE_STACKSIZE ""
-#endif
-
-#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM MODULE_STACKSIZE
+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM
 
 #endif /* _ASM_I386_MODULE_H */

--- linux-2.6.15-rc5-mm2-full/arch/i386/kernel/irq.c.old	2005-12-11 15:10:27.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/i386/kernel/irq.c	2005-12-11 15:11:29.000000000 +0100
@@ -33,7 +33,6 @@
 }
 #endif
 
-#ifdef CONFIG_4KSTACKS
 /*
  * per-CPU IRQ handling contexts (thread information and stack)
  */
@@ -44,7 +43,6 @@
 
 static union irq_ctx *hardirq_ctx[NR_CPUS];
 static union irq_ctx *softirq_ctx[NR_CPUS];
-#endif
 
 /*
  * do_IRQ handles all normal device IRQ's (the special
@@ -55,10 +53,8 @@
 {	
 	/* high bits used in ret_from_ code */
 	int irq = regs->orig_eax & 0xff;
-#ifdef CONFIG_4KSTACKS
 	union irq_ctx *curctx, *irqctx;
 	u32 *isp;
-#endif
 
 	irq_enter();
 #ifdef CONFIG_DEBUG_STACKOVERFLOW
@@ -76,8 +72,6 @@
 	}
 #endif
 
-#ifdef CONFIG_4KSTACKS
-
 	curctx = (union irq_ctx *) current_thread_info();
 	irqctx = hardirq_ctx[smp_processor_id()];
 
@@ -104,7 +98,6 @@
 			: "memory", "cc", "ecx"
 		);
 	} else
-#endif
 		__do_IRQ(irq, regs);
 
 	irq_exit();
@@ -114,8 +107,6 @@
 	return 1;
 }
 
-#ifdef CONFIG_4KSTACKS
-
 /*
  * These should really be __section__(".bss.page_aligned") as well, but
  * gcc's 3.0 and earlier don't handle that correctly.
@@ -200,7 +191,6 @@
 }
 
 EXPORT_SYMBOL(do_softirq);
-#endif
 
 /*
  * Interrupt statistics:

^ permalink raw reply	[flat|nested] 273+ messages in thread
* [2.6 patch] i386: always use 4k stacks
@ 2005-12-11 18:05 Adrian Bunk
  2005-12-15 22:57 ` Jan Engelhardt
  0 siblings, 1 reply; 273+ messages in thread
From: Adrian Bunk @ 2005-12-11 18:05 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Arjan van de Ven

It seems most problems with 4k stacks are already resolved at least
in -mm.

I'd like to see this patch to always use 4k stacks in -mm now for 
finding any remaining problems before submitting this patch for Linus' 
tree.


Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Arjan van de Ven <arjan@infradead.org>

---

This patch was already sent on:
- 5 Dec 2005
- 30 Nov 2005
- 23 Nov 2005
- 14 Nov 2005

 arch/i386/Kconfig.debug        |   10 ----------
 arch/i386/kernel/irq.c         |   10 ----------
 include/asm-i386/irq.h         |   11 +++--------
 include/asm-i386/module.h      |    8 +-------
 include/asm-i386/thread_info.h |    6 +-----
 5 files changed, 5 insertions(+), 40 deletions(-)

--- linux-2.6.14-mm2-full/arch/i386/Kconfig.debug.old	2005-11-14 01:30:54.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/Kconfig.debug	2005-11-14 01:31:06.000000000 +0100
@@ -52,16 +52,6 @@
 	  portion of the kernel code won't be covered by a 2MB TLB anymore.
 	  If in doubt, say "N".
 
-config 4KSTACKS
-	bool "Use 4Kb for kernel stacks instead of 8Kb"
-	depends on DEBUG_KERNEL
-	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. This option
-	  will also use IRQ stacks to compensate for the reduced stackspace.
-
 config X86_FIND_SMP_CONFIG
 	bool
 	depends on X86_LOCAL_APIC || X86_VOYAGER
--- linux-2.6.14-mm2-full/include/asm-i386/irq.h.old	2005-11-14 01:31:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/irq.h	2005-11-14 01:31:29.000000000 +0100
@@ -27,14 +27,9 @@
 # define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
 #endif
 
-#ifdef CONFIG_4KSTACKS
-  extern void irq_ctx_init(int cpu);
-  extern void irq_ctx_exit(int cpu);
-# define __ARCH_HAS_DO_SOFTIRQ
-#else
-# define irq_ctx_init(cpu) do { } while (0)
-# define irq_ctx_exit(cpu) do { } while (0)
-#endif
+extern void irq_ctx_init(int cpu);
+extern void irq_ctx_exit(int cpu);
+#define __ARCH_HAS_DO_SOFTIRQ
 
 #ifdef CONFIG_IRQBALANCE
 extern int irqbalance_disable(char *str);
--- linux-2.6.14-mm2-full/include/asm-i386/thread_info.h.old	2005-11-14 01:31:45.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/thread_info.h	2005-11-14 01:32:11.000000000 +0100
@@ -53,11 +53,7 @@
 #endif
 
 #define PREEMPT_ACTIVE		0x10000000
-#ifdef CONFIG_4KSTACKS
-#define THREAD_SIZE            (4096)
-#else
-#define THREAD_SIZE		(8192)
-#endif
+#define THREAD_SIZE		(4096)
 
 #define STACK_WARN             (THREAD_SIZE/8)
 /*
--- linux-2.6.14-mm2-full/include/asm-i386/module.h.old	2005-11-14 01:32:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/module.h	2005-11-14 01:32:42.000000000 +0100
@@ -64,12 +64,6 @@
 #define MODULE_REGPARM ""
 #endif
 
-#ifdef CONFIG_4KSTACKS
-#define MODULE_STACKSIZE "4KSTACKS "
-#else
-#define MODULE_STACKSIZE ""
-#endif
-
-#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM MODULE_STACKSIZE
+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM
 
 #endif /* _ASM_I386_MODULE_H */

--- linux-2.6.15-rc5-mm2-full/arch/i386/kernel/irq.c.old	2005-12-11 15:10:27.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/i386/kernel/irq.c	2005-12-11 15:11:29.000000000 +0100
@@ -33,7 +33,6 @@
 }
 #endif
 
-#ifdef CONFIG_4KSTACKS
 /*
  * per-CPU IRQ handling contexts (thread information and stack)
  */
@@ -44,7 +43,6 @@
 
 static union irq_ctx *hardirq_ctx[NR_CPUS];
 static union irq_ctx *softirq_ctx[NR_CPUS];
-#endif
 
 /*
  * do_IRQ handles all normal device IRQ's (the special
@@ -55,10 +53,8 @@
 {	
 	/* high bits used in ret_from_ code */
 	int irq = regs->orig_eax & 0xff;
-#ifdef CONFIG_4KSTACKS
 	union irq_ctx *curctx, *irqctx;
 	u32 *isp;
-#endif
 
 	irq_enter();
 #ifdef CONFIG_DEBUG_STACKOVERFLOW
@@ -76,8 +72,6 @@
 	}
 #endif
 
-#ifdef CONFIG_4KSTACKS
-
 	curctx = (union irq_ctx *) current_thread_info();
 	irqctx = hardirq_ctx[smp_processor_id()];
 
@@ -104,7 +98,6 @@
 			: "memory", "cc", "ecx"
 		);
 	} else
-#endif
 		__do_IRQ(irq, regs);
 
 	irq_exit();
@@ -114,8 +107,6 @@
 	return 1;
 }
 
-#ifdef CONFIG_4KSTACKS
-
 /*
  * These should really be __section__(".bss.page_aligned") as well, but
  * gcc's 3.0 and earlier don't handle that correctly.
@@ -200,7 +191,6 @@
 }
 
 EXPORT_SYMBOL(do_softirq);
-#endif
 
 /*
  * Interrupt statistics:

^ permalink raw reply	[flat|nested] 273+ messages in thread
* Re:  [2.6 patch] i386: always use 4k stacks
@ 2005-12-05 21:45 Alex Davis
  2005-12-05 23:45 ` Helge Hafting
  0 siblings, 1 reply; 273+ messages in thread
From: Alex Davis @ 2005-12-05 21:45 UTC (permalink / raw)
  To: linux-kernel

The issues with wireless drivers, as far as I've heard, still haven't been resolved. 

I've read all about the advantages of 4K, but, so far, no one has
really explained the _disadvantes_ to kernel developers of allowing
people to choose their own stack size.

-Alex

I code, therefore I am


		
__________________________________________ 
Yahoo! DSL – Something to write home about. 
Just $16.99/mo. or less. 
dsl.yahoo.com 


^ permalink raw reply	[flat|nested] 273+ messages in thread
* [2.6 patch] i386: always use 4k stacks
@ 2005-12-05 21:35 Adrian Bunk
  0 siblings, 0 replies; 273+ messages in thread
From: Adrian Bunk @ 2005-12-05 21:35 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Arjan van de Ven

It seems most problems with 4k stacks are already resolved at least
in -mm.

I'd like to see this patch to always use 4k stacks in -mm now for 
finding any remaining problems before submitting this patch for Linus' 
tree.


Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Arjan van de Ven <arjan@infradead.org>

---

This patch was already sent on:
- 30 Nov 2005
- 23 Nov 2005
- 14 Nov 2005

 arch/i386/Kconfig.debug        |   10 ----------
 arch/i386/kernel/irq.c         |   10 ----------
 include/asm-i386/irq.h         |   11 +++--------
 include/asm-i386/module.h      |    8 +-------
 include/asm-i386/thread_info.h |    6 +-----
 5 files changed, 5 insertions(+), 40 deletions(-)

--- linux-2.6.14-mm2-full/arch/i386/Kconfig.debug.old	2005-11-14 01:30:54.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/Kconfig.debug	2005-11-14 01:31:06.000000000 +0100
@@ -52,16 +52,6 @@
 	  portion of the kernel code won't be covered by a 2MB TLB anymore.
 	  If in doubt, say "N".
 
-config 4KSTACKS
-	bool "Use 4Kb for kernel stacks instead of 8Kb"
-	depends on DEBUG_KERNEL
-	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. This option
-	  will also use IRQ stacks to compensate for the reduced stackspace.
-
 config X86_FIND_SMP_CONFIG
 	bool
 	depends on X86_LOCAL_APIC || X86_VOYAGER
--- linux-2.6.14-mm2-full/include/asm-i386/irq.h.old	2005-11-14 01:31:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/irq.h	2005-11-14 01:31:29.000000000 +0100
@@ -27,14 +27,9 @@
 # define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
 #endif
 
-#ifdef CONFIG_4KSTACKS
-  extern void irq_ctx_init(int cpu);
-  extern void irq_ctx_exit(int cpu);
-# define __ARCH_HAS_DO_SOFTIRQ
-#else
-# define irq_ctx_init(cpu) do { } while (0)
-# define irq_ctx_exit(cpu) do { } while (0)
-#endif
+extern void irq_ctx_init(int cpu);
+extern void irq_ctx_exit(int cpu);
+#define __ARCH_HAS_DO_SOFTIRQ
 
 #ifdef CONFIG_IRQBALANCE
 extern int irqbalance_disable(char *str);
--- linux-2.6.14-mm2-full/include/asm-i386/thread_info.h.old	2005-11-14 01:31:45.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/thread_info.h	2005-11-14 01:32:11.000000000 +0100
@@ -53,11 +53,7 @@
 #endif
 
 #define PREEMPT_ACTIVE		0x10000000
-#ifdef CONFIG_4KSTACKS
-#define THREAD_SIZE            (4096)
-#else
-#define THREAD_SIZE		(8192)
-#endif
+#define THREAD_SIZE		(4096)
 
 #define STACK_WARN             (THREAD_SIZE/8)
 /*
--- linux-2.6.14-mm2-full/include/asm-i386/module.h.old	2005-11-14 01:32:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/module.h	2005-11-14 01:32:42.000000000 +0100
@@ -64,12 +64,6 @@
 #define MODULE_REGPARM ""
 #endif
 
-#ifdef CONFIG_4KSTACKS
-#define MODULE_STACKSIZE "4KSTACKS "
-#else
-#define MODULE_STACKSIZE ""
-#endif
-
-#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM MODULE_STACKSIZE
+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM
 
 #endif /* _ASM_I386_MODULE_H */
--- linux-2.6.14-mm2-full/arch/i386/kernel/irq.c.old	2005-11-14 01:32:56.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/kernel/irq.c	2005-11-14 01:33:28.000000000 +0100
@@ -33,7 +33,6 @@
 }
 #endif
 
-#ifdef CONFIG_4KSTACKS
 /*
  * per-CPU IRQ handling contexts (thread information and stack)
  */
@@ -44,7 +43,6 @@
 
 static union irq_ctx *hardirq_ctx[NR_CPUS];
 static union irq_ctx *softirq_ctx[NR_CPUS];
-#endif
 
 /*
  * do_IRQ handles all normal device IRQ's (the special
@@ -58,10 +56,8 @@
 #ifdef CONFIG_DEBUG_PREEMPT
 	u32 count = preempt_count() & PREEMPT_MASK;
 #endif
-#ifdef CONFIG_4KSTACKS
 	union irq_ctx *curctx, *irqctx;
 	u32 *isp;
-#endif
 
 	irq_enter();
 #ifdef CONFIG_DEBUG_STACKOVERFLOW
@@ -79,8 +75,6 @@
 	}
 #endif
 
-#ifdef CONFIG_4KSTACKS
-
 	curctx = (union irq_ctx *) current_thread_info();
 	irqctx = hardirq_ctx[smp_processor_id()];
 
@@ -118,7 +112,6 @@
 		irqctx->tinfo.preempt_count -= count;
 #endif
 	} else
-#endif
 		__do_IRQ(irq, regs);
 
 	irq_exit();
@@ -128,8 +121,6 @@
 	return 1;
 }
 
-#ifdef CONFIG_4KSTACKS
-
 /*
  * These should really be __section__(".bss.page_aligned") as well, but
  * gcc's 3.0 and earlier don't handle that correctly.
@@ -228,7 +219,6 @@
 }
 
 EXPORT_SYMBOL(do_softirq);
-#endif
 
 /*
  * Interrupt statistics:


^ permalink raw reply	[flat|nested] 273+ messages in thread
* [2.6 patch] i386: always use 4k stacks
@ 2005-11-30 13:16 Adrian Bunk
  0 siblings, 0 replies; 273+ messages in thread
From: Adrian Bunk @ 2005-11-30 13:16 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Arjan van de Ven

It seems most problems with 4k stacks are already resolved at least
in -mm.

I'd like to see this patch to always use 4k stacks in -mm now for 
finding any remaining problems before submitting this patch for 2.6.16.


Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Arjan van de Ven <arjan@infradead.org>

---

This patch was already sent on:
- 23 Nov 2005
- 14 Nov 2005

 arch/i386/Kconfig.debug        |   10 ----------
 arch/i386/kernel/irq.c         |   10 ----------
 include/asm-i386/irq.h         |   11 +++--------
 include/asm-i386/module.h      |    8 +-------
 include/asm-i386/thread_info.h |    6 +-----
 5 files changed, 5 insertions(+), 40 deletions(-)

--- linux-2.6.14-mm2-full/arch/i386/Kconfig.debug.old	2005-11-14 01:30:54.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/Kconfig.debug	2005-11-14 01:31:06.000000000 +0100
@@ -52,16 +52,6 @@
 	  portion of the kernel code won't be covered by a 2MB TLB anymore.
 	  If in doubt, say "N".
 
-config 4KSTACKS
-	bool "Use 4Kb for kernel stacks instead of 8Kb"
-	depends on DEBUG_KERNEL
-	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. This option
-	  will also use IRQ stacks to compensate for the reduced stackspace.
-
 config X86_FIND_SMP_CONFIG
 	bool
 	depends on X86_LOCAL_APIC || X86_VOYAGER
--- linux-2.6.14-mm2-full/include/asm-i386/irq.h.old	2005-11-14 01:31:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/irq.h	2005-11-14 01:31:29.000000000 +0100
@@ -27,14 +27,9 @@
 # define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
 #endif
 
-#ifdef CONFIG_4KSTACKS
-  extern void irq_ctx_init(int cpu);
-  extern void irq_ctx_exit(int cpu);
-# define __ARCH_HAS_DO_SOFTIRQ
-#else
-# define irq_ctx_init(cpu) do { } while (0)
-# define irq_ctx_exit(cpu) do { } while (0)
-#endif
+extern void irq_ctx_init(int cpu);
+extern void irq_ctx_exit(int cpu);
+#define __ARCH_HAS_DO_SOFTIRQ
 
 #ifdef CONFIG_IRQBALANCE
 extern int irqbalance_disable(char *str);
--- linux-2.6.14-mm2-full/include/asm-i386/thread_info.h.old	2005-11-14 01:31:45.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/thread_info.h	2005-11-14 01:32:11.000000000 +0100
@@ -53,11 +53,7 @@
 #endif
 
 #define PREEMPT_ACTIVE		0x10000000
-#ifdef CONFIG_4KSTACKS
-#define THREAD_SIZE            (4096)
-#else
-#define THREAD_SIZE		(8192)
-#endif
+#define THREAD_SIZE		(4096)
 
 #define STACK_WARN             (THREAD_SIZE/8)
 /*
--- linux-2.6.14-mm2-full/include/asm-i386/module.h.old	2005-11-14 01:32:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/module.h	2005-11-14 01:32:42.000000000 +0100
@@ -64,12 +64,6 @@
 #define MODULE_REGPARM ""
 #endif
 
-#ifdef CONFIG_4KSTACKS
-#define MODULE_STACKSIZE "4KSTACKS "
-#else
-#define MODULE_STACKSIZE ""
-#endif
-
-#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM MODULE_STACKSIZE
+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM
 
 #endif /* _ASM_I386_MODULE_H */
--- linux-2.6.14-mm2-full/arch/i386/kernel/irq.c.old	2005-11-14 01:32:56.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/kernel/irq.c	2005-11-14 01:33:28.000000000 +0100
@@ -33,7 +33,6 @@
 }
 #endif
 
-#ifdef CONFIG_4KSTACKS
 /*
  * per-CPU IRQ handling contexts (thread information and stack)
  */
@@ -44,7 +43,6 @@
 
 static union irq_ctx *hardirq_ctx[NR_CPUS];
 static union irq_ctx *softirq_ctx[NR_CPUS];
-#endif
 
 /*
  * do_IRQ handles all normal device IRQ's (the special
@@ -58,10 +56,8 @@
 #ifdef CONFIG_DEBUG_PREEMPT
 	u32 count = preempt_count() & PREEMPT_MASK;
 #endif
-#ifdef CONFIG_4KSTACKS
 	union irq_ctx *curctx, *irqctx;
 	u32 *isp;
-#endif
 
 	irq_enter();
 #ifdef CONFIG_DEBUG_STACKOVERFLOW
@@ -79,8 +75,6 @@
 	}
 #endif
 
-#ifdef CONFIG_4KSTACKS
-
 	curctx = (union irq_ctx *) current_thread_info();
 	irqctx = hardirq_ctx[smp_processor_id()];
 
@@ -118,7 +112,6 @@
 		irqctx->tinfo.preempt_count -= count;
 #endif
 	} else
-#endif
 		__do_IRQ(irq, regs);
 
 	irq_exit();
@@ -128,8 +121,6 @@
 	return 1;
 }
 
-#ifdef CONFIG_4KSTACKS
-
 /*
  * These should really be __section__(".bss.page_aligned") as well, but
  * gcc's 3.0 and earlier don't handle that correctly.
@@ -228,7 +219,6 @@
 }
 
 EXPORT_SYMBOL(do_softirq);
-#endif
 
 /*
  * Interrupt statistics:


^ permalink raw reply	[flat|nested] 273+ messages in thread
* [2.6 patch] i386: always use 4k stacks
@ 2005-11-23 22:34 Adrian Bunk
  0 siblings, 0 replies; 273+ messages in thread
From: Adrian Bunk @ 2005-11-23 22:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Arjan van de Ven

It seems most problems with 4k stacks are already resolved.

I'd like to see this patch to always use 4k stacks in -mm now for 
finding any remaining problems before submitting this patch for 2.6.16.


Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Arjan van de Ven <arjan@infradead.org>

---

This patch was already sent on:
- 14 Nov 2005

 arch/i386/Kconfig.debug        |   10 ----------
 arch/i386/kernel/irq.c         |   10 ----------
 include/asm-i386/irq.h         |   11 +++--------
 include/asm-i386/module.h      |    8 +-------
 include/asm-i386/thread_info.h |    6 +-----
 5 files changed, 5 insertions(+), 40 deletions(-)

--- linux-2.6.14-mm2-full/arch/i386/Kconfig.debug.old	2005-11-14 01:30:54.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/Kconfig.debug	2005-11-14 01:31:06.000000000 +0100
@@ -52,16 +52,6 @@
 	  portion of the kernel code won't be covered by a 2MB TLB anymore.
 	  If in doubt, say "N".
 
-config 4KSTACKS
-	bool "Use 4Kb for kernel stacks instead of 8Kb"
-	depends on DEBUG_KERNEL
-	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. This option
-	  will also use IRQ stacks to compensate for the reduced stackspace.
-
 config X86_FIND_SMP_CONFIG
 	bool
 	depends on X86_LOCAL_APIC || X86_VOYAGER
--- linux-2.6.14-mm2-full/include/asm-i386/irq.h.old	2005-11-14 01:31:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/irq.h	2005-11-14 01:31:29.000000000 +0100
@@ -27,14 +27,9 @@
 # define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
 #endif
 
-#ifdef CONFIG_4KSTACKS
-  extern void irq_ctx_init(int cpu);
-  extern void irq_ctx_exit(int cpu);
-# define __ARCH_HAS_DO_SOFTIRQ
-#else
-# define irq_ctx_init(cpu) do { } while (0)
-# define irq_ctx_exit(cpu) do { } while (0)
-#endif
+extern void irq_ctx_init(int cpu);
+extern void irq_ctx_exit(int cpu);
+#define __ARCH_HAS_DO_SOFTIRQ
 
 #ifdef CONFIG_IRQBALANCE
 extern int irqbalance_disable(char *str);
--- linux-2.6.14-mm2-full/include/asm-i386/thread_info.h.old	2005-11-14 01:31:45.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/thread_info.h	2005-11-14 01:32:11.000000000 +0100
@@ -53,11 +53,7 @@
 #endif
 
 #define PREEMPT_ACTIVE		0x10000000
-#ifdef CONFIG_4KSTACKS
-#define THREAD_SIZE            (4096)
-#else
-#define THREAD_SIZE		(8192)
-#endif
+#define THREAD_SIZE		(4096)
 
 #define STACK_WARN             (THREAD_SIZE/8)
 /*
--- linux-2.6.14-mm2-full/include/asm-i386/module.h.old	2005-11-14 01:32:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/module.h	2005-11-14 01:32:42.000000000 +0100
@@ -64,12 +64,6 @@
 #define MODULE_REGPARM ""
 #endif
 
-#ifdef CONFIG_4KSTACKS
-#define MODULE_STACKSIZE "4KSTACKS "
-#else
-#define MODULE_STACKSIZE ""
-#endif
-
-#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM MODULE_STACKSIZE
+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM
 
 #endif /* _ASM_I386_MODULE_H */
--- linux-2.6.14-mm2-full/arch/i386/kernel/irq.c.old	2005-11-14 01:32:56.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/kernel/irq.c	2005-11-14 01:33:28.000000000 +0100
@@ -33,7 +33,6 @@
 }
 #endif
 
-#ifdef CONFIG_4KSTACKS
 /*
  * per-CPU IRQ handling contexts (thread information and stack)
  */
@@ -44,7 +43,6 @@
 
 static union irq_ctx *hardirq_ctx[NR_CPUS];
 static union irq_ctx *softirq_ctx[NR_CPUS];
-#endif
 
 /*
  * do_IRQ handles all normal device IRQ's (the special
@@ -58,10 +56,8 @@
 #ifdef CONFIG_DEBUG_PREEMPT
 	u32 count = preempt_count() & PREEMPT_MASK;
 #endif
-#ifdef CONFIG_4KSTACKS
 	union irq_ctx *curctx, *irqctx;
 	u32 *isp;
-#endif
 
 	irq_enter();
 #ifdef CONFIG_DEBUG_STACKOVERFLOW
@@ -79,8 +75,6 @@
 	}
 #endif
 
-#ifdef CONFIG_4KSTACKS
-
 	curctx = (union irq_ctx *) current_thread_info();
 	irqctx = hardirq_ctx[smp_processor_id()];
 
@@ -118,7 +112,6 @@
 		irqctx->tinfo.preempt_count -= count;
 #endif
 	} else
-#endif
 		__do_IRQ(irq, regs);
 
 	irq_exit();
@@ -128,8 +121,6 @@
 	return 1;
 }
 
-#ifdef CONFIG_4KSTACKS
-
 /*
  * These should really be __section__(".bss.page_aligned") as well, but
  * gcc's 3.0 and earlier don't handle that correctly.
@@ -228,7 +219,6 @@
 }
 
 EXPORT_SYMBOL(do_softirq);
-#endif
 
 /*
  * Interrupt statistics:


^ permalink raw reply	[flat|nested] 273+ messages in thread
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-11-17 12:31 Kenneth Parrish
  0 siblings, 0 replies; 273+ messages in thread
From: Kenneth Parrish @ 2005-11-17 12:31 UTC (permalink / raw)
  To: linux-kernel

-=> In article 17 Nov 05, 06:17ish -0600 Kenneth Parrish wrote to All <=-

 AB> If one function calls another function you have to add the stack
 AB> usages.

[..]
> 78.5% of 493 make checkstack lines here report fewer than 200 bytes.
> Only six over 600.
Only six over 604. :)

--- MultiMail/Linux v0.46

^ permalink raw reply	[flat|nested] 273+ messages in thread
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-11-17 12:17 Kenneth Parrish
  2005-11-30 10:31 ` Eric W. Biederman
  0 siblings, 1 reply; 273+ messages in thread
From: Kenneth Parrish @ 2005-11-17 12:17 UTC (permalink / raw)
  To: linux-kernel

-=> In article 16 Nov 05  14:40:16, Adrian Bunk wrote to All <=-

 AB> If one function calls another function you have to add the stack
 AB> usages.

these few may do that, i bet.
 0xc02bb528 huft_build:                                  1432
 0xc02bb954 huft_build:                                  1432
 0xc02bc1c4 inflate_dynamic:                             1312
 0xc02bc2ff inflate_dynamic:                             1312
 0xc02bc082 inflate_fixed:                               1168
 0xc02bc172 inflate_fixed:                               1168

78.5% of 493 make checkstack lines here report fewer than 200 bytes.
Only six over 600.

... Life is like a simile.
--- MultiMail/Linux v0.46

^ permalink raw reply	[flat|nested] 273+ messages in thread
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-11-16  2:03 Kenneth Parrish
  2005-11-16 18:38 ` Adrian Bunk
  0 siblings, 1 reply; 273+ messages in thread
From: Kenneth Parrish @ 2005-11-16  2:03 UTC (permalink / raw)
  To: linux-kernel

-=> In article 15 Nov 05  15:00:28, Adrian Bunk wrote to All <=-

[...]
 AB> Unconditionally enabling 4k stacks is the only way to achieve
 AB> this.
:) 2K might do here..

5 Tue Nov 15 19:29:43 ~/build/kernel/linux-2.6.15-rc1-git3 $ make checkstack
objdump -d vmlinux $(find . -name '*.ko') | \
perl /home/ken/build/kernel/linux-2.6.15-rc1-git3/scripts/checkstack.pl i386
0xc02bd528 huft_build:                                  1432
0xc02bd954 huft_build:                                  1432
0xc02be1c4 inflate_dynamic:                             1312
0xc02be2ff inflate_dynamic:                             1312
0xc02be082 inflate_fixed:                               1168
0xc02be172 inflate_fixed:                               1168
0x0000d748 ipv6_setsockopt:                             604
0x0000d788 ipv6_setsockopt:                             604
0xc0182a38 semctl_main:                                 588
0xc0182b11 semctl_main:                                 588
0xc022e938 ip_setsockopt:                               548
0xc022e9eb ip_setsockopt:                               548
0xc01831d4 sys_semtimedop:                              460
0xc01832d7 sys_semtimedop:                              460
0xc022f31d ip_getsockopt:                               436
0xc022f3b7 ip_getsockopt:                               436
0xc01b98de extract_buf:                                 424
0xc01b9818 extract_buf:                                 420
0xc0158ee4 sys_pivot_root:                              412
0xc0158f06 sys_pivot_root:                              412
0x0000e1a6 ipv6_getsockopt:                             392
0x0000e1e0 ipv6_getsockopt:                             392

... SPF  - Sender Policy Framework   [Electronic Mail]
--- MultiMail/Linux  Cyrix MII  1999 e-machines @ 200 MHz

^ permalink raw reply	[flat|nested] 273+ messages in thread
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-11-15 23:41 Wed, 16 Nov 2005 00:41:11 +0100
  2005-11-15 23:56 ` Parag Warudkar
  2005-11-16  9:04 ` Bernd Petrovitsch
  0 siblings, 2 replies; 273+ messages in thread
From: Wed, 16 Nov 2005 00:41:11 +0100 @ 2005-11-15 23:41 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Bernd Petrovitsch, linux-kernel


> documentation for broadcom wireless:
> http://bcm-specs.sipsolutions.net/
> embrionic driver based on this spec:
> http://bcm43xx.berlios.de/


Maybe a good deal would be to delay the 4K patch until some preliminary
version of those is merged? 

^ permalink raw reply	[flat|nested] 273+ messages in thread
[parent not found: <58XuN-29u-17@gated-at.bofh.it>]
[parent not found: <58MJb-2Sn-37@gated-at.bofh.it>]
* Re: [2.6 patch] i386: always use 4k stacks
@ 2005-11-14 13:38 Alex Davis
  2005-11-14 14:49 ` Alan Cox
  0 siblings, 1 reply; 273+ messages in thread
From: Alex Davis @ 2005-11-14 13:38 UTC (permalink / raw)
  To: linux-kernel

This will break ndiswrapper. Why can't we just leave this in and let people choose? 

I code, therefore I am


		
__________________________________ 
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com

^ permalink raw reply	[flat|nested] 273+ messages in thread
* [2.6 patch] i386: always use 4k stacks
@ 2005-11-14  2:11 Adrian Bunk
  2005-11-14  7:50 ` Arjan van de Ven
  2005-11-14 10:20 ` Pierre Ossman
  0 siblings, 2 replies; 273+ messages in thread
From: Adrian Bunk @ 2005-11-14  2:11 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

It seems most problems with 4k stacks are already resolved.

I'd like to see this patch to always use 4k stacks in -mm now for 
finding any remaining problems before submitting this patch for 2.6.16.


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 arch/i386/Kconfig.debug        |   10 ----------
 arch/i386/kernel/irq.c         |   10 ----------
 include/asm-i386/irq.h         |   11 +++--------
 include/asm-i386/module.h      |    8 +-------
 include/asm-i386/thread_info.h |    6 +-----
 5 files changed, 5 insertions(+), 40 deletions(-)

--- linux-2.6.14-mm2-full/arch/i386/Kconfig.debug.old	2005-11-14 01:30:54.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/Kconfig.debug	2005-11-14 01:31:06.000000000 +0100
@@ -52,16 +52,6 @@
 	  portion of the kernel code won't be covered by a 2MB TLB anymore.
 	  If in doubt, say "N".
 
-config 4KSTACKS
-	bool "Use 4Kb for kernel stacks instead of 8Kb"
-	depends on DEBUG_KERNEL
-	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. This option
-	  will also use IRQ stacks to compensate for the reduced stackspace.
-
 config X86_FIND_SMP_CONFIG
 	bool
 	depends on X86_LOCAL_APIC || X86_VOYAGER
--- linux-2.6.14-mm2-full/include/asm-i386/irq.h.old	2005-11-14 01:31:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/irq.h	2005-11-14 01:31:29.000000000 +0100
@@ -27,14 +27,9 @@
 # define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
 #endif
 
-#ifdef CONFIG_4KSTACKS
-  extern void irq_ctx_init(int cpu);
-  extern void irq_ctx_exit(int cpu);
-# define __ARCH_HAS_DO_SOFTIRQ
-#else
-# define irq_ctx_init(cpu) do { } while (0)
-# define irq_ctx_exit(cpu) do { } while (0)
-#endif
+extern void irq_ctx_init(int cpu);
+extern void irq_ctx_exit(int cpu);
+#define __ARCH_HAS_DO_SOFTIRQ
 
 #ifdef CONFIG_IRQBALANCE
 extern int irqbalance_disable(char *str);
--- linux-2.6.14-mm2-full/include/asm-i386/thread_info.h.old	2005-11-14 01:31:45.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/thread_info.h	2005-11-14 01:32:11.000000000 +0100
@@ -53,11 +53,7 @@
 #endif
 
 #define PREEMPT_ACTIVE		0x10000000
-#ifdef CONFIG_4KSTACKS
-#define THREAD_SIZE            (4096)
-#else
-#define THREAD_SIZE		(8192)
-#endif
+#define THREAD_SIZE		(4096)
 
 #define STACK_WARN             (THREAD_SIZE/8)
 /*
--- linux-2.6.14-mm2-full/include/asm-i386/module.h.old	2005-11-14 01:32:18.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/module.h	2005-11-14 01:32:42.000000000 +0100
@@ -64,12 +64,6 @@
 #define MODULE_REGPARM ""
 #endif
 
-#ifdef CONFIG_4KSTACKS
-#define MODULE_STACKSIZE "4KSTACKS "
-#else
-#define MODULE_STACKSIZE ""
-#endif
-
-#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM MODULE_STACKSIZE
+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM
 
 #endif /* _ASM_I386_MODULE_H */
--- linux-2.6.14-mm2-full/arch/i386/kernel/irq.c.old	2005-11-14 01:32:56.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/kernel/irq.c	2005-11-14 01:33:28.000000000 +0100
@@ -33,7 +33,6 @@
 }
 #endif
 
-#ifdef CONFIG_4KSTACKS
 /*
  * per-CPU IRQ handling contexts (thread information and stack)
  */
@@ -44,7 +43,6 @@
 
 static union irq_ctx *hardirq_ctx[NR_CPUS];
 static union irq_ctx *softirq_ctx[NR_CPUS];
-#endif
 
 /*
  * do_IRQ handles all normal device IRQ's (the special
@@ -58,10 +56,8 @@
 #ifdef CONFIG_DEBUG_PREEMPT
 	u32 count = preempt_count() & PREEMPT_MASK;
 #endif
-#ifdef CONFIG_4KSTACKS
 	union irq_ctx *curctx, *irqctx;
 	u32 *isp;
-#endif
 
 	irq_enter();
 #ifdef CONFIG_DEBUG_STACKOVERFLOW
@@ -79,8 +75,6 @@
 	}
 #endif
 
-#ifdef CONFIG_4KSTACKS
-
 	curctx = (union irq_ctx *) current_thread_info();
 	irqctx = hardirq_ctx[smp_processor_id()];
 
@@ -118,7 +112,6 @@
 		irqctx->tinfo.preempt_count -= count;
 #endif
 	} else
-#endif
 		__do_IRQ(irq, regs);
 
 	irq_exit();
@@ -128,8 +121,6 @@
 	return 1;
 }
 
-#ifdef CONFIG_4KSTACKS
-
 /*
  * These should really be __section__(".bss.page_aligned") as well, but
  * gcc's 3.0 and earlier don't handle that correctly.
@@ -228,7 +219,6 @@
 }
 
 EXPORT_SYMBOL(do_softirq);
-#endif
 
 /*
  * Interrupt statistics:


^ permalink raw reply	[flat|nested] 273+ messages in thread

end of thread, other threads:[~2006-02-11 23:26 UTC | newest]

Thread overview: 273+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <5k8PZ-4xt-9@gated-at.bofh.it>
     [not found] ` <5k9sD-5yh-13@gated-at.bofh.it>
     [not found]   ` <5knFp-kU-51@gated-at.bofh.it>
     [not found]     ` <5korL-1xX-33@gated-at.bofh.it>
     [not found]       ` <5kpRh-3sK-11@gated-at.bofh.it>
     [not found]         ` <5kq0L-3FB-37@gated-at.bofh.it>
     [not found]           ` <5kOma-4K1-23@gated-at.bofh.it>
     [not found]             ` <5kRk3-xO-11@gated-at.bofh.it>
2005-12-18  5:57               ` [2.6 patch] i386: always use 4k stacks Bodo Eggert
2005-12-18 12:28                 ` Adrian Bunk
2005-12-18 13:44                   ` Michael Poole
2005-12-18 14:12                     ` Adrian Bunk
2006-02-11 23:26 Joshua Hudson
     [not found] <5lQOU-492-31@gated-at.bofh.it>
     [not found] ` <5lQOU-492-29@gated-at.bofh.it>
2005-12-23 10:12   ` Bodo Eggert
2005-12-23 10:29     ` Eric Dumazet
     [not found]     ` <38510.10.10.10.28.1135334691.squirrel@linux1>
2005-12-23 10:44       ` Sean
2005-12-23 13:59     ` Diego Calleja
2005-12-23 23:08     ` Pavel Machek
2005-12-24  1:06     ` Horst von Brand
  -- strict thread matches above, loose matches on Subject: below --
2005-12-20 19:53 Parag Warudkar
     [not found] ` <122020051953.9002.43A861470004E9E70000232A220702095300009A9B9CD3040A0 29D0A05@comcast.net>
     [not found]   ` <58575.10.10.10.28.1135109038.squirrel@linux1>
2005-12-20 20:03     ` Sean
2005-12-20 20:27 ` Jesper Juhl
2005-12-20 22:08 ` Horst von Brand
2005-12-20 19:08 Parag Warudkar
2005-12-20 19:25 ` David Lang
2005-12-20 21:37 ` Horst von Brand
2005-12-18 10:49 Stefan Rompf
2005-12-18 12:06 ` Alan Cox
2005-12-17  6:53 Alex Davis
     [not found] <200512161903.jBGJ3EnR003647@quelen.inf.utfsm.cl>
2005-12-17  0:17 ` Horst von Brand
2005-12-18 23:10   ` Neil Brown
2005-12-16 15:36 Matt Reuther
     [not found] <5kh6K-7KC-3@gated-at.bofh.it>
     [not found] ` <5kiFR-1mi-11@gated-at.bofh.it>
2005-12-16 11:05   ` Bodo Eggert
2005-12-16 12:22     ` Denis Vlasenko
2005-12-16 18:08     ` Dave Jones
2005-12-17 10:26       ` Bodo Eggert
2005-12-16 19:25     ` Lee Revell
2005-12-17  3:47       ` Bodo Eggert
     [not found] <EC9B7A4A-2CD2-4EA4-B9B3-D35F8F5DFA4B@mac.com>
2005-12-16  8:48 ` Alex Davis
2005-12-16  9:38   ` Kyle Moffett
2005-12-16 14:45     ` Alex Davis
2005-12-16 15:11       ` Kyle Moffett
2005-12-16  5:20 Alex Davis
2005-12-16  5:29 ` Dave Jones
2005-12-16  6:16   ` Alex Davis
2005-12-16  7:41     ` Pekka Enberg
2005-12-16  7:43     ` Kyle Moffett
2005-12-16  7:53     ` Kyle Moffett
2005-12-16  8:02     ` Arjan van de Ven
2005-12-27 21:03     ` David Weinehall
2005-12-27 22:26       ` Michael Buesch
2005-12-16  8:10 ` Matt Domsch
2005-12-15 21:24 Adrian Bunk
2005-12-15 22:00 ` Andrew Morton
2005-12-15 20:42   ` Jeff V. Merkey
2005-12-15 22:30   ` Adrian Bunk
2005-12-15 21:07     ` Jeff V. Merkey
2005-12-15 23:14       ` Lee Revell
2005-12-15 21:46         ` Jeff V. Merkey
2005-12-15 23:26           ` Lee Revell
2005-12-15 22:04             ` Jeff V. Merkey
2005-12-15 23:36               ` Ismail Donmez
2005-12-16  0:08               ` Fri, 16 Dec 2005 01:08:02 +0100
2005-12-15 22:51                 ` Jeff V. Merkey
2005-12-16  0:57                 ` Michael Buesch
2005-12-16  0:38               ` Alan Cox
2005-12-16 14:39             ` linux-os (Dick Johnson)
2005-12-16 14:49               ` Xavier Bestel
2005-12-16 15:01               ` Adrian Bunk
2005-12-16 18:42               ` Horst von Brand
2005-12-16 18:53                 ` Oliver Neukum
2005-12-16 18:53                 ` Brian Gerst
2005-12-16 19:02                   ` Arjan van de Ven
2005-12-16 19:14                     ` Oliver Neukum
2005-12-16 18:55                 ` Steven Rostedt
2005-12-17  0:16                   ` Horst von Brand
2005-12-19  9:40                     ` Helge Hafting
2005-12-16 19:26                 ` linux-os (Dick Johnson)
2005-12-16 21:08                   ` David Lang
2005-12-16 21:35                     ` linux-os (Dick Johnson)
2005-12-19  9:02               ` Helge Hafting
2005-12-16  0:37         ` Ray Lee
2005-12-19  8:55           ` Helge Hafting
2005-12-15 23:15     ` Dave Jones
2005-12-16  0:47       ` Adrian Bunk
2005-12-16  0:50         ` Dave Jones
2005-12-16  2:56           ` Neil Brown
2005-12-16  3:06             ` Dave Jones
2005-12-16 12:18             ` Adrian Bunk
2005-12-16 19:03               ` Horst von Brand
2005-12-19  0:45               ` Neil Brown
2005-12-19  1:34                 ` Adrian Bunk
2005-12-19 11:40                   ` Jörn Engel
2005-12-16  1:15         ` Nathan Scott
2005-12-16  1:37           ` Dave Jones
2005-12-16  1:49     ` Zwane Mwaikambo
2005-12-16 14:12       ` Adrian Bunk
2005-12-16 13:10   ` Diego Calleja
2005-12-16 14:04     ` Adrian Bunk
2005-12-16 15:35       ` Diego Calleja
2005-12-16 15:49         ` Kyle Moffett
2005-12-16 16:23           ` Michael Buesch
2005-12-16 20:02             ` Alan Cox
2005-12-16 20:08               ` Arjan van de Ven
2005-12-16 18:18           ` Giridhar Pemmasani
2005-12-16 18:36             ` Arjan van de Ven
2005-12-16 19:32               ` Mike Snitzer
2005-12-16 19:46                 ` Arjan van de Ven
2005-12-16 21:28                   ` Mike Snitzer
2005-12-16 21:49                     ` Arjan van de Ven
2005-12-16 21:50                     ` Adrian Bunk
2005-12-16 22:14                       ` Dave Jones
2005-12-17 17:44           ` Andi Kleen
2005-12-17 20:16             ` Kyle Moffett
2005-12-17 20:23               ` Paul Rolland
2005-12-17 20:47                 ` Arjan van de Ven
2005-12-17 20:52             ` Adrian Bunk
2005-12-18  2:35               ` Andi Kleen
2005-12-18  5:03               ` Parag Warudkar
2005-12-18  5:43                 ` Andi Kleen
2005-12-18  6:05                   ` Parag Warudkar
2005-12-18 15:51                     ` Adrian Bunk
2005-12-18 15:59                       ` Parag Warudkar
2005-12-19 11:09                     ` Helge Hafting
2005-12-19 16:22                       ` Parag Warudkar
2005-12-19 17:43                         ` Dumitru Ciobarcianu
2005-12-19 19:10                           ` Parag Warudkar
2005-12-19 19:27                             ` Dumitru Ciobarcianu
2005-12-19 20:17                               ` Parag Warudkar
2005-12-19 20:34                                 ` Dumitru Ciobarcianu
2005-12-20  1:24                                   ` Tue, 20 Dec 2005 02:24:16 +0100
2005-12-20 14:28                                 ` Horst von Brand
2005-12-20 17:56                                   ` David Lang
2005-12-20 18:09                                     ` Arjan van de Ven
2005-12-20 18:49                                       ` David Lang
2005-12-21 11:12                                       ` Sander
2005-12-21 20:03                                         ` Jeffrey Hundstad
2005-12-20 18:12                                     ` Adrian Bunk
     [not found]                                     ` <55454.10.10.10.28.1135102356.squirrel@linux1>
2005-12-20 18:12                                       ` Sean
2005-12-20 18:23                                     ` Dave Jones
2005-12-20 12:58                             ` Adrian Bunk
2005-12-20 14:35                             ` Felix Oxley
2005-12-18 15:44                   ` Adrian Bunk
2005-12-18 12:09                 ` Adrian Bunk
2005-12-18 15:49                   ` Parag Warudkar
2005-12-18 15:57                     ` Adrian Bunk
2005-12-18 16:04                       ` Parag Warudkar
2005-12-16 15:58         ` Adrian Bunk
2005-12-16 16:46     ` Arjan van de Ven
2005-12-11 18:05 Adrian Bunk
2005-12-15 22:57 ` Jan Engelhardt
2005-12-15 23:12   ` Ismail Donmez
2005-12-16  3:51     ` Puneet Vyas
2005-12-16  7:55       ` Pekka Enberg
2005-12-19  9:27         ` Helge Hafting
2005-12-19  9:27       ` Helge Hafting
2005-12-15 23:13   ` Lee Revell
2005-12-16  0:36   ` Alan Cox
2005-12-05 21:45 Alex Davis
2005-12-05 23:45 ` Helge Hafting
2005-12-05 21:35 Adrian Bunk
2005-11-30 13:16 Adrian Bunk
2005-11-23 22:34 Adrian Bunk
2005-11-17 12:31 Kenneth Parrish
2005-11-17 12:17 Kenneth Parrish
2005-11-30 10:31 ` Eric W. Biederman
2005-11-30 11:49   ` Jörn Engel
2005-11-16  2:03 Kenneth Parrish
2005-11-16 18:38 ` Adrian Bunk
2005-11-15 23:41 Wed, 16 Nov 2005 00:41:11 +0100
2005-11-15 23:56 ` Parag Warudkar
2005-11-16  6:54   ` Arjan van de Ven
2005-11-16  9:04 ` Bernd Petrovitsch
2005-11-16 18:34   ` Adrian Bunk
2005-11-16 20:38   ` Krzysztof Halasa
     [not found] <58XuN-29u-17@gated-at.bofh.it>
     [not found] ` <58XuN-29u-19@gated-at.bofh.it>
     [not found]   ` <58XuN-29u-21@gated-at.bofh.it>
     [not found]     ` <58XuN-29u-23@gated-at.bofh.it>
     [not found]       ` <58XuN-29u-25@gated-at.bofh.it>
     [not found]         ` <58XuN-29u-15@gated-at.bofh.it>
     [not found]           ` <58YAt-3Fs-5@gated-at.bofh.it>
     [not found]             ` <58ZGo-5ba-13@gated-at.bofh.it>
     [not found]               ` <5909m-5JB-5@gated-at.bofh.it>
2005-11-15  4:08                 ` Robert Hancock
2005-11-15  3:56                   ` Jeff V. Merkey
2005-11-15  4:31                     ` Robert Hancock
2005-11-15  4:11                       ` Jeff V. Merkey
2005-11-15  9:31                       ` Bernd Petrovitsch
2005-11-15  9:45                         ` Arjan van de Ven
2005-11-15 16:36                           ` Jeffrey V. Merkey
2005-11-15 19:49                             ` Meelis Roos
2005-11-15 16:39                           ` Cal Peake
2005-11-17 19:32                     ` Bill Davidsen
     [not found]             ` <59ecB-15H-13@gated-at.bofh.it>
     [not found]               ` <59htx-69E-13@gated-at.bofh.it>
     [not found]                 ` <5acUX-PU-31@gated-at.bofh.it>
2005-11-18 13:06                   ` Bodo Eggert
2005-11-18 18:37                     ` Bill Davidsen
     [not found] <58MJb-2Sn-37@gated-at.bofh.it>
     [not found] ` <58NvO-46M-23@gated-at.bofh.it>
     [not found]   ` <58Rpx-1m6-11@gated-at.bofh.it>
     [not found]     ` <58UGF-6qR-27@gated-at.bofh.it>
     [not found]       ` <58UQf-6Da-3@gated-at.bofh.it>
2005-11-15  1:02         ` Robert Hancock
2005-11-15  2:07           ` Lee Revell
2005-11-15  2:22             ` Robert Hancock
2005-11-15  3:27             ` Giridhar Pemmasani
2005-11-15  3:28             ` Dave Jones
2005-11-15  3:26               ` Jeff V. Merkey
2005-11-15  5:06                 ` Dave Jones
2005-11-15  6:19                   ` Jeff V. Merkey
2005-11-15  6:52                     ` Neil Brown
2005-11-15  6:47                       ` Jeff V. Merkey
2005-11-15 13:18                         ` Tue, 15 Nov 2005 14:18:51 +0100
2005-11-15 13:24                           ` Arjan van de Ven
2005-11-15 16:46                             ` Giridhar Pemmasani
2005-11-15 18:55                               ` Adrian Bunk
2005-11-15 22:27                                 ` Giridhar Pemmasani
2005-11-15 23:20                                   ` Adrian Bunk
2005-11-18 11:40                                   ` Denis Vlasenko
2005-11-18 19:51                                     ` Giridhar Pemmasani
2005-11-18 23:32                                     ` Giridhar Pemmasani
2005-11-17 19:25                                 ` Bill Davidsen
2005-11-17 21:34                                   ` Giridhar Pemmasani
2005-11-19  1:33                                 ` Rob Landley
2005-11-19  2:02                                   ` Lee Revell
2005-11-19  2:43                                     ` Rob Landley
2005-11-19  3:22                                       ` Lee Revell
2005-11-19  3:38                                         ` Rob Landley
2005-11-19  5:26                                           ` Dave Jones
2005-11-17 14:11                               ` Rob Landley
2005-11-18 19:27                     ` Alan Cox
2005-11-18 20:05                       ` Jeff V. Merkey
2005-11-14 13:38 Alex Davis
2005-11-14 14:49 ` Alan Cox
2005-11-14 18:02   ` Alistair John Strachan
2005-11-14 18:12     ` Arjan van de Ven
2005-11-14 18:18     ` Dave Jones
2005-11-14 18:22       ` Alistair John Strachan
2005-11-14 18:29         ` Arjan van de Ven
2005-11-14 18:38           ` Alistair John Strachan
2005-11-14 19:17           ` Linus Torvalds
2005-11-14 19:28             ` Michael Buesch
2005-11-14 21:16               ` Rafael J. Wysocki
2005-11-14 20:27     ` Alan Cox
2005-11-16  0:50       ` Alex Davis
2005-11-16  4:05         ` Cal Peake
2005-11-16  8:03         ` Arjan van de Ven
2005-11-16  8:34           ` Oliver Neukum
2005-11-16  9:19             ` Ingo Molnar
2005-11-16 10:18           ` Wed, 16 Nov 2005 11:18:12 +0100
2005-11-16 10:40             ` Arjan van de Ven
2005-11-16 12:57               ` Andi Kleen
2005-11-16 13:51                 ` Jörn Engel
2005-11-16 14:42                   ` jmerkey
2005-11-16 15:18                     ` Jörn Engel
2005-11-16 15:30                     ` Oliver Neukum
2005-11-16 15:38                       ` Arjan van de Ven
2005-11-16 16:10                         ` Andi Kleen
2005-11-16 18:45                           ` Adrian Bunk
2005-11-16 19:03                             ` Benjamin LaHaise
2005-11-16 19:08                               ` Andi Kleen
2005-11-16 20:46                               ` Wed, 16 Nov 2005 21:46:05 +0100
2005-11-17  2:01                                 ` Andi Kleen
2005-11-17  0:06                             ` Jörn Engel
2005-11-16 22:50                               ` Jeffrey V. Merkey
2005-11-16 22:54                                 ` Jeffrey V. Merkey
2005-11-17  0:28                                   ` Jörn Engel
2005-11-17  4:06                                     ` Jeff V. Merkey
2005-11-17  0:31                                   ` Adrian Bunk
2005-11-17  4:05                                     ` Jeff V. Merkey
2005-11-14 18:29   ` Giridhar Pemmasani
2005-11-14 19:00     ` Olivier Galibert
2005-11-14 19:18       ` Benjamin LaHaise
2005-11-14 19:47         ` Giridhar Pemmasani
2005-11-14 22:33     ` Alan Cox
2005-11-14 22:14       ` Giridhar Pemmasani
2005-11-15 15:12     ` Paulo Marques
2005-11-15  1:09   ` Alex Davis
2005-11-14  2:11 Adrian Bunk
2005-11-14  7:50 ` Arjan van de Ven
2005-11-14 10:20 ` Pierre Ossman
2005-11-14 10:31   ` Arjan van de Ven
2005-11-14 10:39     ` Pierre Ossman
2005-11-14 11:11     ` Jens Axboe
2005-11-14 11:19       ` Arjan van de Ven
2005-11-14 11:24         ` Jens Axboe
2005-11-14 11:27           ` Arjan van de Ven
2005-11-14 11:34             ` Jens Axboe
2005-11-14 11:53               ` Arjan van de Ven
2005-11-14 12:00                 ` Pierre Ossman
2005-11-14 12:04                 ` Olivier Galibert
2005-11-14 12:58                   ` Alan Cox
2005-11-15  0:32                   ` Mike Christie
2005-11-15  0:55                     ` Mike Christie
2005-11-15  0:58                     ` Olivier Galibert
2005-11-15  2:42                       ` Mike Christie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox