archive mirror
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <>
To: Linux PM <>
Cc: LKML <>,
	Peter Zijlstra <>,
	Randy Dunlap <>
Subject: [PATCH] cpuidle: menu: Avoid overflows when computing variance
Date: Wed, 27 Feb 2019 14:35:50 +0100	[thread overview]
Message-ID: <13496310.XaNEd20TYL@aspire.rjw.lan> (raw)

From: Rafael J. Wysocki <>

The variance computation in get_typical_interval() may overflow if
the square of the value of diff exceeds the maximum for the int64_t
data type value which basically is the case when it is of the order

However, data points so far in the future don't matter for idle
state selection anyway, so change the initial threshold value in
get_typical_interval() to INT_MAX which will cause more "outlying"
data points to be discarded without affecting the selection result.

Reported-by: Randy Dunlap <>
Signed-off-by: Rafael J. Wysocki <>
 drivers/cpuidle/governors/menu.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-pm/drivers/cpuidle/governors/menu.c
--- linux-pm.orig/drivers/cpuidle/governors/menu.c
+++ linux-pm/drivers/cpuidle/governors/menu.c
@@ -186,7 +186,7 @@ static unsigned int get_typical_interval
 	unsigned int min, max, thresh, avg;
 	uint64_t sum, variance;
-	thresh = UINT_MAX; /* Discard outliers above this value */
+	thresh = INT_MAX; /* Discard outliers above this value */

                 reply	other threads:[~2019-02-27 13:37 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=13496310.XaNEd20TYL@aspire.rjw.lan \ \ \ \ \ \
    --subject='Re: [PATCH] cpuidle: menu: Avoid overflows when computing variance' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
on how to clone and mirror all data and code used for this inbox