public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
  • [parent not found: <59ecB-15H-13@gated-at.bofh.it>]
  • * 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
    [parent not found: <5k8PZ-4xt-9@gated-at.bofh.it>]
    * 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: <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] <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                 ` [2.6 patch] i386: always use 4k stacks 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
    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
         [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               ` Bodo Eggert
    2005-12-18 12:28                 ` Adrian Bunk
    2005-12-18 13:44                   ` Michael Poole
    2005-12-18 14:12                     ` Adrian Bunk
    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] <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