Subject: [RFC PATCH V2 4/4] arm64: mm: implement get_user_pages_fast

From: [email-masked] (Catalin Marinas)
Date: Tue, 11 Feb 2014 15:48:59 +0000

On Thu, Feb 06, 2014 at 04:18:51PM +0000, Steve Capper wrote:
> An implementation of get_user_pages_fast for arm64. It is based on the
> arm implementation (it has the added ability to walk huge puds) which
> is loosely on the PowerPC implementation. We disable interrupts in the
> walker to prevent the call_rcu_sched pagetable freeing code from
> running under us.
> 
> We also explicitly fire an IPI in the Transparent HugePage splitting
> case to prevent splits from interfering with the fast_gup walker.
> As THP splits are relatively rare, this should not have a noticable
> overhead.
> 
> Signed-off-by: Steve Capper <[email-masked]>
> ---
>  arch/arm64/include/asm/pgtable.h |   4 +
>  arch/arm64/mm/Makefile           |   2 +-
>  arch/arm64/mm/gup.c              | 297 +++++++++++++++++++++++++++++++++++++++

Why don't you make a generic gup.c implementation and let architectures
select it? I don't see much arm64-specific code in here.

-- 
Catalin