[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200901150055.GD2674@hirez.programming.kicks-ass.net>
Date: Tue, 1 Sep 2020 17:00:55 +0200
From: peterz@...radead.org
To: Ulf Hansson <ulf.hansson@...aro.org>
Cc: Naresh Kamboju <naresh.kamboju@...aro.org>, paulmck@...nel.org,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Saravana Kannan <saravanak@...gle.com>,
open list <linux-kernel@...r.kernel.org>,
linux-mmc <linux-mmc@...r.kernel.org>,
lkft-triage@...ts.linaro.org, rcu@...r.kernel.org,
Linux PM <linux-pm@...r.kernel.org>,
Anders Roxell <anders.roxell@...aro.org>,
Arnd Bergmann <arnd@...db.de>,
Rajendra Nayak <rnayak@...eaurora.org>,
John Stultz <john.stultz@...aro.org>,
Stephen Boyd <sboyd@...nel.org>,
Lars Povlsen <lars.povlsen@...rochip.com>,
madhuparnabhowmik10@...il.com,
Viresh Kumar <viresh.kumar@...aro.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
Lina Iyer <ilina@...eaurora.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: WARNING: suspicious RCU usage - sdhci-pltfm: SDHCI platform and
OF driver helper
On Tue, Sep 01, 2020 at 02:35:52PM +0200, Ulf Hansson wrote:
> On Tue, 1 Sep 2020 at 12:42, <peterz@...radead.org> wrote:
> > That said; I pushed the rcu_idle_enter() about as deep as it goes into
> > generic code in commit 1098582a0f6c ("sched,idle,rcu: Push rcu_idle
> > deeper into the idle path")
>
> Aha, that commit should fix this problem, I think. Looks like that
> commit was sent as a fix and included in the recent v5.9-rc3.
AFAICT psci_enter_domain_idle_state() is still buggered. All that
pm_runtime_*() stuff is using locks.
Look at this:
psci_enter_domain_idle_state()
pm_runtime_put_sync_suspend()
__pm_runtime_suspend()
spin_lock_irqsave(&dev->power.lock, flags);
That's a definite fail after we've done rcu_idle_enter().
> > I suppose the next step is pushing it into individual driver when
> > needed, something like the below perhaps. I realize the coupled idle
> > state stuff is more complicated that most, but it's also not an area
> > I've looked at in detail, so perhaps I've just made a bigger mess, but
> > it ought to give you enough to get going I think.
>
> These aren't coupled states. Instead, in cpuidle-psci, we are using PM
> domains through genpd and runtime PM to manage "shared idle states"
> between CPUs.
Similar problem I'm thinking, 'complicated' stuff.
Powered by blists - more mailing lists