Kernel: Optimize sse saving/loading

Only save and load sse when new thread is trying to execute sse
instruction. There is no need to do that every time we enter kernel.
This commit is contained in:
2024-01-03 02:06:49 +02:00
parent db0650cf10
commit 001e95f973
5 changed files with 61 additions and 27 deletions

View File

@@ -26,10 +26,6 @@ namespace Kernel
Thread::current().set_return_rsp(interrupt_stack.rsp);
Thread::current().set_return_rip(interrupt_stack.rip);
#if __enable_sse
Thread::current().save_sse();
#endif
asm volatile("sti");
(void)arg1;
@@ -230,10 +226,6 @@ namespace Kernel
ASSERT(Kernel::Thread::current().state() == Kernel::Thread::State::Executing);
#if __enable_sse
current_thread.load_sse();
#endif
if (ret.is_error())
return -ret.error().get_error_code();
return ret.value();