Changeset 70b4aeb9
- Timestamp:
- Jan 26, 2022, 6:15:08 PM (23 months ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
- Children:
- bbfe226
- Parents:
- 4fcbf26
- Location:
- libcfa/src/concurrency
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/io.cfa
r4fcbf26 r70b4aeb9 306 306 ctx->proc->io.pending = true; 307 307 ctx->proc->io.dirty = true; 308 if(sq.to_submit > 30 || !lazy) { 308 if(sq.to_submit > 30) { 309 __tls_stats()->io.flush.full++; 310 __cfa_io_flush( ctx->proc, 0 ); 311 } 312 if(!lazy) { 313 __tls_stats()->io.flush.eager++; 309 314 __cfa_io_flush( ctx->proc, 0 ); 310 315 } -
libcfa/src/concurrency/kernel.cfa
r4fcbf26 r70b4aeb9 196 196 197 197 if( !readyThread ) { 198 __tls_stats()->io.flush.idle++; 198 199 __cfa_io_flush( this, 0 ); 199 200 … … 244 245 245 246 if(this->io.pending && !this->io.dirty) { 247 __tls_stats()->io.flush.dirty++; 246 248 __cfa_io_flush( this, 0 ); 247 249 } -
libcfa/src/concurrency/stats.cfa
r4fcbf26 r70b4aeb9 45 45 stats->io.submit.slow = 0; 46 46 stats->io.flush.external = 0; 47 stats->io.flush.dirty = 0; 48 stats->io.flush.full = 0; 49 stats->io.flush.idle = 0; 50 stats->io.flush.eager = 0; 47 51 stats->io.calls.flush = 0; 48 52 stats->io.calls.submitted = 0; … … 107 111 tally_one( &cltr->io.submit.slow , &proc->io.submit.slow ); 108 112 tally_one( &cltr->io.flush.external , &proc->io.flush.external ); 113 tally_one( &cltr->io.flush.dirty , &proc->io.flush.dirty ); 114 tally_one( &cltr->io.flush.full , &proc->io.flush.full ); 115 tally_one( &cltr->io.flush.idle , &proc->io.flush.idle ); 116 tally_one( &cltr->io.flush.eager , &proc->io.flush.eager ); 109 117 tally_one( &cltr->io.calls.flush , &proc->io.calls.flush ); 110 118 tally_one( &cltr->io.calls.submitted , &proc->io.calls.submitted ); … … 184 192 if(io.alloc.fail || io.alloc.revoke || io.alloc.block) 185 193 sstr | "- failures : " | eng3(io.alloc.fail) | "oom, " | eng3(io.alloc.revoke) | "rvk, " | eng3(io.alloc.block) | "blk"; 186 if(io.flush.external)187 sstr | "- flush external : " | eng3(io.flush.external);194 // if(io.flush.external) 195 // sstr | "- flush external : " | eng3(io.flush.external); 188 196 189 197 double avgsubs = ((double)io.calls.submitted) / io.calls.flush; 190 198 double avgcomp = ((double)io.calls.completed) / io.calls.drain; 191 199 sstr | "- syscll : " 192 | " sub " | eng3(io.calls. flush) | "/" | eng3(io.calls.submitted) | "(" | ws(3, 3, avgsubs) | "/flush)"193 | " - cmp " | eng3(io.calls. drain) | "/" | eng3(io.calls.completed) | "(" | ws(3, 3, avgcomp) | "/drain)"200 | " sub " | eng3(io.calls.submitted) | "/" | eng3(io.calls.flush) | "(" | ws(3, 3, avgsubs) | "/flush)" 201 | " - cmp " | eng3(io.calls.completed) | "/" | eng3(io.calls.drain) | "(" | ws(3, 3, avgcomp) | "/drain)" 194 202 | " - " | eng3(io.calls.errors.busy) | " EBUSY"; 203 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"; 195 204 sstr | "- ops blk: " 196 205 | " sk rd: " | eng3(io.ops.sockread) | "epll: " | eng3(io.ops.epllread) -
libcfa/src/concurrency/stats.hfa
r4fcbf26 r70b4aeb9 91 91 struct { 92 92 volatile uint64_t external; 93 volatile uint64_t dirty; 94 volatile uint64_t full; 95 volatile uint64_t idle; 96 volatile uint64_t eager; 93 97 } flush; 94 98 struct {
Note: See TracChangeset
for help on using the changeset viewer.