This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
new kernel: question
- From: 张 亮 <johnsonest at hotmail dot com>
- To: jifl at eCosCentric dot com
- Cc: ecos-discuss at sources dot redhat dot com, nickg at cygnus dot co dot uk
- Date: Fri, 07 Mar 2003 12:37:56 +0800
- Subject: [ECOS] new kernel: question
- Bcc:
Hi, Jonathan,
After thinking carefully about new kernel of eCos, I feel that
allowing to rescheduling when scheduler is locked is more safe for tcp/ip
stack and other complex app,but NOT safe to this case:
system has three threads:
(1) thread1
(2) thread2
(3) system idle thread
thread2 is sleeping for resource which will given by thread1,thread1
is running.Before thread1 active thread2, it wants to wait a event(post by
DSR) with scheduler's lock >1, so thread1 is rescheduled,but during
rescheduling, *the* DSR was post,but because new lock!=0,DSR will not be
called,so only idle thread is active.thread1 and thread2 will be dead
locked unless other ISR and DSR was post again.Of course,real time clock
will unlock this state.hehe!
It is a challenge to fix this problem.
BRS/johnsonest
_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss