All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Linux PM <linux-pm@vger.kernel.org>,
	Kevin Hilman <khilman@kernel.org>,
	Lina Iyer <ilina@codeaurora.org>,
	Rob Herring <robh+dt@kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v9 03/11] PM / Domains: Document flags for genpd
Date: Thu, 4 Oct 2018 09:13:51 -0700	[thread overview]
Message-ID: <20181004161351.GH5662@atomide.com> (raw)
In-Reply-To: <CAPDyKFr1H_ah3OYqghQgADs8fwNd+HpjWw9VfGR1T1-K5KbnhQ@mail.gmail.com>

* Ulf Hansson <ulf.hansson@linaro.org> [181004 15:02]:
> On 4 October 2018 at 15:48, Tony Lindgren <tony@atomide.com> wrote:
> > Hi,
> >
> > * Ulf Hansson <ulf.hansson@linaro.org> [181003 14:43]:
> >> + * GENPD_FLAG_IRQ_SAFE:              This informs genpd that its backend callbacks,
> >> + *                           ->power_on|off(), doesn't sleep. Hence, these
> >> + *                           can be invoked from within atomic context, which
> >> + *                           enables genpd to power on/off the PM domain,
> >> + *                           even when pm_runtime_is_irq_safe() returns true,
> >> + *                           for any of its attached devices. Note that, a
> >> + *                           genpd having this flag set, requires its
> >> + *                           masterdomains to also have it set.
> >> + *
> >
> > Let's try to avoid adding more irq_safe stuff because of having that
> > propagate to the masterdomains..
> 
> I am not sure I get your point. This is just documenting existing
> functionality in genpd, there is nothing new here.

Right, and I'm just bringing up that this FLAG_IRQ_SAFE is not a
good way to in the long run :)

> > I think you can just flag the power_on/off in genpd, then have cpu_pm
> > callbacks do it.
> 
> Not really sure what you propose, but feel free to send a patch.

Well there is not much to really patch, just don't attempt to
do irq_safe stuff from genpd and have cpu_idle callbacks to do
it instead. And then no need for GENPD_FLAG_IRQ_SAFE :)

> Do note, genpd has since the beginning of its time tried to cope with
> pm_runtime_irq_safe() devices. I admit it's quite complicated, however
> GENPD_FLAG_IRQ_SAFE greatly improved the support for such devices and
> their PM domains. Moreover, we need this functionality, in one way or
> the other, as long as there users of pm_runtime_irq_safe().

Right, and I'm still struggling years after with legacy device drivers
that have done pm_runtime_irq_safe() and come to the conclusion that
it should not be used at all. Getting rid of GENPD_FLAG_IRQ_SAFE
might just safe you years of pain later on.

Regards,

Tony

WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 03/11] PM / Domains: Document flags for genpd
Date: Thu, 4 Oct 2018 09:13:51 -0700	[thread overview]
Message-ID: <20181004161351.GH5662@atomide.com> (raw)
In-Reply-To: <CAPDyKFr1H_ah3OYqghQgADs8fwNd+HpjWw9VfGR1T1-K5KbnhQ@mail.gmail.com>

* Ulf Hansson <ulf.hansson@linaro.org> [181004 15:02]:
> On 4 October 2018 at 15:48, Tony Lindgren <tony@atomide.com> wrote:
> > Hi,
> >
> > * Ulf Hansson <ulf.hansson@linaro.org> [181003 14:43]:
> >> + * GENPD_FLAG_IRQ_SAFE:              This informs genpd that its backend callbacks,
> >> + *                           ->power_on|off(), doesn't sleep. Hence, these
> >> + *                           can be invoked from within atomic context, which
> >> + *                           enables genpd to power on/off the PM domain,
> >> + *                           even when pm_runtime_is_irq_safe() returns true,
> >> + *                           for any of its attached devices. Note that, a
> >> + *                           genpd having this flag set, requires its
> >> + *                           masterdomains to also have it set.
> >> + *
> >
> > Let's try to avoid adding more irq_safe stuff because of having that
> > propagate to the masterdomains..
> 
> I am not sure I get your point. This is just documenting existing
> functionality in genpd, there is nothing new here.

Right, and I'm just bringing up that this FLAG_IRQ_SAFE is not a
good way to in the long run :)

> > I think you can just flag the power_on/off in genpd, then have cpu_pm
> > callbacks do it.
> 
> Not really sure what you propose, but feel free to send a patch.

Well there is not much to really patch, just don't attempt to
do irq_safe stuff from genpd and have cpu_idle callbacks to do
it instead. And then no need for GENPD_FLAG_IRQ_SAFE :)

> Do note, genpd has since the beginning of its time tried to cope with
> pm_runtime_irq_safe() devices. I admit it's quite complicated, however
> GENPD_FLAG_IRQ_SAFE greatly improved the support for such devices and
> their PM domains. Moreover, we need this functionality, in one way or
> the other, as long as there users of pm_runtime_irq_safe().

Right, and I'm still struggling years after with legacy device drivers
that have done pm_runtime_irq_safe() and come to the conclusion that
it should not be used at all. Getting rid of GENPD_FLAG_IRQ_SAFE
might just safe you years of pain later on.

Regards,

Tony

  reply	other threads:[~2018-10-04 16:13 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-03 14:38 [PATCH v9 00/11] PM / Domains: Support hierarchical CPU arrangement (PSCI/ARM) (a subset) Ulf Hansson
2018-10-03 14:38 ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 01/11] PM / Domains: Don't treat zero found compatible idle states as an error Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 02/11] PM / Domains: Deal with multiple states but no governor in genpd Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 03/11] PM / Domains: Document flags for genpd Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-04 13:48   ` Tony Lindgren
2018-10-04 13:48     ` Tony Lindgren
2018-10-04 14:57     ` Ulf Hansson
2018-10-04 14:57       ` Ulf Hansson
2018-10-04 16:13       ` Tony Lindgren [this message]
2018-10-04 16:13         ` Tony Lindgren
2018-10-03 14:38 ` [PATCH v9 04/11] dt: psci: Update DT bindings to support hierarchical PSCI states Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-10 15:03   ` Sudeep Holla
2018-10-10 15:03     ` Sudeep Holla
2018-10-11 14:44     ` Ulf Hansson
2018-10-11 14:44       ` Ulf Hansson
2018-10-11 16:41       ` Sudeep Holla
2018-10-11 16:41         ` Sudeep Holla
2018-10-12  9:43         ` Ulf Hansson
2018-10-12  9:43           ` Ulf Hansson
2018-10-12 10:13           ` Sudeep Holla
2018-10-12 10:13             ` Sudeep Holla
2018-10-12 10:24             ` Ulf Hansson
2018-10-12 10:24               ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 05/11] of: base: Add of_get_cpu_state_node() to get idle states for a CPU node Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-10 15:03   ` Sudeep Holla
2018-10-10 15:03     ` Sudeep Holla
2018-10-11 15:05     ` Ulf Hansson
2018-10-11 15:05       ` Ulf Hansson
2018-10-11 16:01       ` Sudeep Holla
2018-10-11 16:01         ` Sudeep Holla
2018-10-03 14:38 ` [PATCH v9 06/11] cpuidle: dt: Support hierarchical CPU idle states Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-10 15:03   ` Sudeep Holla
2018-10-10 15:03     ` Sudeep Holla
2018-10-03 14:38 ` [PATCH v9 07/11] drivers: firmware: psci: Move psci to separate directory Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 08/11] MAINTAINERS: Update files for PSCI Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 09/11] drivers: firmware: psci: Split psci_dt_cpu_init_idle() Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 10/11] drivers: firmware: psci: Support hierarchical CPU idle states Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 11/11] drivers: firmware: psci: Simplify error path of psci_dt_init() Ulf Hansson
2018-10-03 14:38   ` Ulf Hansson
2018-10-04  8:39 ` [PATCH v9 00/11] PM / Domains: Support hierarchical CPU arrangement (PSCI/ARM) (a subset) Rafael J. Wysocki
2018-10-04  8:39   ` Rafael J. Wysocki
2018-10-04  8:58   ` Ulf Hansson
2018-10-04  8:58     ` Ulf Hansson
2018-10-04  9:01     ` Rafael J. Wysocki
2018-10-04  9:01       ` Rafael J. Wysocki
2018-10-04  9:32       ` Rafael J. Wysocki
2018-10-04  9:32         ` Rafael J. Wysocki
2018-10-04 10:10         ` Ulf Hansson
2018-10-04 10:10           ` Ulf Hansson
2018-10-04 15:57         ` Lorenzo Pieralisi
2018-10-04 15:57           ` Lorenzo Pieralisi
2018-10-04 17:07           ` Rafael J. Wysocki
2018-10-04 17:07             ` Rafael J. Wysocki
2018-10-04 17:21             ` Lorenzo Pieralisi
2018-10-04 17:21               ` Lorenzo Pieralisi
2018-10-04 18:36               ` Ulf Hansson
2018-10-04 18:36                 ` Ulf Hansson
2018-10-04 18:38                 ` Ulf Hansson
2018-10-04 18:38                   ` Ulf Hansson
2018-10-05 10:47                 ` Lorenzo Pieralisi
2018-10-05 10:47                   ` Lorenzo Pieralisi
2018-10-05 11:49                   ` Ulf Hansson
2018-10-05 11:49                     ` Ulf Hansson

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=20181004161351.GH5662@atomide.com \
    --to=tony@atomide.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=geert+renesas@glider.be \
    --cc=ilina@codeaurora.org \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=rjw@rjwysocki.net \
    --cc=robh+dt@kernel.org \
    --cc=sudeep.holla@arm.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vincent.guittot@linaro.org \
    --cc=viresh.kumar@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.