Re: [External] Re: [PATCH] mm/z3fold: remove unneeded spinlock

From: Zhongkun He
Date: Sun Feb 04 2024 - 20:08:27 EST


On Mon, Feb 5, 2024 at 2:46 AM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
>
> On Sun, Feb 04, 2024 at 08:54:04PM +0800, Zhongkun He wrote:
> > There is no need to use spinlock in this section, so
> > remove it.
>
> I don't know this code at all, but the idiom is (relatively) common.
> It waits until anybody _currently_ holding the lock has released it.
>
> That would, eg, make it safe to free the 'pool' memory.
>
> > - spin_lock(&pool->lock);
> > - spin_unlock(&pool->lock);
>

no, please see the commit 'e774a7bc7f0adb'.

spin_lock(&pool->lock);
- if (!list_empty(&page->lru))
- list_del_init(&page->lru);
spin_unlock(&pool->lock);

The original purpose of this lock was to protect page->lru,
which was removed now, so the spinlock is unnecessary.

Thanks for your time.