Changeset 70b4aeb9 for libcfa


Ignore:
Timestamp:
Jan 26, 2022, 6:15:08 PM (2 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
Children:
bbfe226
Parents:
4fcbf26
Message:

Commit last changes before moving off plg7a

Location:
libcfa/src/concurrency
Files:
4 edited

Legend:

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

    r4fcbf26 r70b4aeb9  
    306306                ctx->proc->io.pending = true;
    307307                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++;
    309314                        __cfa_io_flush( ctx->proc, 0 );
    310315                }
  • libcfa/src/concurrency/kernel.cfa

    r4fcbf26 r70b4aeb9  
    196196
    197197                        if( !readyThread ) {
     198                                __tls_stats()->io.flush.idle++;
    198199                                __cfa_io_flush( this, 0 );
    199200
     
    244245
    245246                        if(this->io.pending && !this->io.dirty) {
     247                                __tls_stats()->io.flush.dirty++;
    246248                                __cfa_io_flush( this, 0 );
    247249                        }
  • libcfa/src/concurrency/stats.cfa

    r4fcbf26 r70b4aeb9  
    4545                        stats->io.submit.slow       = 0;
    4646                        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;
    4751                        stats->io.calls.flush       = 0;
    4852                        stats->io.calls.submitted   = 0;
     
    107111                        tally_one( &cltr->io.submit.slow      , &proc->io.submit.slow       );
    108112                        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       );
    109117                        tally_one( &cltr->io.calls.flush      , &proc->io.calls.flush       );
    110118                        tally_one( &cltr->io.calls.submitted  , &proc->io.calls.submitted   );
     
    184192                                if(io.alloc.fail || io.alloc.revoke || io.alloc.block)
    185193                                        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);
    188196
    189197                                double avgsubs = ((double)io.calls.submitted) / io.calls.flush;
    190198                                double avgcomp = ((double)io.calls.completed) / io.calls.drain;
    191199                                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)"
    194202                                     | " - " | 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";
    195204                                sstr | "- ops blk: "
    196205                                     |   " sk rd: " | eng3(io.ops.sockread)  | "epll: " | eng3(io.ops.epllread)
  • libcfa/src/concurrency/stats.hfa

    r4fcbf26 r70b4aeb9  
    9191                        struct {
    9292                                volatile uint64_t external;
     93                                volatile uint64_t dirty;
     94                                volatile uint64_t full;
     95                                volatile uint64_t idle;
     96                                volatile uint64_t eager;
    9397                        } flush;
    9498                        struct {
Note: See TracChangeset for help on using the changeset viewer.