From: Christophe JAILLET Date: Fri, 2 Sep 2022 16:39:52 +0000 (+0200) Subject: mm/mremap_pages: save a few cycles in get_dev_pagemap() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e7b72c48d677c244aae5aee1a72bc57b84fd495c;p=linux.git mm/mremap_pages: save a few cycles in get_dev_pagemap() Use 'percpu_ref_tryget_live_rcu()' instead of 'percpu_ref_tryget_live()' to save a few cycles when it is known that the rcu lock is already taken/released. Link: https://lkml.kernel.org/r/9ef1562a1975371360f3e263856e9f1c5749b656.1662136782.git.christophe.jaillet@wanadoo.fr Signed-off-by: Christophe JAILLET Cc: Matthew Wilcox Signed-off-by: Andrew Morton --- diff --git a/mm/memremap.c b/mm/memremap.c index 58b20c3c300b8..25029a474d30b 100644 --- a/mm/memremap.c +++ b/mm/memremap.c @@ -454,7 +454,7 @@ struct dev_pagemap *get_dev_pagemap(unsigned long pfn, /* fall back to slow path lookup */ rcu_read_lock(); pgmap = xa_load(&pgmap_array, PHYS_PFN(phys)); - if (pgmap && !percpu_ref_tryget_live(&pgmap->ref)) + if (pgmap && !percpu_ref_tryget_live_rcu(&pgmap->ref)) pgmap = NULL; rcu_read_unlock();