Re: [PATCH 05/20] mm: zswap: clean up zswap_entry_put()

From: Yosry Ahmed
Date: Tue Jan 30 2024 - 02:52:03 EST


On Mon, Jan 29, 2024 at 08:36:41PM -0500, Johannes Weiner wrote:
> Remove stale comment and unnecessary local variable.
>
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> ---
> mm/zswap.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/mm/zswap.c b/mm/zswap.c
> index 0c6adaf2fdb6..7a7e8da2b4f8 100644
> --- a/mm/zswap.c
> +++ b/mm/zswap.c
> @@ -546,15 +546,11 @@ static void zswap_entry_get(struct zswap_entry *entry)
> entry->refcount++;
> }
>
> -/* caller must hold the tree lock
> -* remove from the tree and free it, if nobody reference the entry
> -*/
> +/* caller must hold the tree lock */

We should replace all those "caller must hold the tree lock" comments
with lockdep_assert_held() or assert_spin_locked() or something.

I can send follow up patches on top if you don't want to resend this
series.

> static void zswap_entry_put(struct zswap_entry *entry)
> {
> - int refcount = --entry->refcount;
> -
> - WARN_ON_ONCE(refcount < 0);
> - if (refcount == 0) {
> + WARN_ON_ONCE(!entry->refcount);
> + if (--entry->refcount == 0) {
> WARN_ON_ONCE(!RB_EMPTY_NODE(&entry->rbnode));
> zswap_entry_free(entry);
> }
> --
> 2.43.0
>