Re: [PATCH 09/20] mm: zswap: simplify zswap_invalidate()

From: Chengming Zhou
Date: Mon Jan 29 2024 - 22:36:07 EST


On 2024/1/30 09:36, Johannes Weiner wrote:
> The branching is awkward and duplicates code. The comment about
> writeback is also misleading: yes, the entry might have been written
> back. Or it might have never been stored in zswap to begin with due to
> a rejection - zswap_invalidate() is called on all exiting swap entries.
>
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>

Reviewed-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx>

> ---
> mm/zswap.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/mm/zswap.c b/mm/zswap.c
> index cde309c539b3..082d076a758d 100644
> --- a/mm/zswap.c
> +++ b/mm/zswap.c
> @@ -1739,15 +1739,10 @@ void zswap_invalidate(int type, pgoff_t offset)
> struct zswap_tree *tree = swap_zswap_tree(swp_entry(type, offset));
> struct zswap_entry *entry;
>
> - /* find */
> spin_lock(&tree->lock);
> entry = zswap_rb_search(&tree->rbroot, offset);
> - if (!entry) {
> - /* entry was written back */
> - spin_unlock(&tree->lock);
> - return;
> - }
> - zswap_invalidate_entry(tree, entry);
> + if (entry)
> + zswap_invalidate_entry(tree, entry);
> spin_unlock(&tree->lock);
> }
>