On Wed, 18 Jan 2023 18:35:13 +0000 Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > On Wed, Jan 18, 2023 at 02:26:39PM +0800, Hillf Danton wrote: > > On Tue, Jan 17, 2023 at 10:27 AM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > > > > The cpu_relax() is exactly the wrong thing to do here. See this thread: > > > https://lore.kernel.org/linux-fsdevel/20230113184447.1707316-1-mjguzik@xxxxxxxxx/ > > > > If you are right, feel free to go and remove every cpu_relax() under the > > kernel/locking directory. > > I see you didn't read the whole thread where Linus points out that a > cmpxchg() loop is fundamentally different from a spinlock. Hm... I try hard to sidestep the dilemma - I prefer to follow the voice under the locking directory even given his voice. And in this case, trylock, the failure of acquiring the lock only means fine because it is fine for whoever to become the lock owner.