comparison MasterLoop.c @ 138:38c1070e2c92

closing branch test_without_inline
author Merten Sach <msach@mailbox.tu-berlin.de>
date Mon, 19 Sep 2011 14:17:06 +0200
parents dd3e60aeae26
children
comparison
equal deleted inserted replaced
18:02ee9d62f45e 19:01425ce916a6
11 11
12 #include "VMS.h" 12 #include "VMS.h"
13 13
14 14
15 //=========================================================================== 15 //===========================================================================
16 void inline 16 void
17 stealWorkInto( SchedSlot *currSlot, VMSQueueStruc *readyToAnimateQ, 17 stealWorkInto( SchedSlot *currSlot, VMSQueueStruc *readyToAnimateQ,
18 VirtProcr *masterPr ); 18 VirtProcr *masterPr );
19 19
20 //=========================================================================== 20 //===========================================================================
21 21
204 204
205 205
206 /*This has a race condition -- the coreloops are accessing their own queues 206 /*This has a race condition -- the coreloops are accessing their own queues
207 * at the same time that this work-stealer on a different core is trying to 207 * at the same time that this work-stealer on a different core is trying to
208 */ 208 */
209 void inline 209 void
210 stealWorkInto( SchedSlot *currSlot, VMSQueueStruc *readyToAnimateQ, 210 stealWorkInto( SchedSlot *currSlot, VMSQueueStruc *readyToAnimateQ,
211 VirtProcr *masterPr ) 211 VirtProcr *masterPr )
212 { 212 {
213 VirtProcr *stolenPr; 213 VirtProcr *stolenPr;
214 int32 coreIdx, i; 214 int32 coreIdx, i;
307 * compares to exit progress then to wait progress. When one of two 307 * compares to exit progress then to wait progress. When one of two
308 * matches, proceed. Take work from the coreloop's queue. When done, 308 * matches, proceed. Take work from the coreloop's queue. When done,
309 * write FALSE to the gate closed var. 309 * write FALSE to the gate closed var.
310 * 310 *
311 */ 311 */
312 void inline 312 void
313 gateProtected_stealWorkInto( SchedSlot *currSlot, 313 gateProtected_stealWorkInto( SchedSlot *currSlot,
314 VMSQueueStruc *myReadyToAnimateQ, 314 VMSQueueStruc *myReadyToAnimateQ,
315 VirtProcr *masterPr ) 315 VirtProcr *masterPr )
316 { 316 {
317 VirtProcr *stolenPr; 317 VirtProcr *stolenPr;