[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