Changeset f2cb80a in mainline for kernel/generic/src/interrupt/interrupt.c
- Timestamp:
- 2024-02-23T17:57:23Z (15 months ago)
- Children:
- 192019f
- Parents:
- 86f862c (diff), 90ba06c (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. - git-author:
- boba-buba <120932204+boba-buba@…> (2024-02-23 17:57:23)
- git-committer:
- GitHub <noreply@…> (2024-02-23 17:57:23)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/interrupt/interrupt.c
r86f862c rf2cb80a 114 114 115 115 /* Account user cycles */ 116 if (THREAD) { 117 irq_spinlock_lock(&THREAD->lock, false); 116 if (THREAD) 118 117 thread_update_accounting(true); 119 irq_spinlock_unlock(&THREAD->lock, false);120 }121 118 122 119 /* Account CPU usage if it woke up from sleep */ 123 if (CPU && CPU ->idle) {120 if (CPU && CPU_LOCAL->idle) { 124 121 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;122 atomic_time_increment(&CPU->idle_cycles, now - CPU_LOCAL->last_cycle); 123 CPU_LOCAL->last_cycle = now; 124 CPU_LOCAL->idle = false; 128 125 } 129 126 … … 155 152 156 153 /* Do not charge THREAD for exception cycles */ 157 if (THREAD) { 158 irq_spinlock_lock(&THREAD->lock, false); 154 if (THREAD) 159 155 THREAD->last_cycle = end_cycle; 160 irq_spinlock_unlock(&THREAD->lock, false);161 }162 156 #else 163 157 panic("No space for any exception handler, yet we want to handle some exception.");
Note:
See TracChangeset
for help on using the changeset viewer.