[ECOS] new kernel: question

张 亮 johnsonest@hotmail.com
Fri Mar 7 04:37:00 GMT 2003


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



More information about the Ecos-discuss mailing list