Re: [PATCH 16/24] alpha: select HAVE_GUP_FAST
From: Magnus Lindholm
Date: Wed Sep 02 2026 - 17:16:51 EST
Hi Matt,
On Tue, Sep 1, 2026 at 5:51 PM Matt Turner <mattst88@xxxxxxxxx> wrote:
>
> The lockless GUP fast path needs the architecture to distinguish PTEs
> with no struct page behind them and to keep page table pages alive while
> a walker holds no lock. Alpha now has ARCH_HAS_PTE_SPECIAL, and it has
> selected MMU_GATHER_RCU_TABLE_FREE for a long time, so both requirements
> are met.
>
> PTEs are a single 64-bit word on Alpha, so the lockless reads that the
> generic walker performs cannot tear, and no arch-specific
> gup_fast_permitted() or ptep_get_lockless() is needed.
>
> Assisted-by: Claude:claude-opus-5
> Signed-off-by: Matt Turner <mattst88@xxxxxxxxx>
I tested this on an Alpha UP2000 with CONFIG_HAVE_GUP_FAST=y,
CONFIG_ARCH_HAS_PTE_SPECIAL=y, and
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y.
The in-tree gup_test completed the get_user_pages_fast() and
pin_user_pages_fast() benchmarks with both read-only and writable pins.
Each case ran ten iterations over a 16 MiB mapping, fetching 123 pages
per call.
All four cases completed with ioctl status 0 and no failures.
Tested-by: Magnus Lindholm <linmag7@xxxxxxxxx>
Reviewed-by: Magnus Lindholm <linmag7@xxxxxxxxx>