[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAYoRsUYrE7gM28VCB0KrP2dCr7NmH2wuDnhT6h1D=S7go6fJA@mail.gmail.com>
Date: Mon, 14 Aug 2023 07:51:41 -0700
From: Doug Smythies <dsmythies@...us.net>
To: "Rafael J. Wysocki" <rjw@...ysocki.net>
Cc: Linux PM <linux-pm@...r.kernel.org>,
Anna-Maria Behnsen <anna-maria@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Frederic Weisbecker <frederic@...nel.org>,
Kajetan Puchalski <kajetan.puchalski@....com>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Doug Smythies <dsmythies@...us.net>
Subject: Re: [RFT] [PATCH v2] cpuidle: menu: Skip tick_nohz_get_sleep_length()
call in some cases
On Thu, Aug 10, 2023 at 11:38 AM Rafael J. Wysocki <rjw@...ysocki.net> wrote:
>
> From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> Subject: [PATCH] cpuidle: menu: Skip tick_nohz_get_sleep_length() call in some cases
>
> Because the cost of calling tick_nohz_get_sleep_length() may increase
> in the future, reorder the code in menu_select() so it first uses the
> statistics to determine the expected idle duration. If that value is
> higher than RESIDENCY_THRESHOLD_NS, tick_nohz_get_sleep_length() will
> be called to obtain the time till the closest timer and refine the
> idle duration prediction if necessary.
>
> This causes the governor to always take the full overhead of
> get_typical_interval() with the assumption that the cost will be
> amortized by skipping the tick_nohz_get_sleep_length() call in the
> cases when the predicted idle duration is relatively very small.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
I ran the same tests as I did for the teo governor changes.
Nothing of significance to report (well, some minor improvements
in records per second at the long interval end of the sleeping
ebizzy test, with a corresponding slight increase in processor
package power).
Tested-by: Doug Smythies <dsmythies@...us.net>
> ---
>
> v1 -> v2: Add missing max check to get_typical_interval().
>
... Doug
Powered by blists - more mailing lists