[haiku-commits] haiku: hrev54937 - src/add-ons/kernel/power/cpuidle/intel_cstates

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 30 Jan 2021 21:50:43 +0000 (UTC)

hrev54937 adds 1 changeset to branch 'master'
old head: e03da2bd84c4d74ab127d5f8e3297a8214117e10
new head: 5504fc757c43350bb9e6581f0bcf1f8ddf9706a0
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=5504fc757c43+%5Ee03da2bd84c4

----------------------------------------------------------------------------

5504fc757c43: intel_cstates: ignore negative time-delta values
  
  I have no idea why this can happen or if there is a deeper problem.
  
  Should fix #16546.
  
  Change-Id: Ia160e293eabefae636ce4c861864c99b0aaa68db
  Reviewed-on: https://review.haiku-os.org/c/haiku/+/3717
  Reviewed-by: Jérôme Duval <jerome.duval@xxxxxxxxx>

               [ Adrien Destugues <adrien.destugues@xxxxxxxxxxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev54937
Commit:      5504fc757c43350bb9e6581f0bcf1f8ddf9706a0
URL:         https://git.haiku-os.org/haiku/commit/?id=5504fc757c43
Author:      Adrien Destugues <adrien.destugues@xxxxxxxxxxxxxxxxxxxxx>
Date:        Sat Jan 30 20:15:48 2021 UTC
Committer:   Adrien Destugues <pulkomandy@xxxxxxxxx>
Commit-Date: Sat Jan 30 21:50:41 2021 UTC

Ticket:      https://dev.haiku-os.org/ticket/16546

----------------------------------------------------------------------------

1 file changed, 3 insertions(+), 1 deletion(-)
src/add-ons/kernel/power/cpuidle/intel_cstates/intel_cstates.cpp | 4 +++-

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/power/cpuidle/intel_cstates/intel_cstates.cpp 
b/src/add-ons/kernel/power/cpuidle/intel_cstates/intel_cstates.cpp
index 5a6b5440ba..f3ddadeabe 100644
--- a/src/add-ons/kernel/power/cpuidle/intel_cstates/intel_cstates.cpp
+++ b/src/add-ons/kernel/power/cpuidle/intel_cstates/intel_cstates.cpp
@@ -100,7 +100,9 @@ cstates_idle(void)
        bigtime_t delta = system_time() - start;
        locker.Unlock();
 
-       sIdleTime[cpu] = (idleTime + delta) / 2;
+       // Negative delta shouldn't happen, but apparently it does...
+       if (delta >= 0)
+               sIdleTime[cpu] = (idleTime + delta) / 2;
 }
 
 


Other related posts:

  • » [haiku-commits] haiku: hrev54937 - src/add-ons/kernel/power/cpuidle/intel_cstates - Adrien Destugues