Ignore:
Timestamp:
Apr 5, 2021, 7:06:37 PM (3 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
7039ab9, cd59d28
Parents:
a5a01faa
Message:

Kernel now keeps track of the how many threads each processor has contributed.
This isn't useful if it is not sampled regularly but it's a first step.

File:
1 edited

Legend:

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

    ra5a01faa rec43cf9  
    2323                stats->ready.pick.pop .lsuccess = 0;
    2424                stats->ready.threads.migration = 0;
     25                stats->ready.threads.threads   = 0;
    2526                stats->ready.sleep.halts   = 0;
    2627                stats->ready.sleep.cancels = 0;
     
    6162                __atomic_fetch_add( &cltr->ready.pick.pop .lsuccess, proc->ready.pick.pop .lsuccess, __ATOMIC_SEQ_CST ); proc->ready.pick.pop .lsuccess = 0;
    6263                __atomic_fetch_add( &cltr->ready.threads.migration , proc->ready.threads.migration , __ATOMIC_SEQ_CST ); proc->ready.threads.migration  = 0;
     64                __atomic_fetch_add( &cltr->ready.threads.threads   , proc->ready.threads.threads   , __ATOMIC_SEQ_CST ); proc->ready.threads.threads    = 0;
    6365                __atomic_fetch_add( &cltr->ready.sleep.halts       , proc->ready.sleep.halts       , __ATOMIC_SEQ_CST ); proc->ready.sleep.halts        = 0;
    6466                __atomic_fetch_add( &cltr->ready.sleep.cancels     , proc->ready.sleep.cancels     , __ATOMIC_SEQ_CST ); proc->ready.sleep.cancels      = 0;
     
    9799                        __cfaabi_bits_print_safe( STDOUT_FILENO,
    98100                                "----- %s \"%s\" (%p) - Ready Q Stats -----\n"
    99                                 "- total threads  : %'15" PRIu64 "run, %'15" PRIu64 "schd (%'" PRIu64 "ext, %'" PRIu64 "mig )\n"
     101                                "- total threads  : %'15" PRIu64 "run, %'15" PRIu64 "schd (%'" PRIu64 "ext, %'" PRIu64 "mig, %'" PRId64 " )\n"
    100102                                "- push avg probe : %'3.2lf, %'3.2lfl (%'15" PRIu64 " attempts, %'15" PRIu64 " locals)\n"
    101103                                "- ext  avg probe : %'3.2lf, %'3.2lfl (%'15" PRIu64 " attempts, %'15" PRIu64 " locals)\n"
     
    106108                                , ready.pick.pop.success
    107109                                , ready.pick.push.success + ready.pick.ext.success
    108                                 , ready.pick.ext.success, ready.threads.migration
     110                                , ready.pick.ext.success, ready.threads.migration, ready.threads.threads
    109111                                , push_len, lpush_len, ready.pick.push.attempt, ready.pick.push.local
    110112                                , ext_len , lext_len , ready.pick.ext .attempt, ready.pick.ext .local
Note: See TracChangeset for help on using the changeset viewer.