Changeset 54c1196


Ignore:
Timestamp:
Mar 25, 2022, 1:49:24 PM (2 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
Children:
64bdacc
Parents:
202c80b
Message:

Added io helping stats

Location:
libcfa/src/concurrency
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/io.cfa

    r202c80b r54c1196  
    111111                // Drain the queue
    112112                if(!__atomic_try_acquire(&ctx->cq.lock)) {
     113                        __STATS__( false, io.calls.locked++; )
    113114                        return false;
    114115                }
     
    191192                                        if(age > cutoff) {
    192193                                                remote = __cfa_do_drain( io.data[target], cltr );
     194                                                if(remote) __STATS__( false, io.calls.helped++; )
    193195                                        }
    194196                                }
  • libcfa/src/concurrency/stats.cfa

    r202c80b r54c1196  
    5555                        stats->io.calls.drain       = 0;
    5656                        stats->io.calls.completed   = 0;
     57                        stats->io.calls.locked      = 0;
     58                        stats->io.calls.helped      = 0;
    5759                        stats->io.calls.errors.busy = 0;
    5860                        stats->io.ops.sockread      = 0;
     
    123125                        tally_one( &cltr->io.calls.drain      , &proc->io.calls.drain       );
    124126                        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      );
    125129                        tally_one( &cltr->io.calls.errors.busy, &proc->io.calls.errors.busy );
    126130                        tally_one( &cltr->io.ops.sockread     , &proc->io.ops.sockread      );
     
    205209                                     |   " sub " | eng3(io.calls.submitted) | "/" | eng3(io.calls.flush) | "(" | ws(3, 3, avgsubs) | "/flush)"
    206210                                     | " - 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"
    207212                                     | " - " | eng3(io.calls.errors.busy) | " EBUSY";
    208213                                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

    r202c80b r54c1196  
    103103                                volatile uint64_t drain;
    104104                                volatile uint64_t completed;
     105                                volatile uint64_t locked;
     106                                volatile uint64_t helped;
    105107                                volatile uint64_t flush;
    106108                                volatile uint64_t submitted;
Note: See TracChangeset for help on using the changeset viewer.