Mercurial > hg > Game > Cerium
diff TaskManager/ChangeLog @ 717:dfb3518d8694 draft
TaskList load timing...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Dec 2009 12:17:31 +0900 |
parents | d41c62201b1e |
children | e78238b7c5d6 |
line wrap: on
line diff
--- a/TaskManager/ChangeLog Wed Dec 16 18:04:26 2009 +0900 +++ b/TaskManager/ChangeLog Fri Dec 18 12:17:31 2009 +0900 @@ -1,3 +1,37 @@ +2009-12-16 Shinji KONO <kono@ie.u-ryukyu.ac.jp> + + CellTaskManagerのTaskList_bg は変だよ。TaskList 自体が + queue なんだから、トップ二つを特別扱いしているだけでしょう。 + + TaskList をread()しているのと同時にnext()されてしまうので、 + next()の中で、TaskList の中身に触るのは良くない。SchedTask + は微妙に大丈夫らしい。TLのdma waitは、write になっていた。 + + TaskArray/TaskArray1 は、TAの中身をnext()で判断しているので、 + これはただしくない。TaskListLoad を間にはさむ手もあるが... + + write T3 T2 T1 TL TA0 ! TL の dma wait + exec T2 T1 TL! TA0 TA1 + read T1 TL* TA TA1 TA2 * TL の dma start + next T1 TL% TA TA1 TA2 % TAの作成判断 + + TaskListLoad をはさむ、安全だけど遅い方法 + + write T3 T2 T1 TLL TL + exec T2 T1 TLL! TL TA0 + read T1 TLL*TL TA0 TA1 + next T1 TLL TL% TA0 TA1 + + なんだけど、pointer の下位ビットで送ると、前者で実行できる。 + next で、TaskList のloadを始めてしまうという手もあるな... + + write T3 T2 T1 TL TA0 ! TL の dma wait + exec T2 T1 TL TA0 TA1 + read T1 TL! TA TA1 TA2 * TL の dma start + next T1* TL% TA TA1 TA2 + + こっっちかな... + 2009-12-15 Shinji KONO <kono@ie.u-ryukyu.ac.jp> SimpleTask の実装が出来たので、TaskArray からは、