Re: [PATCH v2] powerpc: Enable generic cpu idle-loop

From: Michael Ellerman
Date: Fri Oct 20 2023 - 08:26:29 EST


Hi Vaibhav,

Vaibhav Jain <vaibhav@xxxxxxxxxxxxx> writes:
> This minor patch enables config option GENERIC_IDLE_POLL_SETUP for arch
> powerpc. This should add support for kernel param 'nohlt'.
>
> Powerpc kernel also supports another kernel boot-time param called
> 'powersave' which can also be used to disable all cpu idle-states and
> forces CPU to an idle-loop similar to what cpu_idle_poll() does. Hence this
> patch also updates the handling of 'powersave=off' kernel param to enable
> generic cpu idle-loop if its enabled.
>
> Signed-off-by: Vaibhav Jain<vaibhav@xxxxxxxxxxxxx>
> ---
> Changelog:
>
> Since v1:
> https://lore.kernel.org/all/20230818050739.827851-1-vaibhav@xxxxxxxxxxxxx
> * Updated powersave_off() to enable generic cpu idle-loop if
> 'powersave=off' kernel arg is given. [Mpe]
> * Update patch description

I had already merged the v1 when I saw this, and ...

> diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c
> index b1c0418b25c8..7367a0698459 100644
> --- a/arch/powerpc/kernel/idle.c
> +++ b/arch/powerpc/kernel/idle.c
> @@ -35,6 +36,8 @@ EXPORT_SYMBOL(cpuidle_disable);
>
> static int __init powersave_off(char *arg)
> {
> + /* Use generic idle loop if thats available */
> + cpu_idle_poll_ctrl(true);
> ppc_md.power_save = NULL;
> cpuidle_disable = IDLE_POWERSAVE_OFF;
> return 1;

The hope here would be that we could remove the need for cpuidle_disable.

cheers