Changes in libcfa/src/concurrency/io.cfa [11054eb:a3821fa]
- File:
-
- 1 edited
-
libcfa/src/concurrency/io.cfa (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/io.cfa
r11054eb ra3821fa 90 90 static inline __u32 __release_sqes( struct $io_context & ); 91 91 92 void__cfa_io_drain( processor * proc ) {92 bool __cfa_io_drain( processor * proc ) { 93 93 /* paranoid */ verify( ! __preemption_enabled() ); 94 94 /* paranoid */ verify( proc ); … … 104 104 __STATS__( false, io.calls.drain++; io.calls.completed += count; ) 105 105 106 if(count == 0) return false; 107 106 108 for(i; count) { 107 109 unsigned idx = (head + i) & mask; … … 124 126 /* paranoid */ verify( ! __preemption_enabled() ); 125 127 126 return ;128 return true; 127 129 } 128 130 … … 242 244 // Allocation was successful 243 245 __STATS__( true, io.alloc.fast += 1; ) 244 enable_interrupts( __cfaabi_dbg_ctx);246 enable_interrupts(); 245 247 246 248 __cfadbg_print_safe(io, "Kernel I/O : fast allocation successful from ring %d\n", ctx->fd); … … 254 256 // Fast path failed, fallback on arbitration 255 257 __STATS__( true, io.alloc.slow += 1; ) 256 enable_interrupts( __cfaabi_dbg_ctx);258 enable_interrupts(); 257 259 258 260 $io_arbiter * ioarb = proc->cltr->io.arbiter; … … 312 314 // Mark the instance as no longer in-use, re-enable interrupts and return 313 315 __STATS__( true, io.submit.fast += 1; ) 314 enable_interrupts( __cfaabi_dbg_ctx);316 enable_interrupts(); 315 317 316 318 __cfadbg_print_safe(io, "Kernel I/O : submitted on fast path\n"); … … 320 322 // Fast path failed, fallback on arbitration 321 323 __STATS__( true, io.submit.slow += 1; ) 322 enable_interrupts( __cfaabi_dbg_ctx);324 enable_interrupts(); 323 325 324 326 __cfadbg_print_safe(io, "Kernel I/O : falling back on arbiter for submission\n");
Note:
See TracChangeset
for help on using the changeset viewer.