[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZXsc5T1G5Y28lVqw@rigel>
Date: Thu, 14 Dec 2023 23:19:01 +0800
From: Kent Gibson <warthog618@...il.com>
To: Andy Shevchenko <andy@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org,
brgl@...ev.pl, linus.walleij@...aro.org
Subject: Re: [PATCH v2 4/5] gpiolib: cdev: reduce locking in
gpio_desc_to_lineinfo()
On Thu, Dec 14, 2023 at 05:10:23PM +0200, Andy Shevchenko wrote:
> On Thu, Dec 14, 2023 at 05:58:13PM +0800, Kent Gibson wrote:
> > Reduce the time holding the gpio_lock by snapshotting the desc flags,
> > rather than testing them individually while holding the lock.
> >
> > Accept that the calculation of the used field is inherently racy, and
> > only check the availability of the line from pinctrl if other checks
> > pass, so avoiding the check for lines that are otherwise in use.
>
> ...
>
> > - spin_lock_irqsave(&gpio_lock, flags);
>
> Shouldn't this be covered by patch 1 (I mean conversion to scoped_guard()
> instead of spinlock)?
>
Read the cover letter.
Doing that made the change larger, as flags gets removed then restored.
I had also thought the flag tests would get indented then unindented, but
if we use guard() the indentation should remain unchanged.
Can do it in 1 if you are happy with the flags declaration being
removed in patch 1 and restored in 4.
Cheers,
Kent.
Powered by blists - more mailing lists