Lines Matching refs:doms
54 let del doms id = Hashtbl.remove doms.table id
55 let exist doms id = Hashtbl.mem doms.table id
56 let find doms id = Hashtbl.find doms.table id
57 let number doms = Hashtbl.length doms.table
58 let iter doms fct = Hashtbl.iter (fun _ b -> fct b) doms.table
68 let all_at_max_credit doms =
73 is_empty_queue doms.doms_with_conflict_penalty
74 && is_empty_queue doms.doms_conflict_paused
75 else doms.n_penalised = 0
91 let cleanup doms =
109 ) doms.table;
111 let dom = Hashtbl.find doms.table id in
113 Hashtbl.remove doms.table id;
116 remove_from_queue dom doms.doms_with_conflict_penalty;
117 if (dom.Domain.conflict_credit <= 0.) then remove_from_queue dom doms.doms_conflict_paused
125 let create doms domid mfn port =
127 let dom = Domain.make domid mfn port interface doms.eventchn in
128 Hashtbl.add doms.table domid dom;
135 let create0 doms =
147 let dom = Domain.make 0 Nativeint.zero port interface doms.eventchn in
148 Hashtbl.add doms.table 0 dom;
153 let decr_conflict_credit doms dom =
167 push dom doms.doms_with_conflict_penalty
170 let first_pause = Queue.is_empty doms.doms_conflict_paused in
171 push dom doms.doms_conflict_paused;
172 if first_pause then doms.on_first_conflict_pause ()
177 if newly_penalised then doms.n_penalised <- doms.n_penalised + 1;
179 doms.n_paused <- doms.n_paused + 1;
180 if doms.n_paused = 1 then doms.on_first_conflict_pause ()
185 let incr_conflict_credit_from_queue doms =
197 try process_queue doms.doms_conflict_paused paused_queue_test
199 try process_queue doms.doms_with_conflict_penalty penalty_queue_test
203 let incr_conflict_credit doms =
205 then incr_conflict_credit_from_queue doms
215 then doms.n_paused <- doms.n_paused - 1;
219 then doms.n_penalised <- doms.n_penalised - 1
221 if doms.n_penalised > 0 then iter doms inc