linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sudeep.holla@arm.com (Sudeep Holla)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/2] ARM64 / cpuidle: Use new cpuidle macro for entering retention state
Date: Mon, 13 Nov 2017 12:33:38 +0000	[thread overview]
Message-ID: <0b4b13d3-2415-33df-f02b-1c94df4331ea@arm.com> (raw)
In-Reply-To: <1510187922-8218-3-git-send-email-pprakash@codeaurora.org>



On 09/11/17 00:38, Prashanth Prakash wrote:
> CPU_PM_CPU_IDLE_ENTER_RETENTION skips calling cpu_pm_enter() and
> cpu_pm_exit(). By not calling cpu_pm functions in idle entry/exit
> paths we can reduce the latency involved in entering and exiting
> the low power idle state.
> 
> On ARM64 based Qualcomm server platform we measured below overhead
> for calling cpu_pm_enter and cpu_pm_exit for retention states.
> 
> workload: stress --hdd #CPUs --hdd-bytes 32M  -t 30
> 	Average overhead of cpu_pm_enter - 1.2us
> 	Average overhead of cpu_pm_exit  - 3.1us
> 
> Signed-off-by: Prashanth Prakash <pprakash@codeaurora.org>
> ---
>  arch/arm64/kernel/cpuidle.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kernel/cpuidle.c b/arch/arm64/kernel/cpuidle.c
> index fd69108..f2d1381 100644
> --- a/arch/arm64/kernel/cpuidle.c
> +++ b/arch/arm64/kernel/cpuidle.c
> @@ -47,6 +47,8 @@ int arm_cpuidle_suspend(int index)
>  
>  #include <acpi/processor.h>
>  
> +#define ARM64_LPI_IS_RETENTION_STATE(arch_flags) (!(arch_flags))
> +

This is fine, but just to be safer, is it better to check for all
flags to be set as we can't/don't support any partial retention modes.

Just curious, how is retention handled on mobile parts. I guess mainline
is not important on those parts, but add a note in the commit message
that we can make it ACPI agnostic and PSCI param dependent if needed.

-- 
Regards,
Sudeep

  reply	other threads:[~2017-11-13 12:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-09  0:38 [PATCH v2 0/2] Avoid calling cpu_pm functions for retention idle states Prashanth Prakash
2017-11-09  0:38 ` [PATCH v2 1/2] cpuidle: Add new macro to enter a retention idle state Prashanth Prakash
2017-11-13 12:27   ` Sudeep Holla
2017-11-09  0:38 ` [PATCH v2 2/2] ARM64 / cpuidle: Use new cpuidle macro for entering retention state Prashanth Prakash
2017-11-13 12:33   ` Sudeep Holla [this message]
2017-11-14 16:15     ` Prakash, Prashanth
2017-11-14 17:40       ` Sudeep Holla

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=0b4b13d3-2415-33df-f02b-1c94df4331ea@arm.com \
    --to=sudeep.holla@arm.com \
    --cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).