Messages in this thread | | | Date | Thu, 14 Dec 2023 23:19:01 +0800 | From | Kent Gibson <> | 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.
| |