Messages in this thread | | | From | "Balbir Singh" <> | Subject | Re: Need help with changing stack size (attn parisc folks) | Date | Wed, 06 Feb 2002 16:57:49 -0800 |
| |
I also made changes to lgetuser.S and entry.S, for entries I missed.
Balbir
>From: "Balbir Singh" <balbir_soni@hotmail.com> >To: linux-kernel@vger.kernel.org >CC: balbir_soni@hotmail.com >Subject: Need help with changing stack size (attn parisc folks) >Date: Wed, 06 Feb 2002 16:12:12 -0800 > >I have some legacy code and I think I run into some >kind of stack overflow with it. To verify that, I tried >increasing the stack size from 8K to 16K. I changed >the following files > >processor.h >current.h >vmlinux.lds >head.S > >The changes were kind of obvious. I know the PARISC guys >have done something similar. Is there something missing >with my changes, since the kernel does not come up, >it is unable to start even kswapd. The diffs have been >include below. Please cc to me in your reply since >I am not hooked onto lkml. > >All help appreciated, > >Thanks, >Balbir > >--- processor.h.org Wed Feb 6 15:10:37 2002 >+++ processor.h Wed Feb 6 15:53:10 2002 >@@ -447,9 +447,9 @@ >#define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned >long)(tsk)))[1019]) >#define KSTK_ESP(tsk) (((unsigned long *)(4096+(unsigned >long)(tsk)))[1022]) > >-#define THREAD_SIZE (2*PAGE_SIZE) >-#define alloc_task_struct() ((struct task_struct *) >__get_free_pages(GFP_KERNEL,1)) >-#define free_task_struct(p) free_pages((unsigned long) (p), 1) >+#define THREAD_SIZE (4*PAGE_SIZE) >+#define alloc_task_struct() ((struct task_struct *) >__get_free_pages(GFP_KERNEL,2)) >+#define free_task_struct(p) free_pages((unsigned long) (p), 2) >#define get_task_struct(tsk) atomic_inc(&virt_to_page(tsk)->count) > >#define init_task (init_task_union.task) > >--- current.h.org Wed Feb 6 15:11:51 2002 >+++ current.h Wed Feb 6 15:52:12 2002 >@@ -6,7 +6,7 @@ >static inline struct task_struct * get_current(void) >{ > struct task_struct *current; >- __asm__("andl %%esp,%0; ":"=r" (current) : "0" (~8191UL)); >+ __asm__("andl %%esp,%0; ":"=r" (current) : "0" (~(THREAD_SIZE - >1))); > return current; > } > > >--- vmlinux.lds.org Wed Feb 6 15:41:07 2002 >+++ vmlinux.lds Wed Feb 6 15:41:15 2002 >@@ -36,7 +36,7 @@ > > _edata = .; /* End of data section */ > >- . = ALIGN(8192); /* init_task */ >+ . = ALIGN(16384); /* init_task */ > .data.init_task : { *(.data.init_task) } > > . = ALIGN(4096); /* Init code and data */ > >--- head.S.org Wed Feb 6 16:21:47 2002 >+++ head.S Wed Feb 6 16:22:21 2002 >@@ -320,7 +320,7 @@ > ret > >ENTRY(stack_start) >- .long SYMBOL_NAME(init_task_union)+8192 >+ .long SYMBOL_NAME(init_task_union)+16384 > .long __KERNEL_DS > >/* This is the default interrupt "handler" :-) */ >
_________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |