mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: 朱恺乾 <zhukaiqian@xiaomi.com>
To: Christian Loehle <christian.loehle@arm.com>,
	"rafael@kernel.org" <rafael@kernel.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
	"quic_zhonhan@quicinc.com" <quic_zhonhan@quicinc.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [External Mail]Re: [PATCH] cpuidle: menu: find the typical interval by a heuristic classification method
Date: Mon, 18 Aug 2025 09:09:33 +0000	[thread overview]
Message-ID: <6ce0b683b2f94aef8b8cef8d44a491d1@xiaomi.com> (raw)
In-Reply-To: <842e4029-e941-4024-9a1e-59bf8c8f1b18@arm.com>

> Would be nice to have statistical significance on those (I'm assuming Geekbench)
> scores and a description of the systems idle state and maybe a comparison to
> shallowest (only WFI enabled) and deepest (only max idle state enabled).
Here's an overview of the geekbench score and the power consumption.
The results below are the average of three consecutive tests. In
general, menu costs the least power, but the performance also is the
worst.

           |      dvfs on       |       dvfs off
           |  gkb    cpu   sply |   gkb    cpu   sply
menu v6.6  | 7469   2326   5490 |  8179   2554   5611
menu v6.17 | 7690   2363   5495 |  8414   2590   5844
proposed   | 7679   2363   5525 |  8500   2587   5814
teo        | 7877   2420   5563 |  8648   2594   5914
deepest    | 7246               |  7954
wfi        | 7955               |  8663

By compairing the states selected, we can see the governor is selecting
too much deep idle states, and most of them are above the ideal state.
It can waste too much time & power on entering/exiting the deep state.

selected    state0   state1   state2
menu v6.6   136342    12255    48784
menu v6.17  151045     8317    25435
proposed    160869     5934    23462
teo         207094    12280    12011

above       state0   state1   state2
menu v6.6        0     8006    30737
menu v6.17       0     3494    10489
proposed         0     2221     8700
teo              0     4606     3344

The situation is much better in v6.17. Less deep states are selected, and better
the performance becomes. A more pleasing result is the overall idle time as
well as the deep idle time doesn't change. Which means the power efficiency of
the governor has increased.

Below is the percentage of idle time and each of the states for the different core
types in the system. Since they're all running the same benchmark,
we can assume the total time spent is identical across the tests.

From it, we can see that TEO tends to choose more shallow states, while all
the variants of menu governors will keep the CPUs sleep deep. The proposed
here is an update of the patch uploaded, as I see the change in v6.17 allows
the governor to use more power. This updated version behaves similar with
v6.17 menu in the benchmark score and power consumption, but if we look
at the states selected and the idle time, it could be a little bit shallower and
more accurate on the deep states than the v6.17.

type1         idle   state0   state1   state2
menu v6.6   50.69%   24.04%    1.09%   25.55%
menu v6.17  55.28%   29.99%    1.06%   24.22%
proposed    55.72%   30.70%    0.55%   24.46%
teo         50.68%   25.98%   12.34%   12.36%

type2         idle   state0   state1   state2
menu v6.6   71.08%    1.84%    2.61%   66.62%
menu v6.17  73.05%    3.43%    1.88%   67.74%
proposed    73.25%    4.89%    1.99%   66.36%
teo         71.93%   10.54%    8.68%   52.70%

type3         idle   state0   state1   state2
menu v6.6   78.78%    0.18%    0.44%   78.16%
menu v6.17  78.60%    0.71%    0.56%   77.32%
proposed    78.89%    0.99%    0.42%   77.48%
teo         78.45%    1.60%   10.15%   66.69%

type4         idle   state0   state1   state2
menu v6.6   76.26%    0.04%    0.50%   75.72%
menu v6.17  75.76%    0.33%    0.83%   74.61%
proposed    75.91%    0.54%    0.51%   74.85%
teo         74.90%    1.13%   13.82%   59.94%

About the idle states, the difference of the power consumption between the
states on type1 and type2 are negligible. As to type3 and type4, the largest
drop on power is seen between state0 and state1.

#/******本邮件及其附件含有小米公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件! This e-mail and its attachments contain confidential information from XIAOMI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!******/#

      reply	other threads:[~2025-08-18  9:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-17 10:11 朱恺乾
2025-07-17 18:23 ` Rafael J. Wysocki
2025-07-28 10:04 ` Christian Loehle
2025-08-18  9:09   ` 朱恺乾 [this message]

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=6ce0b683b2f94aef8b8cef8d44a491d1@xiaomi.com \
    --to=zhukaiqian@xiaomi.com \
    --cc=christian.loehle@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=quic_zhonhan@quicinc.com \
    --cc=rafael@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome