From 1524fbf74231cf23490a81cb08cea0a478e5a524 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Mon, 30 Dec 2013 06:07:51 +0100 Subject: [PATCH] scheduler: Fix divide error in _RequestPerformanceLevel --- src/system/kernel/scheduler/scheduler_cpu.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/system/kernel/scheduler/scheduler_cpu.cpp b/src/system/kernel/scheduler/scheduler_cpu.cpp index 753f9b30bd..f1a5b5e377 100644 --- a/src/system/kernel/scheduler/scheduler_cpu.cpp +++ b/src/system/kernel/scheduler/scheduler_cpu.cpp @@ -263,6 +263,11 @@ CPUEntry::_RequestPerformanceLevel(ThreadData* threadData) { SCHEDULER_ENTER_FUNCTION(); + if (gCPU[fCPUNumber].disabled) { + decrease_cpu_performance(kCPUPerformanceScaleMax); + return; + } + int32 load = std::max(threadData->GetLoad(), fCore->GetLoad()); ASSERT(load >= 0 && load <= kMaxLoad);