diff mbox series

intel_idle: update ICX C6 data

Message ID 20210308143146.3443166-1-dedekind1@gmail.com (mailing list archive)
State Mainlined, archived
Headers show
Series intel_idle: update ICX C6 data | expand

Commit Message

Artem Bityutskiy March 8, 2021, 2:31 p.m. UTC
From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>

This patch changes IceLake Xeon C6 latency from 128 us to 170 us. The latency
was measured with the "wult" tool and corresponds to the 99.99th percentile
when measuring with the "nic" method. Note, the 128 us figure correspond to the
median latency, but in intel_idle we use the "worst case" latency figure
instead.

C6 target residency was increased from 384 us to 600 us, which may result in
less C6 residency in some workloads. This value was tested and compared to
values 384, and 1000. Value 600 is a reasonable tradeoff between power and
performance.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Acked-by: Zhang Rui <rui.zhang@intel.com>
---
 drivers/idle/intel_idle.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Changelog:
v2->v3: Change target_residency from 1000us to 600us, based on Rui's feedback.
v1->v2: Re-measured ICX with newer BIOS 21D02, which has C1 demotion bug fixed.

Comments

Rafael J. Wysocki March 18, 2021, 6:37 p.m. UTC | #1
On Mon, Mar 8, 2021 at 3:31 PM Artem Bityutskiy <dedekind1@gmail.com> wrote:
>
> From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
>
> This patch changes IceLake Xeon C6 latency from 128 us to 170 us. The latency
> was measured with the "wult" tool and corresponds to the 99.99th percentile
> when measuring with the "nic" method. Note, the 128 us figure correspond to the
> median latency, but in intel_idle we use the "worst case" latency figure
> instead.
>
> C6 target residency was increased from 384 us to 600 us, which may result in
> less C6 residency in some workloads. This value was tested and compared to
> values 384, and 1000. Value 600 is a reasonable tradeoff between power and
> performance.
>
> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> Acked-by: Zhang Rui <rui.zhang@intel.com>
> ---
>  drivers/idle/intel_idle.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> Changelog:
> v2->v3: Change target_residency from 1000us to 600us, based on Rui's feedback.
> v1->v2: Re-measured ICX with newer BIOS 21D02, which has C1 demotion bug fixed.
>
> diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
> index 3273360f30f7..6cac0b748efa 100644
> --- a/drivers/idle/intel_idle.c
> +++ b/drivers/idle/intel_idle.c
> @@ -744,8 +744,8 @@ static struct cpuidle_state icx_cstates[] __initdata = {
>                 .name = "C6",
>                 .desc = "MWAIT 0x20",
>                 .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
> -               .exit_latency = 128,
> -               .target_residency = 384,
> +               .exit_latency = 170,
> +               .target_residency = 600,
>                 .enter = &intel_idle,
>                 .enter_s2idle = intel_idle_s2idle, },
>         {
> --

Applied as 5.13 material, thanks!
diff mbox series

Patch

diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
index 3273360f30f7..6cac0b748efa 100644
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@ -744,8 +744,8 @@  static struct cpuidle_state icx_cstates[] __initdata = {
 		.name = "C6",
 		.desc = "MWAIT 0x20",
 		.flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
-		.exit_latency = 128,
-		.target_residency = 384,
+		.exit_latency = 170,
+		.target_residency = 600,
 		.enter = &intel_idle,
 		.enter_s2idle = intel_idle_s2idle, },
 	{