Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/interrupt/interrupt.c

    rdecfbe56 rb584cd4  
    9999void exc_dispatch(unsigned int n, istate_t *istate)
    100100{
    101         ASSERT(CPU);
    102        
    103101#if (IVT_ITEMS > 0)
    104102        ASSERT(n < IVT_ITEMS);
     
    112110        }
    113111       
    114         /* Account CPU usage if it has waked up from sleep */
    115         irq_spinlock_lock(&CPU->lock, false);
    116         if (CPU->idle) {
    117                 uint64_t now = get_cycle();
    118                 CPU->idle_cycles += now - CPU->last_cycle;
    119                 CPU->last_cycle = now;
    120                 CPU->idle = false;
    121         }
    122         irq_spinlock_unlock(&CPU->lock, false);
    123        
    124112        uint64_t begin_cycle = get_cycle();
    125113       
     
    143131        uint64_t end_cycle = get_cycle();
    144132       
    145         irq_spinlock_lock(&exctbl_lock, false);
    146133        exc_table[n].cycles += end_cycle - begin_cycle;
    147134        exc_table[n].count++;
    148         irq_spinlock_unlock(&exctbl_lock, false);
    149135       
    150136        /* Do not charge THREAD for exception cycles */
Note: See TracChangeset for help on using the changeset viewer.