Re: [RFC v3 03/17] mm: Introduce pte_spinlock

From: Matthew Wilcox
Date: Sun Apr 30 2017 - 00:49:22 EST


On Thu, Apr 27, 2017 at 05:52:42PM +0200, Laurent Dufour wrote:
> +++ b/mm/memory.c
> @@ -2100,6 +2100,13 @@ static inline void wp_page_reuse(struct vm_fault *vmf)
> pte_unmap_unlock(vmf->pte, vmf->ptl);
> }
>
> +static bool pte_spinlock(struct vm_fault *vmf)
> +{
> + vmf->ptl = pte_lockptr(vmf->vma->vm_mm, vmf->pmd);
> + spin_lock(vmf->ptl);
> + return true;
> +}

To me 'pte_spinlock' is a noun, but this is really pte_spin_lock() (a verb).

Actually, it's really vmf_lock_pte(). We're locking the pte
referred to by this vmf. And so we should probably have a matching
vmf_unlock_pte(vmf) to preserve the abstraction.