Re: [PATCH] mm: introduce __linear_page_index()

From: Huang Shijie
Date: Sun Feb 17 2013 - 02:39:43 EST


ä 2013å02æ06æ 05:27, Andrew Morton åé:
On Tue, 5 Feb 2013 15:03:39 +0800
Huang Shijie<b32955@xxxxxxxxxxxxx> wrote:

+static inline pgoff_t __linear_page_index(struct vm_area_struct *vma,
unsigned long address)
{
pgoff_t pgoff;
+
+ pgoff = (address - vma->vm_start)>> PAGE_SHIFT;
+ return pgoff + vma->vm_pgoff;
+}
+
+static inline pgoff_t linear_page_index(struct vm_area_struct *vma,
+ unsigned long address)
+{
if (unlikely(is_vm_hugetlb_page(vma)))
return linear_hugepage_index(vma, address);
- pgoff = (address - vma->vm_start)>> PAGE_SHIFT;
- pgoff += vma->vm_pgoff;
- return pgoff>> (PAGE_CACHE_SHIFT - PAGE_SHIFT);
+ return __linear_page_index(vma, address)>>
+ (PAGE_CACHE_SHIFT - PAGE_SHIFT);
}
I don't think we need bother creating both linear_page_index() and
__linear_page_index(). Realistically, we won't be supporting
Just as Hocko said, the unmap_ref_private() (in hugetlb.c) may also uses the __linear_page_index().
So it's better to the two helpers : linear_page_index() and __linear_page_index().
do you agree?

thanks
Huang Shijie

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