Messages in this thread Patch in this message | | | From | Christophe JAILLET <> | Subject | [PATCH v2] mm/mremap_pages: Save a few cycles in get_dev_pagemap() | Date | Fri, 2 Sep 2022 18:39:52 +0200 |
| |
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.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- Matthew Wilcox <willy@infradead.org> commented on v1 that it is just a slow path... but it is also just an easy patch :)
If considered as useless, let me know and I'll drop it from my WIP list.
Changes in v2: * (no code change) * synch with latest -next
v1: https://lore.kernel.org/all/b4a47154877853cc64be3a35dcfd594d40cc2bce.1635975283.git.christophe.jaillet@wanadoo.fr/ --- mm/memremap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/memremap.c b/mm/memremap.c index 58b20c3c300b..25029a474d30 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(); -- 2.34.1
| |