Hi All,
 I have been working on uClinux kernel on ARM platform recently, and I want
to decrease the kernel stack size from 8K to 4K, i.e. change the following
code (in include/asm-arm/thread_info.h):
       #define THREAD_SIZE_ORDER       1
       #define THREAD_SIZE                   8192
 to
        #define THREAD_SIZE_ORDER       0
        #define THREAD_SIZE                   4096

But after this modification, it fails to boot up linux on my ARM development
board now. It stops at the position of pdflush_init(), and the functions
calling chain is as following:
 ...
->pdflush_init()->start_one_pdflush_thread()->kthread_run()->kthread_create()->wait_for_completion()->wait_for_common()->do_wait_for_common()->schedule()

In schedule() function, below code is executed repeatedly:
  if (unlikely(test_thread_flag(TIF_NEED_RESCHED)))
                        goto need_resched;

So the function schedule() can't return.

BTW, my uclinux version is 2.6.25, and my ARM cpu is MMU-less.

Can anyone give me some advice on this problem. I wonder if we can decrease
THREAD_SIZE to 4K on ARM platform. Some one told me that ARM uClinux needs
separate interrupt stack for 4K THREAD_SIZE. Is that true?

-- 
Best Regards

Erjian
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to