[haiku-commits] BRANCH pdziepak-github.scheduler [50e4f3f] src/system/kernel/scheduler

  • From: pdziepak-github.scheduler <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 26 Dec 2013 22:15:31 +0100 (CET)

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
 }
 
 


Other related posts:

  • » [haiku-commits] BRANCH pdziepak-github.scheduler [50e4f3f] src/system/kernel/scheduler - pdziepak-github . scheduler