diff mbox series

[6/7] mm/hugetlb add folio_hstate()

Message ID 20220829230014.384722-7-sidhartha.kumar@oracle.com (mailing list archive)
State New
Headers show
Series begin converting hugetlb code to folios | expand

Commit Message

Sidhartha Kumar Aug. 29, 2022, 11 p.m. UTC
Helper function to retrieve hstate information from a hugetlb folio.


Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
---
 include/linux/hugetlb.h | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Mike Kravetz Sept. 1, 2022, 6:34 p.m. UTC | #1
On 08/29/22 16:00, Sidhartha Kumar wrote:
> Helper function to retrieve hstate information from a hugetlb folio.
> 
> 
> Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
> ---
>  include/linux/hugetlb.h | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
> index d8742c5bf454..093b5d32d6b5 100644
> --- a/include/linux/hugetlb.h
> +++ b/include/linux/hugetlb.h
> @@ -815,10 +815,15 @@ static inline pte_t arch_make_huge_pte(pte_t entry, unsigned int shift,
>  }
>  #endif
>  
> +static inline struct hstate *folio_hstate(struct folio *folio)
> +{
> +	VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio);
> +	return size_to_hstate(folio_size(folio));
> +}
> +
>  static inline struct hstate *page_hstate(struct page *page)
>  {
> -	VM_BUG_ON_PAGE(!PageHuge(page), page);
> -	return size_to_hstate(page_size(page));
> +	return folio_hstate(page_folio(page));
>  }
>  
>  static inline unsigned hstate_index_to_shift(unsigned index)
> -- 
> 2.31.1
> 

I would suggest including patch 7 which makes use of folio_hstate.
diff mbox series

Patch

diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index d8742c5bf454..093b5d32d6b5 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -815,10 +815,15 @@  static inline pte_t arch_make_huge_pte(pte_t entry, unsigned int shift,
 }
 #endif
 
+static inline struct hstate *folio_hstate(struct folio *folio)
+{
+	VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio);
+	return size_to_hstate(folio_size(folio));
+}
+
 static inline struct hstate *page_hstate(struct page *page)
 {
-	VM_BUG_ON_PAGE(!PageHuge(page), page);
-	return size_to_hstate(page_size(page));
+	return folio_hstate(page_folio(page));
 }
 
 static inline unsigned hstate_index_to_shift(unsigned index)