Changes in / [8631c84:f5bace8]
- Location:
- libcfa/src/concurrency
- Files:
-
- 5 edited
-
io.cfa (modified) (2 diffs)
-
kernel.cfa (modified) (2 diffs)
-
kernel/fwd.hfa (modified) (1 diff)
-
stats.cfa (modified) (3 diffs)
-
stats.hfa (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/io.cfa
r8631c84 rf5bace8 111 111 // Drain the queue 112 112 if(!__atomic_try_acquire(&ctx->cq.lock)) { 113 __STATS__( false, io.calls.locked++; ) 113 114 return false; 114 115 } … … 191 192 if(age > cutoff) { 192 193 remote = __cfa_do_drain( io.data[target], cltr ); 194 if(remote) __STATS__( false, io.calls.helped++; ) 193 195 } 194 196 } -
libcfa/src/concurrency/kernel.cfa
r8631c84 rf5bace8 684 684 685 685 static void idle_sleep(processor * this, io_future_t & future, iovec & iov) { 686 /* paranoid */ verify( this->idle_wctx.evfd != 1 ); 687 /* paranoid */ verify( this->idle_wctx.evfd != 2 ); 688 686 689 // Tell everyone we are ready to go do sleep 687 690 for() { … … 901 904 void print_stats_now( cluster & this, int flags ) { 902 905 crawl_cluster_stats( this ); 903 __print_stats( this.stats, this.print_stats, "Cluster", this.name, (void*)&this );906 __print_stats( this.stats, flags, "Cluster", this.name, (void*)&this ); 904 907 } 905 908 #endif -
libcfa/src/concurrency/kernel/fwd.hfa
r8631c84 rf5bace8 248 248 // check if the future is available 249 249 bool available( future_t & this ) { 250 while( this.ptr == 2p ) Pause(); 250 251 return this.ptr == 1p; 251 252 } -
libcfa/src/concurrency/stats.cfa
r8631c84 rf5bace8 55 55 stats->io.calls.drain = 0; 56 56 stats->io.calls.completed = 0; 57 stats->io.calls.locked = 0; 58 stats->io.calls.helped = 0; 57 59 stats->io.calls.errors.busy = 0; 58 60 stats->io.ops.sockread = 0; … … 123 125 tally_one( &cltr->io.calls.drain , &proc->io.calls.drain ); 124 126 tally_one( &cltr->io.calls.completed , &proc->io.calls.completed ); 127 tally_one( &cltr->io.calls.locked , &proc->io.calls.locked ); 128 tally_one( &cltr->io.calls.helped , &proc->io.calls.helped ); 125 129 tally_one( &cltr->io.calls.errors.busy, &proc->io.calls.errors.busy ); 126 130 tally_one( &cltr->io.ops.sockread , &proc->io.ops.sockread ); … … 205 209 | " sub " | eng3(io.calls.submitted) | "/" | eng3(io.calls.flush) | "(" | ws(3, 3, avgsubs) | "/flush)" 206 210 | " - cmp " | eng3(io.calls.completed) | "/" | eng3(io.calls.drain) | "(" | ws(3, 3, avgcomp) | "/drain)" 211 | " - cmp " | eng3(io.calls.locked) | "locked, " | eng3(io.calls.helped) | "helped" 207 212 | " - " | eng3(io.calls.errors.busy) | " EBUSY"; 208 213 sstr | " - sub: " | eng3(io.flush.full) | "full, " | eng3(io.flush.dirty) | "drty, " | eng3(io.flush.idle) | "idle, " | eng3(io.flush.eager) | "eagr, " | eng3(io.flush.external) | "ext"; -
libcfa/src/concurrency/stats.hfa
r8631c84 rf5bace8 103 103 volatile uint64_t drain; 104 104 volatile uint64_t completed; 105 volatile uint64_t locked; 106 volatile uint64_t helped; 105 107 volatile uint64_t flush; 106 108 volatile uint64_t submitted;
Note:
See TracChangeset
for help on using the changeset viewer.