diff mbox series

[v2,1/9] userfaultfd/hugetlbfs: avoid including userfaultfd_k.h in hugetlb.h

Message ID 20210413051721.2896915-2-axelrasmussen@google.com
State Superseded
Headers show
Series [v2,1/9] userfaultfd/hugetlbfs: avoid including userfaultfd_k.h in hugetlb.h | expand

Commit Message

Axel Rasmussen April 13, 2021, 5:17 a.m. UTC
Minimizing header file inclusion is desirable. In this case, we can do
so just by forward declaring the enumeration our signature relies upon.

Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
---
 include/linux/hugetlb.h | 4 +++-
 mm/hugetlb.c            | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

Comments

Hugh Dickins April 14, 2021, 6:43 a.m. UTC | #1
On Mon, 12 Apr 2021, Axel Rasmussen wrote:

> Minimizing header file inclusion is desirable. In this case, we can do

> so just by forward declaring the enumeration our signature relies upon.

> 

> Reviewed-by: Peter Xu <peterx@redhat.com>

> Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>

> ---

>  include/linux/hugetlb.h | 4 +++-

>  mm/hugetlb.c            | 1 +

>  2 files changed, 4 insertions(+), 1 deletion(-)

> 

> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h

> index 09f1fd12a6fa..3f47650ab79b 100644

> --- a/include/linux/hugetlb.h

> +++ b/include/linux/hugetlb.h

> @@ -11,7 +11,6 @@

>  #include <linux/kref.h>

>  #include <linux/pgtable.h>

>  #include <linux/gfp.h>

> -#include <linux/userfaultfd_k.h>

>  

>  struct ctl_table;

>  struct user_struct;

> @@ -135,6 +134,8 @@ void hugetlb_show_meminfo(void);

>  unsigned long hugetlb_total_pages(void);

>  vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,

>  			unsigned long address, unsigned int flags);

> +

> +enum mcopy_atomic_mode;


Wrongly placed: the CONFIG_USERFAULTFD=y CONFIG_HUGETLB_PAGE=n build
fails. Better place it up above with struct ctl_table etc.

>  #ifdef CONFIG_USERFAULTFD

>  int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte,

>  				struct vm_area_struct *dst_vma,

> @@ -143,6 +144,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte,

>  				enum mcopy_atomic_mode mode,

>  				struct page **pagep);

>  #endif /* CONFIG_USERFAULTFD */

> +

>  bool hugetlb_reserve_pages(struct inode *inode, long from, long to,

>  						struct vm_area_struct *vma,

>  						vm_flags_t vm_flags);

> diff --git a/mm/hugetlb.c b/mm/hugetlb.c

> index 54d81d5947ed..b1652e747318 100644

> --- a/mm/hugetlb.c

> +++ b/mm/hugetlb.c

> @@ -40,6 +40,7 @@

>  #include <linux/hugetlb_cgroup.h>

>  #include <linux/node.h>

>  #include <linux/page_owner.h>

> +#include <linux/userfaultfd_k.h>

>  #include "internal.h"

>  

>  int hugetlb_max_hstate __read_mostly;

> -- 

> 2.31.1.295.g9ea45b61b8-goog

> 

>
diff mbox series

Patch

diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index 09f1fd12a6fa..3f47650ab79b 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -11,7 +11,6 @@ 
 #include <linux/kref.h>
 #include <linux/pgtable.h>
 #include <linux/gfp.h>
-#include <linux/userfaultfd_k.h>
 
 struct ctl_table;
 struct user_struct;
@@ -135,6 +134,8 @@  void hugetlb_show_meminfo(void);
 unsigned long hugetlb_total_pages(void);
 vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
 			unsigned long address, unsigned int flags);
+
+enum mcopy_atomic_mode;
 #ifdef CONFIG_USERFAULTFD
 int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte,
 				struct vm_area_struct *dst_vma,
@@ -143,6 +144,7 @@  int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte,
 				enum mcopy_atomic_mode mode,
 				struct page **pagep);
 #endif /* CONFIG_USERFAULTFD */
+
 bool hugetlb_reserve_pages(struct inode *inode, long from, long to,
 						struct vm_area_struct *vma,
 						vm_flags_t vm_flags);
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 54d81d5947ed..b1652e747318 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -40,6 +40,7 @@ 
 #include <linux/hugetlb_cgroup.h>
 #include <linux/node.h>
 #include <linux/page_owner.h>
+#include <linux/userfaultfd_k.h>
 #include "internal.h"
 
 int hugetlb_max_hstate __read_mostly;