All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Guo <shawn.guo@linaro.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Konrad Dybcio <konrad.dybcio@somainline.org>,
	linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND] cpuidle: psci: Iterate backwards over list in psci_pd_remove()
Date: Wed, 8 Mar 2023 09:15:55 +0800	[thread overview]
Message-ID: <20230308011554.GA18319@T480> (raw)
In-Reply-To: <CAJZ5v0h9=vZwENELK+w7HnTTsayaNb1D7wnBgjsXvgopc_t-cA@mail.gmail.com>

On Tue, Mar 07, 2023 at 02:06:31PM +0100, Rafael J. Wysocki wrote:
> On Sat, Mar 4, 2023 at 8:41 AM Shawn Guo <shawn.guo@linaro.org> wrote:
> >
> > In case that psci_pd_init_topology() fails for some reason,
> > psci_pd_remove() will be responsible for deleting provider and removing
> > genpd from psci_pd_providers list.  There will be a failure when removing
> > the cluster PD, because the cpu (child) PDs haven't been removed.
> >
> > [    0.050232] CPUidle PSCI: init PM domain cpu0
> > [    0.050278] CPUidle PSCI: init PM domain cpu1
> > [    0.050329] CPUidle PSCI: init PM domain cpu2
> > [    0.050370] CPUidle PSCI: init PM domain cpu3
> > [    0.050422] CPUidle PSCI: init PM domain cpu-cluster0
> > [    0.050475] PM: genpd_remove: unable to remove cpu-cluster0
> > [    0.051412] PM: genpd_remove: removed cpu3
> > [    0.051449] PM: genpd_remove: removed cpu2
> > [    0.051499] PM: genpd_remove: removed cpu1
> > [    0.051546] PM: genpd_remove: removed cpu0
> >
> > Fix the problem by iterating the provider list reversely, so that parent
> > PD gets removed after child's PDs like below.
> >
> > [    0.029052] CPUidle PSCI: init PM domain cpu0
> > [    0.029076] CPUidle PSCI: init PM domain cpu1
> > [    0.029103] CPUidle PSCI: init PM domain cpu2
> > [    0.029124] CPUidle PSCI: init PM domain cpu3
> > [    0.029151] CPUidle PSCI: init PM domain cpu-cluster0
> > [    0.029647] PM: genpd_remove: removed cpu0
> > [    0.029666] PM: genpd_remove: removed cpu1
> > [    0.029690] PM: genpd_remove: removed cpu2
> > [    0.029714] PM: genpd_remove: removed cpu3
> > [    0.029738] PM: genpd_remove: removed cpu-cluster0
> >
> > Fixes: a65a397f2451 ("cpuidle: psci: Add support for PM domains by using genpd")
> 
> So I guess there should be Cc: stable for 5.10 and later?

Yes.  I was thinking that stable team will pick it up due to the Fixes
tag, but yes, explicitly copying stable would be the best.

> 
> > Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
> > Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
> > Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> > ---
> > Hi Rafael,
> >
> > This is a resend of the patch [1].  Could you help pick it up or let me
> > know if there is anything need to be improved, thanks!
> 
> Is this regarded as 6.3-rc material, or can it wait for 6.4?

As it's regarded as a fix, it would nice to apply it for 6.3-rc.

Shawn

WARNING: multiple messages have this Message-ID (diff)
From: Shawn Guo <shawn.guo@linaro.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Konrad Dybcio <konrad.dybcio@somainline.org>,
	linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND] cpuidle: psci: Iterate backwards over list in psci_pd_remove()
Date: Wed, 8 Mar 2023 09:15:55 +0800	[thread overview]
Message-ID: <20230308011554.GA18319@T480> (raw)
In-Reply-To: <CAJZ5v0h9=vZwENELK+w7HnTTsayaNb1D7wnBgjsXvgopc_t-cA@mail.gmail.com>

On Tue, Mar 07, 2023 at 02:06:31PM +0100, Rafael J. Wysocki wrote:
> On Sat, Mar 4, 2023 at 8:41 AM Shawn Guo <shawn.guo@linaro.org> wrote:
> >
> > In case that psci_pd_init_topology() fails for some reason,
> > psci_pd_remove() will be responsible for deleting provider and removing
> > genpd from psci_pd_providers list.  There will be a failure when removing
> > the cluster PD, because the cpu (child) PDs haven't been removed.
> >
> > [    0.050232] CPUidle PSCI: init PM domain cpu0
> > [    0.050278] CPUidle PSCI: init PM domain cpu1
> > [    0.050329] CPUidle PSCI: init PM domain cpu2
> > [    0.050370] CPUidle PSCI: init PM domain cpu3
> > [    0.050422] CPUidle PSCI: init PM domain cpu-cluster0
> > [    0.050475] PM: genpd_remove: unable to remove cpu-cluster0
> > [    0.051412] PM: genpd_remove: removed cpu3
> > [    0.051449] PM: genpd_remove: removed cpu2
> > [    0.051499] PM: genpd_remove: removed cpu1
> > [    0.051546] PM: genpd_remove: removed cpu0
> >
> > Fix the problem by iterating the provider list reversely, so that parent
> > PD gets removed after child's PDs like below.
> >
> > [    0.029052] CPUidle PSCI: init PM domain cpu0
> > [    0.029076] CPUidle PSCI: init PM domain cpu1
> > [    0.029103] CPUidle PSCI: init PM domain cpu2
> > [    0.029124] CPUidle PSCI: init PM domain cpu3
> > [    0.029151] CPUidle PSCI: init PM domain cpu-cluster0
> > [    0.029647] PM: genpd_remove: removed cpu0
> > [    0.029666] PM: genpd_remove: removed cpu1
> > [    0.029690] PM: genpd_remove: removed cpu2
> > [    0.029714] PM: genpd_remove: removed cpu3
> > [    0.029738] PM: genpd_remove: removed cpu-cluster0
> >
> > Fixes: a65a397f2451 ("cpuidle: psci: Add support for PM domains by using genpd")
> 
> So I guess there should be Cc: stable for 5.10 and later?

Yes.  I was thinking that stable team will pick it up due to the Fixes
tag, but yes, explicitly copying stable would be the best.

> 
> > Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
> > Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
> > Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> > ---
> > Hi Rafael,
> >
> > This is a resend of the patch [1].  Could you help pick it up or let me
> > know if there is anything need to be improved, thanks!
> 
> Is this regarded as 6.3-rc material, or can it wait for 6.4?

As it's regarded as a fix, it would nice to apply it for 6.3-rc.

Shawn

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-03-08  1:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-04  7:41 [PATCH RESEND] cpuidle: psci: Iterate backwards over list in psci_pd_remove() Shawn Guo
2023-03-04  7:41 ` Shawn Guo
2023-03-07 13:06 ` Rafael J. Wysocki
2023-03-07 13:06   ` Rafael J. Wysocki
2023-03-08  1:15   ` Shawn Guo [this message]
2023-03-08  1:15     ` Shawn Guo

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=20230308011554.GA18319@T480 \
    --to=shawn.guo@linaro.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=konrad.dybcio@somainline.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=sudeep.holla@arm.com \
    --cc=ulf.hansson@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.