Re: [PATCH] mm: make ref_unless functions unless_zero only
From: Zi Yan
Date: Fri Feb 06 2026 - 10:46:25 EST
On 6 Feb 2026, at 8:33, Gladyshev Ilya wrote:
> There are no users of (folio/page)_ref_add_unless(page, nr, u) with
> u != 0 [1] and all current users are "internal" for page refcounting API.
> This allows us to safely drop this parameter and reduce function
> semantics to the "unless zero" cases only, which will be optimized in
> the following patch.
>
> If needed, these functions for the u!=0 cases can be trivially
> reintroduced later using the same atomic_add_unless operations as before.
>
> [1]: The last user was dropped in v5.18 kernel, commit 27674ef6c73f
> ("mm: remove the extra ZONE_DEVICE struct page refcount"). There is no
> trace of discussion as to why this cleanup wasn't done earlier.
>
> Co-developed-by: Gorbunov Ivan <gorbunov.ivan@xxxxxxxxxxxxxx>
> Signed-off-by: Gorbunov Ivan <gorbunov.ivan@xxxxxxxxxxxxxx>
> Signed-off-by: Gladyshev Ilya <gladyshev.ilya1@xxxxxxxxxxxxxx>
> Acked-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
> ---
> include/linux/mm.h | 2 +-
> include/linux/page-flags.h | 6 +++---
> include/linux/page_ref.h | 14 +++++++-------
> 3 files changed, 11 insertions(+), 11 deletions(-)
>
Acked-by: Zi Yan <ziy@xxxxxxxxxx>
Best Regards,
Yan, Zi