[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170920170755.GA3001@ubuntu>
Date: Wed, 20 Sep 2017 10:07:55 -0700
From: Viresh Kumar <viresh.kumar@...aro.org>
To: Stephen Boyd <sboyd@...eaurora.org>
Cc: Rafael Wysocki <rjw@...ysocki.net>, cw00.choi@...sung.com,
Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
linux-pm@...r.kernel.org,
Vincent Guittot <vincent.guittot@...aro.org>,
myungjoo.ham@...sung.com, inki.dae@...sung.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] PM / OPP: Call notifier without holding opp_table->lock
On 20-09-17, 10:00, Stephen Boyd wrote:
> On 09/20, Viresh Kumar wrote:
> > diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c
> > index 4360b4efcd4c..668fd940d362 100644
> > --- a/drivers/base/power/opp/core.c
> > +++ b/drivers/base/power/opp/core.c
> > @@ -1627,6 +1627,9 @@ static int _opp_set_availability(struct device *dev, unsigned long freq,
> >
> > opp->available = availability_req;
> >
> > + dev_pm_opp_get(opp);
> > + mutex_unlock(&opp_table->lock);
>
> Does this prevent the OPP from changing while the lock is
> released?
No, its just ref counting and will only prevent it from getting freed.
There is only one thing that can change for an OPP though after it is
created, its availability.
> That would be the only difference from before. It's
> possible that nobody cares about this situation though.
I am not sure if its worth caring for right now :)
Also the notifier chain will not start again until the previous call
chain is finished. So we are kind of synchronized here.
--
viresh
Powered by blists - more mailing lists