This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

new kernel: question



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]