[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAD=FV=WafrkdkwnLofw_S9TYXQ9kQT_ZrMEGGzGnmKA17ypEPQ@mail.gmail.com>
Date: Tue, 4 Aug 2020 21:55:21 -0700
From: Doug Anderson <dianders@...omium.org>
To: Stephen Boyd <swboyd@...omium.org>
Cc: Mark Brown <broonie@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Liam Girdwood <lgirdwood@...il.com>,
Matthias Kaehlcke <mka@...omium.org>
Subject: Re: [PATCH] regulator: Avoid grabbing regulator lock during suspend/resume
Hi,
On Tue, Aug 4, 2020 at 12:08 AM Stephen Boyd <swboyd@...omium.org> wrote:
>
> I see it takes about 5us per regulator to grab the lock, check that this
> regulator isn't going to do anything for suspend, and then release the
> lock. When that is combined with PMICs that have dozens of regulators we
> get into a state where we spend a few miliseconds doing a bunch of
> locking operations synchronously to figure out that there's nothing to
> do. Let's reorganize the code here a bit so that we don't grab the lock
> until we're actually going to do something so that suspend is a little
> faster.
>
> Cc: Matthias Kaehlcke <mka@...omium.org>
> Cc: Douglas Anderson <dianders@...omium.org>
> Signed-off-by: Stephen Boyd <swboyd@...omium.org>
> ---
> drivers/regulator/core.c | 75 +++++++++++++++++++++++++++-------------
> 1 file changed, 51 insertions(+), 24 deletions(-)
Looks good to me. Agree that getting a pointer to the relevant
"struct regulator_state" and checking whether some details about it
and our ops should be safe to do without a lock. Patch looks clean
and correct.
Reviewed-by: Douglas Anderson <dianders@...omium.org>
Powered by blists - more mailing lists