diff TaskManager/ChangeLog @ 717:4c12f679a0fa

TaskList load timing...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 18 Dec 2009 12:17:31 +0900
parents 56487849ea2d
children 31eb1f56d986
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 からは、