1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:58:11 +00:00

Revert "Kernel: Fix Thread::relock_process leaving critical section"

This reverts commit e9e76b8074.

This was causing a noticeable slowdown, and we're not sure that it was
actually necessary.
This commit is contained in:
Andreas Kling 2021-01-27 23:23:21 +01:00
parent db1448b21a
commit f2decb6665
2 changed files with 9 additions and 11 deletions

View file

@ -588,19 +588,16 @@ void Scheduler::invoke_async()
void Scheduler::yield_from_critical()
{
auto& proc = Processor::current();
auto before_critical = proc.in_critical();
ASSERT(before_critical);
ASSERT(proc.in_critical());
ASSERT(!proc.in_irq());
yield(); // Flag a context switch
u32 prev_flags;
u32 prev_crit = proc.clear_critical(prev_flags, false);
u32 prev_crit = Processor::current().clear_critical(prev_flags, false);
// Note, we may now be on a different CPU!
auto& new_proc = Processor::current();
new_proc.restore_critical(prev_crit, prev_flags);
ASSERT(before_critical == new_proc.in_critical());
Processor::current().restore_critical(prev_crit, prev_flags);
}
void Scheduler::notify_finalizer()