Call page_to_pgoff() to get the page offset once we are
sure we actually need it, and any very obvious initial
function checks have passed. Trivial micro-optimization,
and potentially save some cycles.

Signed-off-by: Davidlohr Bueso <dbu...@suse.de>
---
 mm/rmap.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/mm/rmap.c b/mm/rmap.c
index a5e9cc6..e3354b2 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1633,7 +1633,7 @@ static struct anon_vma *rmap_walk_anon_lock(struct page 
*page,
 static int rmap_walk_anon(struct page *page, struct rmap_walk_control *rwc)
 {
        struct anon_vma *anon_vma;
-       pgoff_t pgoff = page_to_pgoff(page);
+       pgoff_t pgoff;
        struct anon_vma_chain *avc;
        int ret = SWAP_AGAIN;
 
@@ -1641,6 +1641,7 @@ static int rmap_walk_anon(struct page *page, struct 
rmap_walk_control *rwc)
        if (!anon_vma)
                return ret;
 
+       pgoff = page_to_pgoff(page);
        anon_vma_interval_tree_foreach(avc, &anon_vma->rb_root, pgoff, pgoff) {
                struct vm_area_struct *vma = avc->vma;
                unsigned long address = vma_address(page, vma);
@@ -1674,7 +1675,7 @@ static int rmap_walk_anon(struct page *page, struct 
rmap_walk_control *rwc)
 static int rmap_walk_file(struct page *page, struct rmap_walk_control *rwc)
 {
        struct address_space *mapping = page->mapping;
-       pgoff_t pgoff = page_to_pgoff(page);
+       pgoff_t pgoff;
        struct vm_area_struct *vma;
        int ret = SWAP_AGAIN;
 
@@ -1689,6 +1690,7 @@ static int rmap_walk_file(struct page *page, struct 
rmap_walk_control *rwc)
        if (!mapping)
                return ret;
 
+       pgoff = page_to_pgoff(page);
        i_mmap_lock_read(mapping);
        vma_interval_tree_foreach(vma, &mapping->i_mmap, pgoff, pgoff) {
                unsigned long address = vma_address(page, vma);
-- 
1.8.4.5


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to