Re: Need help with changing stack size (attn parisc folks)

From: Balbir Singh (balbir_soni@hotmail.com)
Date: Wed Feb 06 2002 - 20:25:40 EST


I got it to work finally.
I will post a document on that soon

Balbir

>From: "Balbir Singh" <balbir_soni@hotmail.com>
>To: linux-kernel@vger.kernel.org
>CC: balbir_soni@hotmail.com
>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" :-) */
>>
>
>
>

_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com

-
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/



This archive was generated by hypermail 2b29 : Thu Feb 07 2002 - 21:00:56 EST