comparison TaskManager/ChangeLog @ 376:4fb99cd5d13f draft

chain.cpp added
author kazz@kazzone.cr.ie.u-ryukyu.ac.jp
date Fri, 31 Jul 2009 18:21:24 +0900
parents 56314060907f 73630476453a
children ded8bb057315
comparison
equal deleted inserted replaced
375:2ae25549dd6a 376:4fb99cd5d13f
1 2009-07-24 Kaito TAGANO <tkaito@cr.ie.u-ryukyu.ac.jp>
2 長さ別の freeList と単一の HashTable で管理する
3 TileList を廃止
4 class MemorySegment {
5 MemorySegment *next;
6 MemorySegment *prev;
7 uint64 size;
8 uint64 address;
9 uint64 dummy;
10 // uint32 data[0];
11 }
12
13 class MemList {
14 MemorySegment* first;
15 MemorySegment* last;
16
17 MemList* createMemList(uint32 size, uint32 count);
18 void addFirst(MemorySegment* e);
19 void addLast(MemorySegment* e);
20 MemorySegment* getFirst();
21 MemorySegment* getLast();
22 boolean remove(MemorySegment* e);
23 void moveToFirst(MemorySegment* e); // or use();
24 }
25
26 サイズ毎に freelist と activelist を持って、これを malloc free
27 として使う。
28 これのテストルーチンを書き終わったら、Tapestry をこれで書き直す
29 LRU は使うたびに以下を呼び出す
30
31 void use(MemorySegment* e, MemList* active) {
32 active.remove(e);
33 active.addFirst(e);
34 }
35
36
37 2009-07-15 Yusuke KOBAYASHI <koba@cr.ie.u-ryukyu.ac.jp>
38
39 PPU からMainMemory にResource を Access する API
40 長さ別の freeList と単一の HashTable で管理する
41
42 set_rgb に相当。
43 uint32 segment_id = smanager->get_segment(uint64 addr, uint64 size)
44 id は hash値に相当。
45
46 smanager->put_segment(wait_id);
47
48
49 addr で指定された PPU の Address が Hash にあるかどうか調べる。無ければ dma_load する。そして指定された id を返す。
50 void* smanager->wait_segment(uint32 segment_id)
51 id で指定された PPU の segment の copy の Address を返す。必要があれば dma_wait を行う。
52
53 2009-06-8 Shinji KONO <kono@ie.u-ryukyu.ac.jp>
54
55 SchedTask/SchedTaskImpl の分離はあんまり意味がなかった。
56 SchedTaskBase が既にあるし。
57 とりあえず、__list とかは、private にしただけ。
58 ScheTaskImple を作っても、継承してprivateにすると、
59 warning は出るが、 User Task space の名前空間は結局汚れてしまう。
60
61 delegate するべきだと思うが、SchedTaskBase でないと、
62 動かないらしい。それだと、indirect が増えるので、ちょっといや。
63
64 2009-06-4 Shinji KONO <kono@ie.u-ryukyu.ac.jp>
65
66 set_symbol は、もういらないよね?
67
68 list dma 中心の実装にして、もっと細かく read/exec/write
69 した方が良いかも。
70
71 post で、PPE task を渡せると良い。address は parameterとして送る
72
1 2009-02-13 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> 73 2009-02-13 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp>
2 74
3 * kernel/ppe/Random.cc (reset): fix 75 * kernel/ppe/Random.cc (reset): fix
4 urandom -> random とどれも読めなかったら 76 urandom -> random とどれも読めなかったら
5 gettimeofday() での時間から seed を求めるように 77 gettimeofday() での時間から seed を求めるように