linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Rob Herring <robh+dt@kernel.org>,
	Linux PM <linux-pm@vger.kernel.org>,
	"Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Lina Iyer <ilina@codeaurora.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Stephen Boyd <sboyd@kernel.org>, Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Kevin Hilman <khilman@kernel.org>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>
Subject: Re: [PATCH v4 13/14] cpuidle: psci: Add support for PM domains by using genpd
Date: Fri, 20 Dec 2019 12:01:12 +0000	[thread overview]
Message-ID: <20191220120112.GA26547@bogus> (raw)
In-Reply-To: <CAPDyKFqaH8otvkRH-+AM6qJyT4TLc+S-qR2-ZCfTT56pWXVfaA@mail.gmail.com>

On Fri, Dec 20, 2019 at 12:27:39PM +0100, Ulf Hansson wrote:
> On Fri, 20 Dec 2019 at 11:07, Sudeep Holla <sudeep.holla@arm.com> wrote:

[...]

> >
> > Even if you don't create all these genpd domains, it is still degraded
> > mode and we are anyway not changing that. Let me know if my understanding
> > is wrong here.
>
> Your understanding is wrong.
>
> If I remove the genpds because psci_set_osi_mode() fails, then in the
> current suggested initialization path, that will lead to that the
> entire cpuidle-psci driver will fail to initiate (which is because
> psci_dt_attach_cpu() returns an error). In other words, only WFI state
> will be used by cpuidle as there will be no cpuidle driver registered
> at all.
>
> That would not be an acceptable behaviour, as it would make the
> situation worse than today.
>
> What we want in this scenario is to keep using all the idle states for
> the CPUs, but ignores those for the cluster. That we both agree on,
> right?
>

Yes, I agree and understand that. I was assuming as part of this change
you will fixup psci_dt_cpu_init_idle not to return error but just allow
CPU level idle. Sorry if that was not clear, I was always assuming that.

> >
> > I am sure, DTB may get copied to different platform and the firmware may
> > not support OSI. I know we have logs, but creating and leaving those
> > genpd domains unused will be just confusing. Please change that.
>
> We are not creating any genpds unless OSI mode is supported. We do not
> even try to attach CPUs to the PM domains, unless OSI mode is
> supported. So this should already work according to your expectations
> and previous requests.
>

Yes I understand, but checking if "OSI mode is supported" is not same as
"setting OSI mode". Until OSI mode is set, it is default/PC mode, so we
need to work based on that assumption.

> To address your concern about removing genpds when psci_set_osi_mode()
> fails, we also need to address the problems we get when calling
> psci_dt_attach_cpu(). There are two viable options as I see it.
>

Shouldn't that fail ? Sorry, I might be missing something.

> 1. Prevent calling psci_dt_attach_cpu() altogether when
> psci_set_osi_mode() failed. This means another function needs to be
> shared from cpuidle-psci-domain.c to let cpuidle-psci.c know about it.
>

If we don't create any genpd, will psci_dt_attach_cpu fail ?

> 2. We can let psci_dt_attach_cpu() return NULL, when
> psci_set_osi_mode() failed - as this information is already known by
> cpuidle-psci-domain.c.
>

Yes I was making all the arguments/discussion based on that. Do you see
any issues with that ? Any races possible ?

> I vote for option 2, but what do you think?
>

Me too from the time I started the discussion, I assume a lot and
don't put this into words in the email.

--
Regards,
Sudeep

  reply	other threads:[~2019-12-20 12:01 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-11 15:43 [PATCH v4 00/14] cpuidle: psci: Support hierarchical CPU arrangement Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 01/14] cpuidle: psci: Align psci_power_state count with idle state count Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 02/14] dt: psci: Update DT bindings to support hierarchical PSCI states Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 03/14] firmware: psci: Export functions to manage the OSI mode Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 04/14] of: base: Add of_get_cpu_state_node() to get idle states for a CPU node Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 05/14] cpuidle: dt: Support hierarchical CPU idle states Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 06/14] cpuidle: psci: Simplify OF parsing of CPU idle state nodes Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 07/14] cpuidle: psci: Support hierarchical CPU idle states Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 08/14] cpuidle: psci: Add a helper to attach a CPU to its PM domain Ulf Hansson
2019-12-19 14:30   ` Sudeep Holla
2019-12-11 15:43 ` [PATCH v4 09/14] cpuidle: psci: Attach CPU devices to their PM domains Ulf Hansson
2019-12-19 14:30   ` Sudeep Holla
2019-12-11 15:43 ` [PATCH v4 10/14] cpuidle: psci: Prepare to use OS initiated suspend mode via " Ulf Hansson
2019-12-19 14:31   ` Sudeep Holla
2019-12-19 15:48     ` Ulf Hansson
2019-12-19 18:01       ` Sudeep Holla
2019-12-19 21:33         ` Ulf Hansson
2019-12-20 10:01           ` Sudeep Holla
2019-12-20 11:33             ` Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 11/14] cpuidle: psci: Manage runtime PM in the idle path Ulf Hansson
2019-12-19 14:32   ` Sudeep Holla
2019-12-11 15:43 ` [PATCH v4 12/14] cpuidle: psci: Support CPU hotplug for the hierarchical model Ulf Hansson
2019-12-19 14:33   ` Sudeep Holla
2019-12-19 15:48     ` Ulf Hansson
2019-12-11 15:43 ` [PATCH v4 13/14] cpuidle: psci: Add support for PM domains by using genpd Ulf Hansson
2019-12-19 14:34   ` Sudeep Holla
2019-12-19 15:48     ` Ulf Hansson
2019-12-19 18:06       ` Sudeep Holla
2019-12-19 22:02         ` Ulf Hansson
2019-12-20 10:07           ` Sudeep Holla
2019-12-20 11:27             ` Ulf Hansson
2019-12-20 12:01               ` Sudeep Holla [this message]
2019-12-11 15:43 ` [PATCH v4 14/14] arm64: dts: Convert to the hierarchical CPU topology layout for MSM8916 Ulf Hansson
2019-12-19 14:34   ` Sudeep Holla
2019-12-19 15:48     ` Ulf Hansson
2019-12-19 17:58       ` Sudeep Holla
2019-12-18  7:36 ` [PATCH v4 00/14] cpuidle: psci: Support hierarchical CPU arrangement Ulf Hansson
2019-12-18 10:25   ` 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=20191220120112.GA26547@bogus \
    --to=sudeep.holla@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=ilina@codeaurora.org \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=rjw@rjwysocki.net \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=vincent.guittot@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 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).