Message ID | 8490144.T7Z3S40VBb@rjwysocki.net (mailing list archive) |
---|---|
State | Queued |
Delegated to: | Rafael Wysocki |
Headers | show |
Series | cpuidle: menu: Avoid discarding useful information when processing recent idle intervals | expand |
On 2/6/25 14:25, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > To prepare get_typical_interval() for subsequent changes, rearrange > the use of the data point threshold in it a bit and initialize that > threshold to UINT_MAX which is more consistent with its data type. > > No intentional functional impact. > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > --- > drivers/cpuidle/governors/menu.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > --- a/drivers/cpuidle/governors/menu.c > +++ b/drivers/cpuidle/governors/menu.c > @@ -116,7 +116,7 @@ > */ > static unsigned int get_typical_interval(struct menu_device *data) > { > - unsigned int max, divisor, thresh = INT_MAX; > + unsigned int max, divisor, thresh = UINT_MAX; > u64 avg, variance, avg_sq; > int i; > > @@ -129,8 +129,8 @@ > for (i = 0; i < INTERVALS; i++) { > unsigned int value = data->intervals[i]; > > - /* Discard data points above the threshold. */ > - if (value > thresh) > + /* Discard data points above or at the threshold. */ > + if (value >= thresh) > continue; > > divisor++; > @@ -186,7 +186,7 @@ > if ((divisor * 4) <= INTERVALS * 3) > return UINT_MAX; > > - thresh = max - 1; > + thresh = max; > goto again; > } > Reviewed-by: Christian Loehle <christian.loehle@arm.com>
--- a/drivers/cpuidle/governors/menu.c +++ b/drivers/cpuidle/governors/menu.c @@ -116,7 +116,7 @@ */ static unsigned int get_typical_interval(struct menu_device *data) { - unsigned int max, divisor, thresh = INT_MAX; + unsigned int max, divisor, thresh = UINT_MAX; u64 avg, variance, avg_sq; int i; @@ -129,8 +129,8 @@ for (i = 0; i < INTERVALS; i++) { unsigned int value = data->intervals[i]; - /* Discard data points above the threshold. */ - if (value > thresh) + /* Discard data points above or at the threshold. */ + if (value >= thresh) continue; divisor++; @@ -186,7 +186,7 @@ if ((divisor * 4) <= INTERVALS * 3) return UINT_MAX; - thresh = max - 1; + thresh = max; goto again; }