Ignore:
Timestamp:
2024-01-14T18:23:40Z (4 months ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
master
Children:
5663872, c7ceacf
Parents:
3b68542
Message:

Add CPU_LOCAL alongside CPU and segregate fields that are only used locally

This makes it more clear which fields can be used without synchronization
and which need more care.

File:
1 edited

Legend:

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

    r3b68542 r4760793  
    121121
    122122        /* Account CPU usage if it woke up from sleep */
    123         if (CPU && CPU->idle) {
     123        if (CPU && CPU_LOCAL->idle) {
    124124                uint64_t now = get_cycle();
    125                 atomic_time_increment(&CPU->idle_cycles, now - CPU->last_cycle);
    126                 CPU->last_cycle = now;
    127                 CPU->idle = false;
     125                atomic_time_increment(&CPU->idle_cycles, now - CPU_LOCAL->last_cycle);
     126                CPU_LOCAL->last_cycle = now;
     127                CPU_LOCAL->idle = false;
    128128        }
    129129
Note: See TracChangeset for help on using the changeset viewer.