added 3 changesets to branch 'refs/remotes/pdziepak-github/scheduler' old head: af2e28f1a123163b997fb2116c75acee7161f9f3 new head: 50e4f3f6a5fcaf207ce0331d04230ecc0258beaa overview: https://github.com/pdziepak/Haiku/compare/af2e28f...50e4f3f ---------------------------------------------------------------------------- ebc87f2: x86: Fix build with kernel debugging disabled 1039dc9: scheduler: Remove CPUEntry::IncreaseActiveTime() 50e4f3f: scheduler: Make sure RunQueueLink::{fPrevious, fNext} are valid [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ] ---------------------------------------------------------------------------- 5 files changed, 5 insertions(+), 24 deletions(-) src/system/kernel/arch/x86/arch_smp.cpp | 1 + src/system/kernel/scheduler/RunQueue.h | 9 --------- src/system/kernel/scheduler/scheduler_cpu.cpp | 5 ++++- src/system/kernel/scheduler/scheduler_cpu.h | 11 ----------- src/system/kernel/scheduler/scheduler_thread.h | 3 --- ############################################################################ Commit: ebc87f244348d0381d1784cbee136283c9e5ec6e Author: Pawel Dziepak <pdziepak@xxxxxxxxxxx> Date: Thu Dec 26 18:55:33 2013 UTC x86: Fix build with kernel debugging disabled ---------------------------------------------------------------------------- diff --git a/src/system/kernel/arch/x86/arch_smp.cpp b/src/system/kernel/arch/x86/arch_smp.cpp index bb95501..e9d4b4c 100644 --- a/src/system/kernel/arch/x86/arch_smp.cpp +++ b/src/system/kernel/arch/x86/arch_smp.cpp @@ -10,6 +10,7 @@ #include <boot/kernel_args.h> #include <vm/vm.h> +#include <cpu.h> #include <int.h> #include <smp.h> #include <smp_priv.h> ############################################################################ Commit: 1039dc950d37e89312f7bf05240c8c75c46e448a Author: Pawel Dziepak <pdziepak@xxxxxxxxxxx> Date: Thu Dec 26 18:56:50 2013 UTC scheduler: Remove CPUEntry::IncreaseActiveTime() ---------------------------------------------------------------------------- diff --git a/src/system/kernel/scheduler/scheduler_cpu.cpp b/src/system/kernel/scheduler/scheduler_cpu.cpp index f203075..ef6c9bc 100644 --- a/src/system/kernel/scheduler/scheduler_cpu.cpp +++ b/src/system/kernel/scheduler/scheduler_cpu.cpp @@ -242,6 +242,9 @@ CPUEntry::TrackActivity(ThreadData* oldThreadData, ThreadData* nextThreadData) cpuEntry->active_time += active; locker.Unlock(); + fMeasureActiveTime += active; + fCore->IncreaseActiveTime(active); + oldThreadData->UpdateActivity(active); } @@ -268,7 +271,7 @@ CPUEntry::_RequestPerformanceLevel(ThreadData* threadData) SCHEDULER_ENTER_FUNCTION(); int32 load = std::max(threadData->GetLoad(), fCore->GetLoad()); - load = std::min(std::max(load, int32(0)), kMaxLoad); + ASSERT(load >= 0 && load <= kMaxLoad); if (load < kTargetLoad) { int32 delta = kTargetLoad - load; diff --git a/src/system/kernel/scheduler/scheduler_cpu.h b/src/system/kernel/scheduler/scheduler_cpu.h index 8596279..9115f67 100644 --- a/src/system/kernel/scheduler/scheduler_cpu.h +++ b/src/system/kernel/scheduler/scheduler_cpu.h @@ -69,9 +69,6 @@ public: void UpdatePriority(int32 priority); - inline void IncreaseActiveTime( - bigtime_t activeTime); - inline int32 GetLoad() const { return fLoad; } void ComputeLoad(); @@ -307,14 +304,6 @@ CPUEntry::UnlockScheduler() } -inline void -CPUEntry::IncreaseActiveTime(bigtime_t activeTime) -{ - SCHEDULER_ENTER_FUNCTION(); - fMeasureActiveTime += activeTime; -} - - /* static */ inline CPUEntry* CPUEntry::GetCPU(int32 cpu) { diff --git a/src/system/kernel/scheduler/scheduler_thread.h b/src/system/kernel/scheduler/scheduler_thread.h index 3fb2db6..38434e4 100644 --- a/src/system/kernel/scheduler/scheduler_thread.h +++ b/src/system/kernel/scheduler/scheduler_thread.h @@ -300,10 +300,7 @@ inline void ThreadData::UpdateActivity(bigtime_t active) { SCHEDULER_ENTER_FUNCTION(); - fMeasureActiveTime += active; - CPUEntry::GetCPU(smp_get_current_cpu())->IncreaseActiveTime(active); - fCore->IncreaseActiveTime(active); } ############################################################################ Commit: 50e4f3f6a5fcaf207ce0331d04230ecc0258beaa Author: Pawel Dziepak <pdziepak@xxxxxxxxxxx> Date: Thu Dec 26 21:07:26 2013 UTC scheduler: Make sure RunQueueLink::{fPrevious, fNext} are valid ---------------------------------------------------------------------------- diff --git a/src/system/kernel/scheduler/RunQueue.h b/src/system/kernel/scheduler/RunQueue.h index 9d54a3a..b0ee6ca 100644 --- a/src/system/kernel/scheduler/RunQueue.h +++ b/src/system/kernel/scheduler/RunQueue.h @@ -106,7 +106,6 @@ private: }; -#if KDEBUG template<typename Element> RunQueueLink<Element>::RunQueueLink() : @@ -114,12 +113,6 @@ RunQueueLink<Element>::RunQueueLink() fNext(NULL) { } -#else -template<typename Element> -RunQueueLink<Element>::RunQueueLink() -{ -} -#endif template<typename Element> @@ -349,10 +342,8 @@ RUN_QUEUE_CLASS_NAME::Remove(Element* element) if (fHeads[priority] == NULL) fBitmap.Clear(priority); -#if KDEBUG elementLink->fPrevious = NULL; elementLink->fNext = NULL; -#endif }