Message ID | 20210429132648.305447-2-linmiaohe@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Cleanup and fixup for huge_memory | expand |
On 29.04.21 15:26, Miaohe Lin wrote: > Rewrite the pgoff checking logic to remove macro HPAGE_CACHE_INDEX_MASK > which is only used here to simplify the code. > > Reviewed-by: Yang Shi <shy828301@gmail.com> > Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> > Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> > --- > include/linux/huge_mm.h | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index 9626fda5efce..0a526f211fec 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -152,15 +152,13 @@ static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma) > > bool transparent_hugepage_enabled(struct vm_area_struct *vma); > > -#define HPAGE_CACHE_INDEX_MASK (HPAGE_PMD_NR - 1) > - > static inline bool transhuge_vma_suitable(struct vm_area_struct *vma, > unsigned long haddr) > { > /* Don't have to check pgoff for anonymous vma */ > if (!vma_is_anonymous(vma)) { > - if (((vma->vm_start >> PAGE_SHIFT) & HPAGE_CACHE_INDEX_MASK) != > - (vma->vm_pgoff & HPAGE_CACHE_INDEX_MASK)) > + if (!IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, > + HPAGE_PMD_NR)) > return false; I'd have used if (!IS_ALIGNED(PHYS_PFN(vma->vm_start) - vma->vm_pgoff, Reviewed-by: David Hildenbrand <david@redhat.com>
On 2021/4/29 22:48, David Hildenbrand wrote: > On 29.04.21 15:26, Miaohe Lin wrote: >> Rewrite the pgoff checking logic to remove macro HPAGE_CACHE_INDEX_MASK >> which is only used here to simplify the code. >> >> Reviewed-by: Yang Shi <shy828301@gmail.com> >> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> >> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> >> --- >> include/linux/huge_mm.h | 6 ++---- >> 1 file changed, 2 insertions(+), 4 deletions(-) >> >> diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h >> index 9626fda5efce..0a526f211fec 100644 >> --- a/include/linux/huge_mm.h >> +++ b/include/linux/huge_mm.h >> @@ -152,15 +152,13 @@ static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma) >> bool transparent_hugepage_enabled(struct vm_area_struct *vma); >> -#define HPAGE_CACHE_INDEX_MASK (HPAGE_PMD_NR - 1) >> - >> static inline bool transhuge_vma_suitable(struct vm_area_struct *vma, >> unsigned long haddr) >> { >> /* Don't have to check pgoff for anonymous vma */ >> if (!vma_is_anonymous(vma)) { >> - if (((vma->vm_start >> PAGE_SHIFT) & HPAGE_CACHE_INDEX_MASK) != >> - (vma->vm_pgoff & HPAGE_CACHE_INDEX_MASK)) >> + if (!IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, >> + HPAGE_PMD_NR)) >> return false; > > I'd have used > > if (!IS_ALIGNED(PHYS_PFN(vma->vm_start) - vma->vm_pgoff, > It's because I want keep the code style consistent with hugepage_vma_check(). There is similiar code in hugepage_vma_check(): return IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, HPAGE_PMD_NR); > Reviewed-by: David Hildenbrand <david@redhat.com> Many thanks for review! >
diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index 9626fda5efce..0a526f211fec 100644 --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h @@ -152,15 +152,13 @@ static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma) bool transparent_hugepage_enabled(struct vm_area_struct *vma); -#define HPAGE_CACHE_INDEX_MASK (HPAGE_PMD_NR - 1) - static inline bool transhuge_vma_suitable(struct vm_area_struct *vma, unsigned long haddr) { /* Don't have to check pgoff for anonymous vma */ if (!vma_is_anonymous(vma)) { - if (((vma->vm_start >> PAGE_SHIFT) & HPAGE_CACHE_INDEX_MASK) != - (vma->vm_pgoff & HPAGE_CACHE_INDEX_MASK)) + if (!IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, + HPAGE_PMD_NR)) return false; }