[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbsd-cvs
Subject:    Re: CVS: cvs.openbsd.org: src
From:       Solene Rapenne <solene () perso ! pw>
Date:       2020-05-30 14:57:46
Message-ID: 20200530165746.5db1d56d () perso ! pw
[Download RAW message or body]

On Sat, 30 May 2020 08:42:59 -0600 (MDT)
Solene Rapenne <solene@openbsd.org>:

> CVSROOT:	/cvs
> Module name:	src
> Changes by:	solene@cvs.openbsd.org	2020/05/30 08:42:59
> 
> Modified files:
> 	sys/kern       : sched_bsd.c 
> 
> Log message:
> In automatic performance mode on systems with offline CPUs because of
> SMT mitigation the algorithm was still accounting the offline CPUs,
> leading to a code path that would never be reached.
> 
> This should allow better frequency scaling on systems with many CPUs.
> The frequency should scale up if one of two condition is true.
> - if at least one CPU has less than 25% of idle cpu time
> - if the average of all idle time is under 33%
> 
> The second condition was never met because offline CPU are always
> accounted as 100% idle.
> 
> A bit more explanations about the auto scaling in case someone want
> to improve this later: When one condition is met, CPU frequency is
> set to maximum and a counter set to 5, then the function will be run
> again 100ms later and decrement the counter if both conditions are
> not met anymore. Once the counter reach 0 the frequency is set to
> minimum. This mean that it can take up to 100ms to scale up and up to
> 500ms to scale down.
> 
> ok brynet@
> looks good tedu@
> 

I forgot to credit claudio@ who shared the code to skip offline cpu

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic