Changes in benchmark/readyQ/transfer.cfa [65c9208:adfd125]
- File:
-
- 1 edited
-
benchmark/readyQ/transfer.cfa (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
benchmark/readyQ/transfer.cfa
r65c9208 radfd125 14 14 15 15 bool exhaust = false; 16 volatile bool estop = false;17 18 16 19 17 thread$ * the_main; … … 37 35 static void waitgroup() { 38 36 Time start = timeHiRes(); 39 OUTER:for(i; nthreads) {37 for(i; nthreads) { 40 38 PRINT( sout | "Waiting for :" | i | "(" | threads[i]->idx | ")"; ) 41 39 while( threads[i]->idx != lead_idx ) { … … 44 42 print_stats_now( bench_cluster, CFA_STATS_READY_Q | CFA_STATS_IO ); 45 43 serr | "Programs has been blocked for more than 5 secs"; 46 estop = true; 47 unpark( the_main ); 48 break OUTER; 44 exit(1); 49 45 } 50 46 } … … 63 59 static void lead(MyThread & this) { 64 60 this.idx = ++lead_idx; 65 if(lead_idx > stop_count || estop) {61 if(lead_idx > stop_count) { 66 62 PRINT( sout | "Leader" | this.id | "done"; ) 67 63 unpark( the_main ); … … 104 100 wait( this ); 105 101 } 106 if(lead_idx > stop_count || estop) break;102 if(lead_idx > stop_count) break; 107 103 } 108 104 } … … 176 172 sout | "Number of processors : " | nprocs; 177 173 sout | "Number of threads : " | nthreads; 178 sout | "Total Operations(ops) : " | lead_idx - 1;174 sout | "Total Operations(ops) : " | stop_count; 179 175 sout | "Threads parking on wait : " | (exhaust ? "yes" : "no"); 180 176 sout | "Rechecking : " | rechecks; 181 sout | "ns per transfer : " | (end - start)`dms / lead_idx;182 177 183 178
Note:
See TracChangeset
for help on using the changeset viewer.