diff --git a/Kernel/Arch/x86/Processor.h b/Kernel/Arch/x86/Processor.h index d0246b9448..a1b6bf97e2 100644 --- a/Kernel/Arch/x86/Processor.h +++ b/Kernel/Arch/x86/Processor.h @@ -258,6 +258,8 @@ public: ALWAYS_INLINE ProcessorInfo& info() { return *m_info; } + u64 time_spent_idle() const; + static bool is_smp_enabled(); ALWAYS_INLINE static Processor& current() diff --git a/Kernel/Arch/x86/common/Processor.cpp b/Kernel/Arch/x86/common/Processor.cpp index 36913ad128..fb97ab0d65 100644 --- a/Kernel/Arch/x86/common/Processor.cpp +++ b/Kernel/Arch/x86/common/Processor.cpp @@ -1323,4 +1323,9 @@ void Processor::assume_context(Thread& thread, FlatPtr flags) VERIFY_NOT_REACHED(); } +u64 Processor::time_spent_idle() const +{ + return m_idle_thread->time_in_user() + m_idle_thread->time_in_kernel(); +} + }