Re: [PATCH] mm: introduce __linear_page_index()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



于 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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]