Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 29 Apr 2024 13:59:51 -0700 (PDT) | Subject | Re: [PATCH] cpuidle: riscv-sbi: Add cluster_pm_enter()/exit() | From | Palmer Dabbelt <> |
| |
On Mon, 29 Apr 2024 07:32:12 PDT (-0700), ulf.hansson@linaro.org wrote: > On Mon, 26 Feb 2024 at 07:51, Nick Hu <nick.hu@sifive.com> wrote: >> >> When the cpus in the same cluster are all in the idle state, the kernel >> might put the cluster into a deeper low power state. Call the >> cluster_pm_enter() before entering the low power state and call the >> cluster_pm_exit() after the cluster woken up. >> >> Signed-off-by: Nick Hu <nick.hu@sifive.com> > > I was not cced this patch, but noticed that this patch got queued up > recently. Sorry for not noticing earlier. > > If not too late, can you please drop/revert it? We should really move > away from the CPU cluster notifiers. See more information below.
Sorry about that, I'll toss it. I'm testing some other stuff right now so it might miss today's linux-next.
>> --- >> drivers/cpuidle/cpuidle-riscv-sbi.c | 24 ++++++++++++++++++++++-- >> 1 file changed, 22 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/cpuidle/cpuidle-riscv-sbi.c b/drivers/cpuidle/cpuidle-riscv-sbi.c >> index e8094fc92491..298dc76a00cf 100644 >> --- a/drivers/cpuidle/cpuidle-riscv-sbi.c >> +++ b/drivers/cpuidle/cpuidle-riscv-sbi.c >> @@ -394,6 +394,7 @@ static int sbi_cpuidle_pd_power_off(struct generic_pm_domain *pd) >> { >> struct genpd_power_state *state = &pd->states[pd->state_idx]; >> u32 *pd_state; >> + int ret; >> >> if (!state->data) >> return 0; >> @@ -401,6 +402,10 @@ static int sbi_cpuidle_pd_power_off(struct generic_pm_domain *pd) >> if (!sbi_cpuidle_pd_allow_domain_state) >> return -EBUSY; >> >> + ret = cpu_cluster_pm_enter(); >> + if (ret) >> + return ret; > > Rather than using the CPU cluster notifiers, consumers of the genpd > can register themselves to receive genpd on/off notifiers. > > In other words, none of this should be needed, right? > > [...] > > Kind regards > Uffe
| ![\](/images/icornerr.gif) |