Hi Axel, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on arm64/for-next/core] [also build test WARNING on powerpc/next s390/features tip/perf/core linus/master v5.11-rc5 next-20210122] [cannot apply to hp-parisc/for-next hnaz-linux-mm/master ia64/next sparc-next/master sparc/master] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Axel-Rasmussen/userfaultfd-add-minor-fault-handling/20210125-104035 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: x86_64-randconfig-a013-20210125 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 12d0753aca22896fda2cf76781b0ee0524d55065) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install x86_64 cross compiling tool for clang build # apt-get install binutils-x86-64-linux-gnu # https://github.com/0day-ci/linux/commit/b8fb53c3a341b9b853aa3286286c807088311dbd git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Axel-Rasmussen/userfaultfd-add-minor-fault-handling/20210125-104035 git checkout b8fb53c3a341b9b853aa3286286c807088311dbd # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): In file included from kernel/sched/core.c:13: In file included from kernel/sched/sched.h:53: In file included from include/linux/migrate.h:8: >> include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ kernel/sched/core.c:2884:20: warning: unused function 'rq_has_pinned_tasks' [-Wunused-function] static inline bool rq_has_pinned_tasks(struct rq *rq) ^ kernel/sched/core.c:4687:20: warning: unused function 'sched_tick_start' [-Wunused-function] static inline void sched_tick_start(int cpu) { } ^ kernel/sched/core.c:4688:20: warning: unused function 'sched_tick_stop' [-Wunused-function] static inline void sched_tick_stop(int cpu) { } ^ 4 warnings generated. -- In file included from kernel/sched/loadavg.c:9: In file included from kernel/sched/sched.h:53: In file included from include/linux/migrate.h:8: >> include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ 1 warning generated. -- In file included from kernel/sched/fair.c:23: In file included from kernel/sched/sched.h:53: In file included from include/linux/migrate.h:8: >> include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ kernel/sched/fair.c:5388:6: warning: no previous prototype for function 'init_cfs_bandwidth' [-Wmissing-prototypes] void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {} ^ kernel/sched/fair.c:5388:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {} ^ static kernel/sched/fair.c:11195:6: warning: no previous prototype for function 'free_fair_sched_group' [-Wmissing-prototypes] void free_fair_sched_group(struct task_group *tg) { } ^ kernel/sched/fair.c:11195:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void free_fair_sched_group(struct task_group *tg) { } ^ static kernel/sched/fair.c:11197:5: warning: no previous prototype for function 'alloc_fair_sched_group' [-Wmissing-prototypes] int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent) ^ kernel/sched/fair.c:11197:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent) ^ static kernel/sched/fair.c:11202:6: warning: no previous prototype for function 'online_fair_sched_group' [-Wmissing-prototypes] void online_fair_sched_group(struct task_group *tg) { } ^ kernel/sched/fair.c:11202:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void online_fair_sched_group(struct task_group *tg) { } ^ static kernel/sched/fair.c:11204:6: warning: no previous prototype for function 'unregister_fair_sched_group' [-Wmissing-prototypes] void unregister_fair_sched_group(struct task_group *tg) { } ^ kernel/sched/fair.c:11204:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void unregister_fair_sched_group(struct task_group *tg) { } ^ static kernel/sched/fair.c:486:20: warning: unused function 'list_del_leaf_cfs_rq' [-Wunused-function] static inline void list_del_leaf_cfs_rq(struct cfs_rq *cfs_rq) ^ kernel/sched/fair.c:2985:20: warning: unused function 'account_numa_enqueue' [-Wunused-function] static inline void account_numa_enqueue(struct rq *rq, struct task_struct *p) ^ kernel/sched/fair.c:2989:20: warning: unused function 'account_numa_dequeue' [-Wunused-function] static inline void account_numa_dequeue(struct rq *rq, struct task_struct *p) ^ kernel/sched/fair.c:2993:20: warning: unused function 'update_scan_period' [-Wunused-function] static inline void update_scan_period(struct task_struct *p, int new_cpu) ^ kernel/sched/fair.c:4083:20: warning: unused function 'remove_entity_load_avg' [-Wunused-function] static inline void remove_entity_load_avg(struct sched_entity *se) {} ^ kernel/sched/fair.c:5369:20: warning: unused function 'sync_throttle' [-Wunused-function] static inline void sync_throttle(struct task_group *tg, int cpu) {} ^ kernel/sched/fair.c:5382:19: warning: unused function 'throttled_lb_pair' [-Wunused-function] static inline int throttled_lb_pair(struct task_group *tg, ^ kernel/sched/fair.c:5394:37: warning: unused function 'tg_cfs_bandwidth' [-Wunused-function] static inline struct cfs_bandwidth *tg_cfs_bandwidth(struct task_group *tg) ^ kernel/sched/fair.c:5398:20: warning: unused function 'destroy_cfs_bandwidth' [-Wunused-function] static inline void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b) {} ^ kernel/sched/fair.c:5399:20: warning: unused function 'update_runtime_enabled' [-Wunused-function] static inline void update_runtime_enabled(struct rq *rq) {} ^ kernel/sched/fair.c:5400:20: warning: unused function 'unthrottle_offline_cfs_rqs' [-Wunused-function] static inline void unthrottle_offline_cfs_rqs(struct rq *rq) {} ^ 17 warnings generated. -- In file included from kernel/sched/rt.c:6: In file included from kernel/sched/sched.h:53: In file included from include/linux/migrate.h:8: >> include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ kernel/sched/rt.c:253:6: warning: no previous prototype for function 'free_rt_sched_group' [-Wmissing-prototypes] void free_rt_sched_group(struct task_group *tg) { } ^ kernel/sched/rt.c:253:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void free_rt_sched_group(struct task_group *tg) { } ^ static kernel/sched/rt.c:255:5: warning: no previous prototype for function 'alloc_rt_sched_group' [-Wmissing-prototypes] int alloc_rt_sched_group(struct task_group *tg, struct task_group *parent) ^ kernel/sched/rt.c:255:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int alloc_rt_sched_group(struct task_group *tg, struct task_group *parent) ^ static kernel/sched/rt.c:669:6: warning: no previous prototype for function 'sched_rt_bandwidth_account' [-Wmissing-prototypes] bool sched_rt_bandwidth_account(struct rt_rq *rt_rq) ^ kernel/sched/rt.c:669:1: note: declare 'static' if the function is not intended to be used outside of this translation unit bool sched_rt_bandwidth_account(struct rt_rq *rt_rq) ^ static kernel/sched/rt.c:421:20: warning: unused function 'need_pull_rt_task' [-Wunused-function] static inline bool need_pull_rt_task(struct rq *rq, struct task_struct *prev) ^ kernel/sched/rt.c:426:20: warning: unused function 'pull_rt_task' [-Wunused-function] static inline void pull_rt_task(struct rq *this_rq) ^ kernel/sched/rt.c:476:20: warning: unused function 'rt_task_fits_capacity' [-Wunused-function] static inline bool rt_task_fits_capacity(struct task_struct *p, int cpu) ^ kernel/sched/rt.c:1113:6: warning: unused function 'inc_rt_prio_smp' [-Wunused-function] void inc_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) {} ^ kernel/sched/rt.c:1115:6: warning: unused function 'dec_rt_prio_smp' [-Wunused-function] void dec_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) {} ^ 9 warnings generated. -- In file included from kernel/sched/deadline.c:18: In file included from kernel/sched/sched.h:53: In file included from include/linux/migrate.h:8: >> include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ kernel/sched/deadline.c:700:20: warning: unused function 'need_pull_dl_task' [-Wunused-function] static inline bool need_pull_dl_task(struct rq *rq, struct task_struct *prev) ^ kernel/sched/deadline.c:705:20: warning: unused function 'pull_dl_task' [-Wunused-function] static inline void pull_dl_task(struct rq *rq) ^ 3 warnings generated. -- In file included from mm/page_alloc.c:61: In file included from include/linux/migrate.h:8: >> include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ mm/page_alloc.c:3597:15: warning: no previous prototype for function 'should_fail_alloc_page' [-Wmissing-prototypes] noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) ^ mm/page_alloc.c:3597:10: note: declare 'static' if the function is not intended to be used outside of this translation unit noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) ^ static mm/page_alloc.c:6258:23: warning: no previous prototype for function 'memmap_init' [-Wmissing-prototypes] void __meminit __weak memmap_init(unsigned long size, int nid, ^ mm/page_alloc.c:6258:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void __meminit __weak memmap_init(unsigned long size, int nid, ^ static 3 warnings generated. -- In file included from mm/hugetlb.c:39: >> include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ >> mm/hugetlb.c:4659:13: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ mm/hugetlb.c:4654:5: error: conflicting types for 'hugetlb_mcopy_atomic_pte' int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, ^ include/linux/hugetlb.h:138:5: note: previous declaration is here int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte, ^ mm/hugetlb.c:4659:31: error: variable has incomplete type 'enum mcopy_atomic_mode' enum mcopy_atomic_mode mode, ^ mm/hugetlb.c:4659:13: note: forward declaration of 'enum mcopy_atomic_mode' enum mcopy_atomic_mode mode, ^ mm/hugetlb.c:4675:25: error: use of undeclared identifier 'MCOPY_ATOMIC_CONTINUE' if (!*pagep && mode != MCOPY_ATOMIC_CONTINUE) { ^ mm/hugetlb.c:4692:21: error: use of undeclared identifier 'MCOPY_ATOMIC_CONTINUE' } else if (mode == MCOPY_ATOMIC_CONTINUE) { ^ mm/hugetlb.c:4711:27: error: use of undeclared identifier 'MCOPY_ATOMIC_CONTINUE' if (vm_shared && mode != MCOPY_ATOMIC_CONTINUE) { ^ mm/hugetlb.c:4771:14: error: use of undeclared identifier 'MCOPY_ATOMIC_CONTINUE' if (mode != MCOPY_ATOMIC_CONTINUE) ^ 2 warnings and 6 errors generated. -- In file included from mm/z3fold.c:33: In file included from include/linux/migrate.h:8: >> include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] enum mcopy_atomic_mode mode, ^ mm/z3fold.c:287:37: warning: unused function 'handle_to_z3fold_header' [-Wunused-function] static inline struct z3fold_header *handle_to_z3fold_header(unsigned long h) ^ 2 warnings generated. vim +142 include/linux/hugetlb.h 108 109 void reset_vma_resv_huge_pages(struct vm_area_struct *vma); 110 int hugetlb_sysctl_handler(struct ctl_table *, int, void *, size_t *, loff_t *); 111 int hugetlb_overcommit_handler(struct ctl_table *, int, void *, size_t *, 112 loff_t *); 113 int hugetlb_treat_movable_handler(struct ctl_table *, int, void *, size_t *, 114 loff_t *); 115 int hugetlb_mempolicy_sysctl_handler(struct ctl_table *, int, void *, size_t *, 116 loff_t *); 117 118 int copy_hugetlb_page_range(struct mm_struct *, struct mm_struct *, struct vm_area_struct *); 119 long follow_hugetlb_page(struct mm_struct *, struct vm_area_struct *, 120 struct page **, struct vm_area_struct **, 121 unsigned long *, unsigned long *, long, unsigned int, 122 int *); 123 void unmap_hugepage_range(struct vm_area_struct *, 124 unsigned long, unsigned long, struct page *); 125 void __unmap_hugepage_range_final(struct mmu_gather *tlb, 126 struct vm_area_struct *vma, 127 unsigned long start, unsigned long end, 128 struct page *ref_page); 129 void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, 130 unsigned long start, unsigned long end, 131 struct page *ref_page); 132 void hugetlb_report_meminfo(struct seq_file *); 133 int hugetlb_report_node_meminfo(char *buf, int len, int nid); 134 void hugetlb_show_meminfo(void); 135 unsigned long hugetlb_total_pages(void); 136 vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, 137 unsigned long address, unsigned int flags); 138 int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte, 139 struct vm_area_struct *dst_vma, 140 unsigned long dst_addr, 141 unsigned long src_addr, > 142 enum mcopy_atomic_mode mode, 143 struct page **pagep); 144 int hugetlb_reserve_pages(struct inode *inode, long from, long to, 145 struct vm_area_struct *vma, 146 vm_flags_t vm_flags); 147 long hugetlb_unreserve_pages(struct inode *inode, long start, long end, 148 long freed); 149 bool isolate_huge_page(struct page *page, struct list_head *list); 150 void putback_active_hugepage(struct page *page); 151 void move_hugetlb_state(struct page *oldpage, struct page *newpage, int reason); 152 void free_huge_page(struct page *page); 153 void hugetlb_fix_reserve_counts(struct inode *inode); 154 extern struct mutex *hugetlb_fault_mutex_table; 155 u32 hugetlb_fault_mutex_hash(struct address_space *mapping, pgoff_t idx); 156 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip