Ignore:
Timestamp:
Apr 25, 2021, 10:11:27 PM (5 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
arm-eh, jacob/cs343-translation, master, new-ast-unique-expr
Children:
24711a3, 5456537
Parents:
9b71679 (diff), c323837 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

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

    r9b71679 raec68b6  
    9090        static inline __u32 __release_sqes( struct $io_context & );
    9191
    92         void __cfa_io_drain( processor * proc ) {
     92        bool __cfa_io_drain( processor * proc ) {
    9393                /* paranoid */ verify( ! __preemption_enabled() );
    9494                /* paranoid */ verify( proc );
     
    104104                __STATS__( false, io.calls.drain++; io.calls.completed += count; )
    105105
     106                if(count == 0) return false;
     107
    106108                for(i; count) {
    107109                        unsigned idx = (head + i) & mask;
     
    124126                /* paranoid */ verify( ! __preemption_enabled() );
    125127
    126                 return;
     128                return true;
    127129        }
    128130
     
    242244                        // Allocation was successful
    243245                        __STATS__( true, io.alloc.fast += 1; )
    244                         enable_interrupts( __cfaabi_dbg_ctx );
     246                        enable_interrupts();
    245247
    246248                        __cfadbg_print_safe(io, "Kernel I/O : fast allocation successful from ring %d\n", ctx->fd);
     
    254256                // Fast path failed, fallback on arbitration
    255257                __STATS__( true, io.alloc.slow += 1; )
    256                 enable_interrupts( __cfaabi_dbg_ctx );
     258                enable_interrupts();
    257259
    258260                $io_arbiter * ioarb = proc->cltr->io.arbiter;
     
    312314                        // Mark the instance as no longer in-use, re-enable interrupts and return
    313315                        __STATS__( true, io.submit.fast += 1; )
    314                         enable_interrupts( __cfaabi_dbg_ctx );
     316                        enable_interrupts();
    315317
    316318                        __cfadbg_print_safe(io, "Kernel I/O : submitted on fast path\n");
     
    320322                // Fast path failed, fallback on arbitration
    321323                __STATS__( true, io.submit.slow += 1; )
    322                 enable_interrupts( __cfaabi_dbg_ctx );
     324                enable_interrupts();
    323325
    324326                __cfadbg_print_safe(io, "Kernel I/O : falling back on arbiter for submission\n");
Note: See TracChangeset for help on using the changeset viewer.