Lines Matching refs:label

21     R [ label ="Root Server"],
22 C [ label = "Client"];
24 C => R [ label = "rootserver\_clientid\_cap.mk\_map\_window(vaddr, size)"];
25 R >> C [ label = "Reply(SUCCESS, win\_cap)"];
26 C => R [ label = "rootserver\_clientid\_cap.file\_map(\"zero\_fill\", win\_cap)"];
27 R box R [ label = "validate request and allocate win\_id"];
28 R >> C [ label = "Reply(SUCCESS)"];
29 C box C [ label = "touch anywhere in window"];
30 C => R [ label = "rootserver\_clientid\_cap.pagefault(vaddr)"];
31 R box R [ label = "transform into win\_id, offset"];
32 R box R [ label = "found the mem object zero\_fill in itself"];
33 R box R [ label = "allocate new frame and back the content by zero\_fill"];
34 R :> C [ label = "rootserver\_clientid\_Internal.mapframe(frame)"];
35 R >> C [ label = "Reply(SUCCESS)"];
50 R [ label ="Root Server"],
51 P [ label = "Pager"],
52 A [ label = "Client A"],
53 B [ label = "Client B"];
55 A box A [ label = "opened some object backed by pager in window A with win\_capA"];
56 --- [ label = "assume A has the cap to talk to the pager and they can talk to each other"];
57 A => P [ label = "pager\_clientAid\_cap.mk\_mobject\_anon\_cap(win\_capA, perm)"];
58 P box P [ label = "validate request"];
59 P >> A [ label = "Reply(SUCCESS, mobject\_anon\_cap)"];
60 A => B [ label = "clientB\_clientAid\_cap.share\_object(mobject\_anon\_cap, win\_size)"];
61 B >> A [ label = "Reply(SUCCESS)"];
62 B box B [ label = "create a new window indicated by win\_capB"];
63 B => P [ label = "mobject\_anon\_cap.object\_share\_init(win\_capB)"];
64 P box P [ label = "validate request and find win\_capA"];
65 P => R [ label = "rootserver\_pagerid\_cap.map\_share\_copy(win\_capA, win\_capB)"];
66 R box R [ label = "find frames win\_capA\_frames mapped to win\_capA and book keep"];
67 R box R [ label = "set up pager information for win\_capB"];
68 R :> B [ label = "rootserver\_clientBid\_Internal.mapframe(win\_capA\_frames)"];
69 R >> P [ label = "Reply(SUCCESS, win\_idB)"];
70 P >> B [ label = "Reply(SUCCESS)"];
86 A [ label = "Client A"],
87 B [ label = "Client B"];
89 A box A [ label = "create memory object buffer X"];
90 A box A [ label = "create memory object for start and end index/pointer"];
92 A box B [ label = "share X - read only for B"];
93 A box B [ label = "share end index/pointer - read only for B"];
94 A box B [ label = "share start index/pointer - R/W for B"];
109 A [ label = "Client A"],
110 B [ label = "Client B"];
112 A box A [ label = "create memory object buffer X"];
113 A box A [ label = "create memory object for start and end index/pointer"];
115 A box B [ label = "share X - R/W for B"];
116 A box B [ label = "share end index/pointer - R/W for B"];
117 A box B [ label = "share start index/pointer - R/W for B"];
136 N [ label ="Name server"],
137 S [ label = "Server"];
139 --- [ label = "registration"];
140 S box S [ label = "create a new memory object with mobject\_cap"];
141 S => N [ label = "nameserver\_serverid\_cap.object\_name\_reg(mobject\_cap, \"mobject\_name\")"];
142 N box N [ label = "internal book keeping"];
143 N >> S [ label = "Reply(SUCCESS)"];
145 --- [ label = "query"];
146 S => N [ label = "nameserver\_serverid\_cap.object\_name\_query(\"mobject\_name\")"];
147 N box N [ label = "find the object according to \"mobject\_name\""];
148 N >> S [ label = "Reply(SUCCESS, mobject\_cap)"];
161 N [ label ="Name server"],
162 R [ label = "Root server"];
164 --- [ label = "registration"];
165 R box R [ label = "receive call for server registration with name \"server\_name\""];
166 R -> N [ label = "nameserver\_AsyncEP.server\_name\_reg(\"server\_name\")"];
167 N box N [ label = "internal book keeping and generate server\_id"];
168 N => R [ label = "rootserver\_nameserverid\_cap.name\_reg\_ack(SUCCESS, server\_id)"];
169 R box R [ label = "book keep server\_id with server cap"];
170 R >> N [ label = "Reply(SUCCESS)"];
172 --- [ label = "query"];
173 R box R [ label = "receive call to find server of name \"server\_name\""];
174 R -> N [ label = "nameserver\_AsyncEP.server\_find(\"server\_name\")"];
175 N box N [ label = "find \"server\_name\" with its server\_id"];
176 N => R [ label = "rootserver\_nameserverid\_cap.name\_query\_ack(SUCCESS, server\_id)"];
177 R >> N [ label = "Reply(SUCCESS)"];
189 R [ label ="Root Server"],
190 P [ label = "Pager"],
191 C [ label = "Client"];
193 C box C [ label = "touch a page"];
194 C=>R [label = "rootserver\_clientid\_cap.pagefault(vaddr)"];
195 R box R [ label = "page directory access"];
196 --- [ label = "if need swap I/O, otherwise go to NO\_SWAP"];
197 R box R [ label = "check if any vaddr in any window should sit in page at this PDE"];
198 --- [ label = "YES, otherwise go to NO"];
199 R box R [ label = "alloc swap buffer(might need swapping) and write/map victim page"];
200 R->P [ label = "pager\_AsyncEP.notifyfault(win id, offset, op, swap\_vaddr)"];
201 P box P [ label = "write page to storage or find/store page in pager address space"];
202 --- [ label = "if page fault"];
203 P box P [ label = "repeat fault process for this pager"];
205 --- [ label = "otherwise"];
206 P=>R [ label = "rootserver\_pagerid\_cap.map(win\_id, page\_num, offset, perms)"];
207 R box R [ label = "validate message and lookup pager page table for frame"];
208 R>>P [ label = "Reply(SUCCESS)"];
209 R box R [ label = "GO TO STAGE 2"];
210 --- [ label = "NO"];
211 R box R [ label = "handle paging internally"];
213 --- [ label = "NO\_SWAP"];
214 R box R [ label = "page table alloc if new"];
215 --- [ label = "STAGE 2"];
216 R box R [ label = "page table access"];
217 --- [ label = "if need swap I/O, otherwise go to STAGE MAP"];
218 R box R [ label = "check if fault vaddr is in any window"];
219 --- [ label = "YES, otherwise go to NO"];
220 R box R [ label = "alloc swap buffer(might need swapping) and write/map victim page"];
221 R->P [ label = "pager\_AsyncEP.notifyfault(win\_id,offset,op)"];
222 P box P [ label = "write page to storage or find/store page in pager address space"];
223 --- [ label = "if page fault"];
224 P box P [ label = "repeat fault process for this pager"];
226 --- [ label = "otherwise"];
227 P=>R [ label = "rootserver\_pagerid\_cap.map(win\_id, page\_num, offset, perms)"];
228 R box R [ label = "validate message and lookup pager page table for frame"];
229 R>>P [ label = "Reply(SUCCESS)"];
230 R box R [ label = "GO TO STAGE MAP"];
231 --- [ label = "NO"];
232 R box R [ label = "handle paging internally"];
234 --- [ label = "STAGE MAP"];
235 R box R [ label = "frame alloc if new"];
236 R:>C [ label = "rootserver\_clientid\_Internal.mapframe(frame)"];
237 R>>C [ label = "Reply(SUCCESS)"];