* [linux-next:master 6447/7105] mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
@ 2024-06-20 15:55 kernel test robot
2024-06-21 3:17 ` Kefeng Wang
0 siblings, 1 reply; 5+ messages in thread
From: kernel test robot @ 2024-06-20 15:55 UTC (permalink / raw)
To: Kefeng Wang; +Cc: oe-kbuild-all, Linux Memory Management List, Andrew Morton
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 2102cb0d050d34d50b9642a3a50861787527e922
commit: f85385e70cb4bbb569298830fdf0a3d8325de36d [6447/7105] mm: add folio_alloc_mpol()
config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406202319.pBcCfVar-lkp@intel.com/
All errors (new ones prefixed by >>):
| ^~
mm/mempolicy.c:2058:35: error: 'struct mempolicy' has no member named 'home_node'
2058 | *nid = pol->home_node;
| ^~
mm/mempolicy.c:2063:60: error: 'struct mempolicy' has no member named 'nodes'
2063 | cpuset_nodemask_valid_mems_allowed(&pol->nodes))
| ^~
mm/mempolicy.c:2064:40: error: 'struct mempolicy' has no member named 'nodes'
2064 | nodemask = &pol->nodes;
| ^~
mm/mempolicy.c:2065:24: error: 'struct mempolicy' has no member named 'home_node'
2065 | if (pol->home_node != NUMA_NO_NODE)
| ^~
mm/mempolicy.c:2066:35: error: 'struct mempolicy' has no member named 'home_node'
2066 | *nid = pol->home_node;
| ^~
mm/mempolicy.c: At top level:
mm/mempolicy.c:2172:6: warning: no previous prototype for 'mempolicy_in_oom_domain' [-Wmissing-prototypes]
2172 | bool mempolicy_in_oom_domain(struct task_struct *tsk,
| ^~~~~~~~~~~~~~~~~~~~~~~
mm/mempolicy.c: In function 'mempolicy_in_oom_domain':
mm/mempolicy.c:2182:26: error: 'struct task_struct' has no member named 'mempolicy'; did you mean 'policy'?
2182 | mempolicy = tsk->mempolicy;
| ^~~~~~~~~
| policy
mm/mempolicy.c:2183:35: error: 'struct mempolicy' has no member named 'mode'
2183 | if (mempolicy && mempolicy->mode == MPOL_BIND)
| ^~
mm/mempolicy.c:2184:49: error: 'struct mempolicy' has no member named 'nodes'
2184 | ret = nodes_intersects(mempolicy->nodes, *mask);
| ^~
include/linux/nodemask.h:211:46: note: in definition of macro 'nodes_intersects'
211 | __nodes_intersects(&(src1), &(src2), MAX_NUMNODES)
| ^~~~
mm/mempolicy.c: At top level:
mm/mempolicy.c:2221:14: error: redefinition of 'alloc_pages_mpol_noprof'
2221 | struct page *alloc_pages_mpol_noprof(gfp_t gfp, unsigned int order,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/slab.h:16,
from include/linux/mempolicy.h:11:
include/linux/gfp.h:315:28: note: previous definition of 'alloc_pages_mpol_noprof' with type 'struct page *(gfp_t, unsigned int, struct mempolicy *, long unsigned int, int)' {aka 'struct page *(unsigned int, unsigned int, struct mempolicy *, long unsigned int, int)'}
315 | static inline struct page *alloc_pages_mpol_noprof(gfp_t gfp, unsigned int order,
| ^~~~~~~~~~~~~~~~~~~~~~~
mm/mempolicy.c: In function 'alloc_pages_mpol_noprof':
mm/mempolicy.c:2229:16: error: 'struct mempolicy' has no member named 'mode'
2229 | if (pol->mode == MPOL_PREFERRED_MANY)
| ^~
mm/mempolicy.c:2245:24: error: 'struct mempolicy' has no member named 'mode'
2245 | if (pol->mode != MPOL_INTERLEAVE &&
| ^~
mm/mempolicy.c:2246:24: error: 'struct mempolicy' has no member named 'mode'
2246 | pol->mode != MPOL_WEIGHTED_INTERLEAVE &&
| ^~
In file included from include/linux/build_bug.h:5,
from arch/x86/include/asm/current.h:5,
from include/linux/sched.h:12:
mm/mempolicy.c:2267:25: error: 'struct mempolicy' has no member named 'mode'
2267 | if (unlikely(pol->mode == MPOL_INTERLEAVE) && page) {
| ^~
include/linux/compiler.h:77:45: note: in definition of macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
mm/mempolicy.c:2269:43: error: 'vm_numa_stat_key' undeclared (first use in this function); did you mean 'vma_numab_state'?
2269 | if (static_branch_likely(&vm_numa_stat_key) &&
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:76:45: note: in definition of macro 'likely'
76 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
include/linux/jump_label.h:511:41: note: in expansion of macro 'likely_notrace'
511 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
| ^~~~~~~~~~~~~~
include/linux/jump_label.h:511:56: note: in expansion of macro 'static_key_enabled'
511 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
| ^~~~~~~~~~~~~~~~~~
mm/mempolicy.c:2269:21: note: in expansion of macro 'static_branch_likely'
2269 | if (static_branch_likely(&vm_numa_stat_key) &&
| ^~~~~~~~~~~~~~~~~~~~
mm/mempolicy.c:2269:43: note: each undeclared identifier is reported only once for each function it appears in
2269 | if (static_branch_likely(&vm_numa_stat_key) &&
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:76:45: note: in definition of macro 'likely'
76 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
include/linux/jump_label.h:511:41: note: in expansion of macro 'likely_notrace'
511 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
| ^~~~~~~~~~~~~~
include/linux/jump_label.h:511:56: note: in expansion of macro 'static_key_enabled'
511 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
| ^~~~~~~~~~~~~~~~~~
mm/mempolicy.c:2269:21: note: in expansion of macro 'static_branch_likely'
2269 | if (static_branch_likely(&vm_numa_stat_key) &&
| ^~~~~~~~~~~~~~~~~~~~
mm/mempolicy.c:2272:25: error: implicit declaration of function '__count_numa_event'; did you mean '__count_vm_event'? [-Werror=implicit-function-declaration]
2272 | __count_numa_event(page_zone(page), NUMA_INTERLEAVE_HIT);
| ^~~~~~~~~~~~~~~~~~
| __count_vm_event
mm/mempolicy.c:2272:61: error: 'NUMA_INTERLEAVE_HIT' undeclared (first use in this function)
2272 | __count_numa_event(page_zone(page), NUMA_INTERLEAVE_HIT);
| ^~~~~~~~~~~~~~~~~~~
mm/mempolicy.c: At top level:
>> mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
2280 | struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/gfp.h:324:29: note: previous definition of 'folio_alloc_mpol_noprof' with type 'struct folio *(gfp_t, unsigned int, struct mempolicy *, long unsigned int, int)' {aka 'struct folio *(unsigned int, unsigned int, struct mempolicy *, long unsigned int, int)'}
324 | static inline struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/gfp.h:330:9: error: conflicting types for 'folio_alloc_noprof'; have 'struct folio *(gfp_t, int)' {aka 'struct folio *(unsigned int, int)'}
330 | folio_alloc_noprof(gfp, order)
| ^~~~~~~~~~~~~~~~~~
mm/mempolicy.c:2303:15: note: in expansion of macro 'vma_alloc_folio_noprof'
2303 | struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct vm_area_struct *vma,
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/gfp.h:320:29: note: previous definition of 'folio_alloc_noprof' with type 'struct folio *(gfp_t, unsigned int)' {aka 'struct folio *(unsigned int, unsigned int)'}
320 | static inline struct folio *folio_alloc_noprof(gfp_t gfp, unsigned int order)
| ^~~~~~~~~~~~~~~~~~
mm/mempolicy.c: In function 'folio_alloc_noprof':
mm/mempolicy.c:2310:30: error: 'vma' undeclared (first use in this function)
2310 | pol = get_vma_policy(vma, addr, order, &ilx);
| ^~~
mm/mempolicy.c:2310:35: error: 'addr' undeclared (first use in this function)
2310 | pol = get_vma_policy(vma, addr, order, &ilx);
| ^~~~
In file included from include/linux/linkage.h:7,
from arch/x86/include/asm/cache.h:5,
from include/linux/cache.h:6,
from arch/x86/include/asm/current.h:10:
mm/mempolicy.c: At top level:
mm/mempolicy.c:2316:15: error: 'vma_alloc_folio_noprof' undeclared here (not in a function); did you mean 'filemap_alloc_folio_noprof'?
2316 | EXPORT_SYMBOL(vma_alloc_folio_noprof);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:56:23: note: in definition of macro '__EXPORT_SYMBOL'
56 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:68:41: note: in expansion of macro '_EXPORT_SYMBOL'
68 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
| ^~~~~~~~~~~~~~
mm/mempolicy.c:2316:1: note: in expansion of macro 'EXPORT_SYMBOL'
2316 | EXPORT_SYMBOL(vma_alloc_folio_noprof);
| ^~~~~~~~~~~~~
mm/mempolicy.c:2332:14: error: redefinition of 'alloc_pages_noprof'
2332 | struct page *alloc_pages_noprof(gfp_t gfp, unsigned int order)
| ^~~~~~~~~~~~~~~~~~
include/linux/gfp.h:311:28: note: previous definition of 'alloc_pages_noprof' with type 'struct page *(gfp_t, unsigned int)' {aka 'struct page *(unsigned int, unsigned int)'}
311 | static inline struct page *alloc_pages_noprof(gfp_t gfp_mask, unsigned int order)
| ^~~~~~~~~~~~~~~~~~
mm/mempolicy.c:2348:15: error: conflicting types for 'folio_alloc_noprof'; have 'struct folio *(gfp_t, unsigned int)' {aka 'struct folio *(unsigned int, unsigned int)'}
2348 | struct folio *folio_alloc_noprof(gfp_t gfp, unsigned int order)
| ^~~~~~~~~~~~~~~~~~
include/linux/gfp.h:330:9: note: previous definition of 'folio_alloc_noprof' with type 'struct folio *(gfp_t, int)' {aka 'struct folio *(unsigned int, int)'}
330 | folio_alloc_noprof(gfp, order)
| ^~~~~~~~~~~~~~~~~~
mm/mempolicy.c:2303:15: note: in expansion of macro 'vma_alloc_folio_noprof'
2303 | struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct vm_area_struct *vma,
| ^~~~~~~~~~~~~~~~~~~~~~
mm/mempolicy.c: In function 'alloc_pages_bulk_array_interleave':
mm/mempolicy.c:2365:33: error: 'struct mempolicy' has no member named 'nodes'
2365 | nodes = nodes_weight(pol->nodes);
| ^~
include/linux/nodemask.h:238:49: note: in definition of macro 'nodes_weight'
238 | #define nodes_weight(nodemask) __nodes_weight(&(nodemask), MAX_NUMNODES)
| ^~~~~~~~
mm/mempolicy.c: In function 'alloc_pages_bulk_array_weighted_interleave':
mm/mempolicy.c:2423:18: error: 'struct task_struct' has no member named 'il_prev'
2423 | node = me->il_prev;
| ^~
mm/mempolicy.c:2424:20: error: 'struct task_struct' has no member named 'il_weight'
2424 | weight = me->il_weight;
| ^~
mm/mempolicy.c:2433:27: error: 'struct task_struct' has no member named 'il_weight'
2433 | me->il_weight -= rem_pages;
| ^~
mm/mempolicy.c:2440:11: error: 'struct task_struct' has no member named 'il_weight'
2440 | me->il_weight = 0;
| ^~
mm/mempolicy.c:2498:11: error: 'struct task_struct' has no member named 'il_prev'
2498 | me->il_prev = resume_node;
| ^~
mm/mempolicy.c:2499:11: error: 'struct task_struct' has no member named 'il_weight'
2499 | me->il_weight = resume_weight;
| ^~
mm/mempolicy.c: In function 'alloc_pages_bulk_array_preferred_many':
mm/mempolicy.c:2514:73: error: 'struct mempolicy' has no member named 'nodes'
2514 | nr_allocated = alloc_pages_bulk_noprof(preferred_gfp, nid, &pol->nodes,
| ^~
mm/mempolicy.c: In function 'alloc_pages_bulk_array_mempolicy_noprof':
mm/mempolicy.c:2540:16: error: 'struct mempolicy' has no member named 'mode'
2540 | if (pol->mode == MPOL_INTERLEAVE)
| ^~
mm/mempolicy.c:2544:16: error: 'struct mempolicy' has no member named 'mode'
2544 | if (pol->mode == MPOL_WEIGHTED_INTERLEAVE)
| ^~
mm/mempolicy.c:2548:16: error: 'struct mempolicy' has no member named 'mode'
2548 | if (pol->mode == MPOL_PREFERRED_MANY)
| ^~
mm/mempolicy.c: At top level:
mm/mempolicy.c:2558:5: error: redefinition of 'vma_dup_policy'
2558 | int vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst)
| ^~~~~~~~~~~~~~
include/linux/mempolicy.h:232:1: note: previous definition of 'vma_dup_policy' with type 'int(struct vm_area_struct *, struct vm_area_struct *)'
232 | vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst)
| ^~~~~~~~~~~~~~
vim +/folio_alloc_mpol_noprof +2280 mm/mempolicy.c
2279
> 2280 struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
2281 struct mempolicy *pol, pgoff_t ilx, int nid)
2282 {
2283 return page_rmappable_folio(alloc_pages_mpol_noprof(gfp | __GFP_COMP,
2284 order, pol, ilx, nid));
2285 }
2286
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master 6447/7105] mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
2024-06-20 15:55 [linux-next:master 6447/7105] mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof' kernel test robot
@ 2024-06-21 3:17 ` Kefeng Wang
2024-06-21 4:56 ` Philip Li
0 siblings, 1 reply; 5+ messages in thread
From: Kefeng Wang @ 2024-06-21 3:17 UTC (permalink / raw)
To: kernel test robot
Cc: oe-kbuild-all, Linux Memory Management List, Andrew Morton
On 2024/6/20 23:55, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: 2102cb0d050d34d50b9642a3a50861787527e922
> commit: f85385e70cb4bbb569298830fdf0a3d8325de36d [6447/7105] mm: add folio_alloc_mpol()
> config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/config)
> compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/reproduce)
Hi, thanks for report, I try with gcc-13 from 0day[1], but can't
reproduce with above config.
[1] https://download.01.org/0day-ci/cross-package/gcc-13.2.0-nolibc
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202406202319.pBcCfVar-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> | ^~
> mm/mempolicy.c:2058:35: error: 'struct mempolicy' has no member named 'home_node'
> 2058 | *nid = pol->home_node;
> | ^~
> mm/mempolicy.c:2063:60: error: 'struct mempolicy' has no member named 'nodes'
> 2063 | cpuset_nodemask_valid_mems_allowed(&pol->nodes))
> | ^~
> mm/mempolicy.c:2064:40: error: 'struct mempolicy' has no member named 'nodes'
> 2064 | nodemask = &pol->nodes;
> | ^~
> mm/mempolicy.c:2065:24: error: 'struct mempolicy' has no member named 'home_node'
> 2065 | if (pol->home_node != NUMA_NO_NODE)
> | ^~
> mm/mempolicy.c:2066:35: error: 'struct mempolicy' has no member named 'home_node'
> 2066 | *nid = pol->home_node;
> | ^~
> mm/mempolicy.c: At top level:
> mm/mempolicy.c:2172:6: warning: no previous prototype for 'mempolicy_in_oom_domain' [-Wmissing-prototypes]
> 2172 | bool mempolicy_in_oom_domain(struct task_struct *tsk,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> mm/mempolicy.c: In function 'mempolicy_in_oom_domain':
> mm/mempolicy.c:2182:26: error: 'struct task_struct' has no member named 'mempolicy'; did you mean 'policy'?
> 2182 | mempolicy = tsk->mempolicy;
> | ^~~~~~~~~
> | policy
> mm/mempolicy.c:2183:35: error: 'struct mempolicy' has no member named 'mode'
> 2183 | if (mempolicy && mempolicy->mode == MPOL_BIND)
> | ^~
> mm/mempolicy.c:2184:49: error: 'struct mempolicy' has no member named 'nodes'
> 2184 | ret = nodes_intersects(mempolicy->nodes, *mask);
> | ^~
> include/linux/nodemask.h:211:46: note: in definition of macro 'nodes_intersects'
> 211 | __nodes_intersects(&(src1), &(src2), MAX_NUMNODES)
The above error is strange, my change shouldn't affect them.
> | ^~~~
> mm/mempolicy.c: At top level:
> mm/mempolicy.c:2221:14: error: redefinition of 'alloc_pages_mpol_noprof'
> 2221 | struct page *alloc_pages_mpol_noprof(gfp_t gfp, unsigned int order,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/linux/slab.h:16,
> from include/linux/mempolicy.h:11:
> include/linux/gfp.h:315:28: note: previous definition of 'alloc_pages_mpol_noprof' with type 'struct page *(gfp_t, unsigned int, struct mempolicy *, long unsigned int, int)' {aka 'struct page *(unsigned int, unsigned int, struct mempolicy *, long unsigned int, int)'}
> 315 | static inline struct page *alloc_pages_mpol_noprof(gfp_t gfp, unsigned int order,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> mm/mempolicy.c: In function 'alloc_pages_mpol_noprof':
> mm/mempolicy.c:2229:16: error: 'struct mempolicy' has no member named 'mode'
> 2229 | if (pol->mode == MPOL_PREFERRED_MANY)
> | ^~
> mm/mempolicy.c:2245:24: error: 'struct mempolicy' has no member named 'mode'
> 2245 | if (pol->mode != MPOL_INTERLEAVE &&
> | ^~
> mm/mempolicy.c:2246:24: error: 'struct mempolicy' has no member named 'mode'
> 2246 | pol->mode != MPOL_WEIGHTED_INTERLEAVE &&
> | ^~
> In file included from include/linux/build_bug.h:5,
> from arch/x86/include/asm/current.h:5,
> from include/linux/sched.h:12:
> mm/mempolicy.c:2267:25: error: 'struct mempolicy' has no member named 'mode'
> 2267 | if (unlikely(pol->mode == MPOL_INTERLEAVE) && page) {
> | ^~
> include/linux/compiler.h:77:45: note: in definition of macro 'unlikely'
> 77 | # define unlikely(x) __builtin_expect(!!(x), 0)
> | ^
> mm/mempolicy.c:2269:43: error: 'vm_numa_stat_key' undeclared (first use in this function); did you mean 'vma_numab_state'?
> 2269 | if (static_branch_likely(&vm_numa_stat_key) &&
> | ^~~~~~~~~~~~~~~~
> include/linux/compiler.h:76:45: note: in definition of macro 'likely'
> 76 | # define likely(x) __builtin_expect(!!(x), 1)
> | ^
> include/linux/jump_label.h:511:41: note: in expansion of macro 'likely_notrace'
> 511 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
> | ^~~~~~~~~~~~~~
> include/linux/jump_label.h:511:56: note: in expansion of macro 'static_key_enabled'
> 511 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
> | ^~~~~~~~~~~~~~~~~~
> mm/mempolicy.c:2269:21: note: in expansion of macro 'static_branch_likely'
> 2269 | if (static_branch_likely(&vm_numa_stat_key) &&
> | ^~~~~~~~~~~~~~~~~~~~
> mm/mempolicy.c:2269:43: note: each undeclared identifier is reported only once for each function it appears in
> 2269 | if (static_branch_likely(&vm_numa_stat_key) &&
> | ^~~~~~~~~~~~~~~~
> include/linux/compiler.h:76:45: note: in definition of macro 'likely'
> 76 | # define likely(x) __builtin_expect(!!(x), 1)
> | ^
> include/linux/jump_label.h:511:41: note: in expansion of macro 'likely_notrace'
> 511 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
> | ^~~~~~~~~~~~~~
> include/linux/jump_label.h:511:56: note: in expansion of macro 'static_key_enabled'
> 511 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
> | ^~~~~~~~~~~~~~~~~~
> mm/mempolicy.c:2269:21: note: in expansion of macro 'static_branch_likely'
> 2269 | if (static_branch_likely(&vm_numa_stat_key) &&
> | ^~~~~~~~~~~~~~~~~~~~
> mm/mempolicy.c:2272:25: error: implicit declaration of function '__count_numa_event'; did you mean '__count_vm_event'? [-Werror=implicit-function-declaration]
> 2272 | __count_numa_event(page_zone(page), NUMA_INTERLEAVE_HIT);
> | ^~~~~~~~~~~~~~~~~~
> | __count_vm_event
> mm/mempolicy.c:2272:61: error: 'NUMA_INTERLEAVE_HIT' undeclared (first use in this function)
> 2272 | __count_numa_event(page_zone(page), NUMA_INTERLEAVE_HIT);
> | ^~~~~~~~~~~~~~~~~~~
> mm/mempolicy.c: At top level:
>>> mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
> 2280 | struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> include/linux/gfp.h:324:29: note: previous definition of 'folio_alloc_mpol_noprof' with type 'struct folio *(gfp_t, unsigned int, struct mempolicy *, long unsigned int, int)' {aka 'struct folio *(unsigned int, unsigned int, struct mempolicy *, long unsigned int, int)'}
> 324 | static inline struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> include/linux/gfp.h:330:9: error: conflicting types for 'folio_alloc_noprof'; have 'struct folio *(gfp_t, int)' {aka 'struct folio *(unsigned int, int)'}
> 330 | folio_alloc_noprof(gfp, order)
> | ^~~~~~~~~~~~~~~~~~
> mm/mempolicy.c:2303:15: note: in expansion of macro 'vma_alloc_folio_noprof'
> 2303 | struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct vm_area_struct *vma,
> | ^~~~~~~~~~~~~~~~~~~~~~
> include/linux/gfp.h:320:29: note: previous definition of 'folio_alloc_noprof' with type 'struct folio *(gfp_t, unsigned int)' {aka 'struct folio *(unsigned int, unsigned int)'}
> 320 | static inline struct folio *folio_alloc_noprof(gfp_t gfp, unsigned int order)
> | ^~~~~~~~~~~~~~~~~~
> mm/mempolicy.c: In function 'folio_alloc_noprof':
> mm/mempolicy.c:2310:30: error: 'vma' undeclared (first use in this function)
> 2310 | pol = get_vma_policy(vma, addr, order, &ilx);
> | ^~~
> mm/mempolicy.c:2310:35: error: 'addr' undeclared (first use in this function)
> 2310 | pol = get_vma_policy(vma, addr, order, &ilx);
> | ^~~~
> In file included from include/linux/linkage.h:7,
> from arch/x86/include/asm/cache.h:5,
> from include/linux/cache.h:6,
> from arch/x86/include/asm/current.h:10:
> mm/mempolicy.c: At top level:
> mm/mempolicy.c:2316:15: error: 'vma_alloc_folio_noprof' undeclared here (not in a function); did you mean 'filemap_alloc_folio_noprof'?
> 2316 | EXPORT_SYMBOL(vma_alloc_folio_noprof);
> | ^~~~~~~~~~~~~~~~~~~~~~
> include/linux/export.h:56:23: note: in definition of macro '__EXPORT_SYMBOL'
> 56 | extern typeof(sym) sym; \
> | ^~~
> include/linux/export.h:68:41: note: in expansion of macro '_EXPORT_SYMBOL'
> 68 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
> | ^~~~~~~~~~~~~~
> mm/mempolicy.c:2316:1: note: in expansion of macro 'EXPORT_SYMBOL'
> 2316 | EXPORT_SYMBOL(vma_alloc_folio_noprof);
> | ^~~~~~~~~~~~~
> mm/mempolicy.c:2332:14: error: redefinition of 'alloc_pages_noprof'
> 2332 | struct page *alloc_pages_noprof(gfp_t gfp, unsigned int order)
> | ^~~~~~~~~~~~~~~~~~
> include/linux/gfp.h:311:28: note: previous definition of 'alloc_pages_noprof' with type 'struct page *(gfp_t, unsigned int)' {aka 'struct page *(unsigned int, unsigned int)'}
> 311 | static inline struct page *alloc_pages_noprof(gfp_t gfp_mask, unsigned int order)
> | ^~~~~~~~~~~~~~~~~~
> mm/mempolicy.c:2348:15: error: conflicting types for 'folio_alloc_noprof'; have 'struct folio *(gfp_t, unsigned int)' {aka 'struct folio *(unsigned int, unsigned int)'}
> 2348 | struct folio *folio_alloc_noprof(gfp_t gfp, unsigned int order)
> | ^~~~~~~~~~~~~~~~~~
> include/lsinux/gfp.h:330:9: note: previous definition of 'folio_alloc_noprof' with type 'struct folio *(gfp_t, int)' {aka 'struct folio *(unsigned int, int)'}
> 330 | folio_alloc_noprof(gfp, order)
> | ^~~~~~~~~~~~~~~~~~
> mm/mempolicy.c:2303:15: note: in expansion of macro 'vma_alloc_folio_noprof'
> 2303 | struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct vm_area_struct *vma,
> | ^~~~~~~~~~~~~~~~~~~~~~
> mm/mempolicy.c: In function 'alloc_pages_bulk_array_interleave':
> mm/mempolicy.c:2365:33: error: 'struct mempolicy' has no member named 'nodes'
> 2365 | nodes = nodes_weight(pol->nodes);
> | ^~
> include/linux/nodemask.h:238:49: note: in definition of macro 'nodes_weight'
> 238 | #define nodes_weight(nodemask) __nodes_weight(&(nodemask), MAX_NUMNODES)
> | ^~~~~~~~
> mm/mempolicy.c: In function 'alloc_pages_bulk_array_weighted_interleave':
> mm/mempolicy.c:2423:18: error: 'struct task_struct' has no member named 'il_prev'
> 2423 | node = me->il_prev;
> | ^~
> mm/mempolicy.c:2424:20: error: 'struct task_struct' has no member named 'il_weight'
> 2424 | weight = me->il_weight;
> | ^~
> mm/mempolicy.c:2433:27: error: 'struct task_struct' has no member named 'il_weight'
> 2433 | me->il_weight -= rem_pages;
> | ^~
> mm/mempolicy.c:2440:11: error: 'struct task_struct' has no member named 'il_weight'
> 2440 | me->il_weight = 0;
> | ^~
> mm/mempolicy.c:2498:11: error: 'struct task_struct' has no member named 'il_prev'
> 2498 | me->il_prev = resume_node;
> | ^~
> mm/mempolicy.c:2499:11: error: 'struct task_struct' has no member named 'il_weight'
> 2499 | me->il_weight = resume_weight;
> | ^~
> mm/mempolicy.c: In function 'alloc_pages_bulk_array_preferred_many':
> mm/mempolicy.c:2514:73: error: 'struct mempolicy' has no member named 'nodes'
> 2514 | nr_allocated = alloc_pages_bulk_noprof(preferred_gfp, nid, &pol->nodes,
> | ^~
> mm/mempolicy.c: In function 'alloc_pages_bulk_array_mempolicy_noprof':
> mm/mempolicy.c:2540:16: error: 'struct mempolicy' has no member named 'mode'
> 2540 | if (pol->mode == MPOL_INTERLEAVE)
> | ^~
> mm/mempolicy.c:2544:16: error: 'struct mempolicy' has no member named 'mode'
> 2544 | if (pol->mode == MPOL_WEIGHTED_INTERLEAVE)
> | ^~
> mm/mempolicy.c:2548:16: error: 'struct mempolicy' has no member named 'mode'
> 2548 | if (pol->mode == MPOL_PREFERRED_MANY)
> | ^~
> mm/mempolicy.c: At top level:
> mm/mempolicy.c:2558:5: error: redefinition of 'vma_dup_policy'
> 2558 | int vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst)
> | ^~~~~~~~~~~~~~
> include/linux/mempolicy.h:232:1: note: previous definition of 'vma_dup_policy' with type 'int(struct vm_area_struct *, struct vm_area_struct *)'
> 232 | vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst)
ditto..
struct mempolicy is empty when NUMA off, but mempolicy.c won't be
compiled if NUMA off,
$ cat mm/Makefile | grep mempolicy
obj-$(CONFIG_NUMA) += mempolicy.o
Any though ?
> | ^~~~~~~~~~~~~~
>
>
> vim +/folio_alloc_mpol_noprof +2280 mm/mempolicy.c
>
> 2279
>> 2280 struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
> 2281 struct mempolicy *pol, pgoff_t ilx, int nid)
> 2282 {
> 2283 return page_rmappable_folio(alloc_pages_mpol_noprof(gfp | __GFP_COMP,
> 2284 order, pol, ilx, nid));
> 2285 }
> 2286
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master 6447/7105] mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
2024-06-21 3:17 ` Kefeng Wang
@ 2024-06-21 4:56 ` Philip Li
2024-06-21 6:21 ` Kefeng Wang
0 siblings, 1 reply; 5+ messages in thread
From: Philip Li @ 2024-06-21 4:56 UTC (permalink / raw)
To: Kefeng Wang
Cc: kernel test robot, oe-kbuild-all, Linux Memory Management List,
Andrew Morton
On Fri, Jun 21, 2024 at 11:17:05AM +0800, Kefeng Wang wrote:
>
>
> On 2024/6/20 23:55, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head: 2102cb0d050d34d50b9642a3a50861787527e922
> > commit: f85385e70cb4bbb569298830fdf0a3d8325de36d [6447/7105] mm: add folio_alloc_mpol()
> > config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/config)
> > compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/reproduce)
>
> Hi, thanks for report, I try with gcc-13 from 0day[1], but can't
> reproduce with above config.
>
> [1] https://download.01.org/0day-ci/cross-package/gcc-13.2.0-nolibc
>
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <lkp@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202406202319.pBcCfVar-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> > | ^~
> > mm/mempolicy.c:2058:35: error: 'struct mempolicy' has no member named 'home_node'
> > 2058 | *nid = pol->home_node;
> > | ^~
> > mm/mempolicy.c:2063:60: error: 'struct mempolicy' has no member named 'nodes'
> > 2063 | cpuset_nodemask_valid_mems_allowed(&pol->nodes))
> > | ^~
> > mm/mempolicy.c:2064:40: error: 'struct mempolicy' has no member named 'nodes'
> > 2064 | nodemask = &pol->nodes;
> > | ^~
> > mm/mempolicy.c:2065:24: error: 'struct mempolicy' has no member named 'home_node'
> > 2065 | if (pol->home_node != NUMA_NO_NODE)
> > | ^~
> > mm/mempolicy.c:2066:35: error: 'struct mempolicy' has no member named 'home_node'
> > 2066 | *nid = pol->home_node;
> > | ^~
> > mm/mempolicy.c: At top level:
> > mm/mempolicy.c:2172:6: warning: no previous prototype for 'mempolicy_in_oom_domain' [-Wmissing-prototypes]
> > 2172 | bool mempolicy_in_oom_domain(struct task_struct *tsk,
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> > mm/mempolicy.c: In function 'mempolicy_in_oom_domain':
> > mm/mempolicy.c:2182:26: error: 'struct task_struct' has no member named 'mempolicy'; did you mean 'policy'?
> > 2182 | mempolicy = tsk->mempolicy;
> > | ^~~~~~~~~
> > | policy
> > mm/mempolicy.c:2183:35: error: 'struct mempolicy' has no member named 'mode'
> > 2183 | if (mempolicy && mempolicy->mode == MPOL_BIND)
> > | ^~
> > mm/mempolicy.c:2184:49: error: 'struct mempolicy' has no member named 'nodes'
> > 2184 | ret = nodes_intersects(mempolicy->nodes, *mask);
> > | ^~
> > include/linux/nodemask.h:211:46: note: in definition of macro 'nodes_intersects'
> > 211 | __nodes_intersects(&(src1), &(src2), MAX_NUMNODES)
>
>
>
> The above error is strange, my change shouldn't affect them.
Hi Kefeng, sorry for confusion, usually you only need take care of the issue
that is prefixed with >>, which is the new issue being introduced by the commit.
Other issues exist due to existing commits.
>
> > | ^~~~
> > mm/mempolicy.c: At top level:
> > mm/mempolicy.c:2221:14: error: redefinition of 'alloc_pages_mpol_noprof'
> > 2221 | struct page *alloc_pages_mpol_noprof(gfp_t gfp, unsigned int order,
[...]
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> > | __count_vm_event
> > mm/mempolicy.c:2272:61: error: 'NUMA_INTERLEAVE_HIT' undeclared (first use in this function)
> > 2272 | __count_numa_event(page_zone(page), NUMA_INTERLEAVE_HIT);
> > | ^~~~~~~~~~~~~~~~~~~
> > mm/mempolicy.c: At top level:
> > > > mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
> > 2280 | struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
For this report, you can check whether this issue can be reproduced or not.
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> > include/linux/gfp.h:324:29: note: previous definition of 'folio_alloc_mpol_noprof' with type 'struct folio *(gfp_t, unsigned int, struct mempolicy *, long unsigned int, int)' {aka 'struct folio *(unsigned int, unsigned int, struct mempolicy *, long unsigned int, int)'}
> > 324 | static inline struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> > include/linux/gfp.h:330:9: error: conflicting types for 'folio_alloc_noprof'; have 'struct folio *(gfp_t, int)' {aka 'struct folio *(unsigned int, int)'}
> > 330 | folio_alloc_noprof(gfp, order)
> > | ^~~~~~~~~~~~~~~~~~
> > mm/mempolicy.c:2303:15: note: in expansion of macro 'vma_alloc_folio_noprof'
> > 2303 | struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct vm_area_struct *vma,
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/gfp.h:320:29: note: previous definition of 'folio_alloc_noprof' with type 'struct folio *(gfp_t, unsigned int)' {aka 'struct folio *(unsigned int, unsigned int)'}
> > 320 | static inline struct folio *folio_alloc_noprof(gfp_t gfp, unsigned int order)
> > | ^~~~~~~~~~~~~~~~~~
> > mm/mempolicy.c: In function 'folio_alloc_noprof':
> > mm/mempolicy.c:2310:30: error: 'vma' undeclared (first use in this function)
> > 2310 | pol = get_vma_policy(vma, addr, order, &ilx);
> > | ^~~
> > mm/mempolicy.c:2310:35: error: 'addr' undeclared (first use in this function)
> > 2310 | pol = get_vma_policy(vma, addr, order, &ilx);
> > | ^~~~
> > In file included from include/linux/linkage.h:7,
> > from arch/x86/include/asm/cache.h:5,
> > from include/linux/cache.h:6,
> > from arch/x86/include/asm/current.h:10:
> > mm/mempolicy.c: At top level:
> > mm/mempolicy.c:2316:15: error: 'vma_alloc_folio_noprof' undeclared here (not in a function); did you mean 'filemap_alloc_folio_noprof'?
> > 2316 | EXPORT_SYMBOL(vma_alloc_folio_noprof);
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/export.h:56:23: note: in definition of macro '__EXPORT_SYMBOL'
> > 56 | extern typeof(sym) sym; \
> > | ^~~
> > include/linux/export.h:68:41: note: in expansion of macro '_EXPORT_SYMBOL'
> > 68 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
> > | ^~~~~~~~~~~~~~
> > mm/mempolicy.c:2316:1: note: in expansion of macro 'EXPORT_SYMBOL'
> > 2316 | EXPORT_SYMBOL(vma_alloc_folio_noprof);
> > | ^~~~~~~~~~~~~
> > mm/mempolicy.c:2332:14: error: redefinition of 'alloc_pages_noprof'
> > 2332 | struct page *alloc_pages_noprof(gfp_t gfp, unsigned int order)
> > | ^~~~~~~~~~~~~~~~~~
> > include/linux/gfp.h:311:28: note: previous definition of 'alloc_pages_noprof' with type 'struct page *(gfp_t, unsigned int)' {aka 'struct page *(unsigned int, unsigned int)'}
> > 311 | static inline struct page *alloc_pages_noprof(gfp_t gfp_mask, unsigned int order)
> > | ^~~~~~~~~~~~~~~~~~
> > mm/mempolicy.c:2348:15: error: conflicting types for 'folio_alloc_noprof'; have 'struct folio *(gfp_t, unsigned int)' {aka 'struct folio *(unsigned int, unsigned int)'}
> > 2348 | struct folio *folio_alloc_noprof(gfp_t gfp, unsigned int order)
> > | ^~~~~~~~~~~~~~~~~~
> > include/lsinux/gfp.h:330:9: note: previous definition of 'folio_alloc_noprof' with type 'struct folio *(gfp_t, int)' {aka 'struct folio *(unsigned int, int)'}
> > 330 | folio_alloc_noprof(gfp, order)
> > | ^~~~~~~~~~~~~~~~~~
> > mm/mempolicy.c:2303:15: note: in expansion of macro 'vma_alloc_folio_noprof'
> > 2303 | struct folio *vma_alloc_folio_noprof(gfp_t gfp, int order, struct vm_area_struct *vma,
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > mm/mempolicy.c: In function 'alloc_pages_bulk_array_interleave':
> > mm/mempolicy.c:2365:33: error: 'struct mempolicy' has no member named 'nodes'
> > 2365 | nodes = nodes_weight(pol->nodes);
> > | ^~
> > include/linux/nodemask.h:238:49: note: in definition of macro 'nodes_weight'
> > 238 | #define nodes_weight(nodemask) __nodes_weight(&(nodemask), MAX_NUMNODES)
> > | ^~~~~~~~
> > mm/mempolicy.c: In function 'alloc_pages_bulk_array_weighted_interleave':
> > mm/mempolicy.c:2423:18: error: 'struct task_struct' has no member named 'il_prev'
> > 2423 | node = me->il_prev;
> > | ^~
> > mm/mempolicy.c:2424:20: error: 'struct task_struct' has no member named 'il_weight'
> > 2424 | weight = me->il_weight;
> > | ^~
> > mm/mempolicy.c:2433:27: error: 'struct task_struct' has no member named 'il_weight'
> > 2433 | me->il_weight -= rem_pages;
> > | ^~
> > mm/mempolicy.c:2440:11: error: 'struct task_struct' has no member named 'il_weight'
> > 2440 | me->il_weight = 0;
> > | ^~
> > mm/mempolicy.c:2498:11: error: 'struct task_struct' has no member named 'il_prev'
> > 2498 | me->il_prev = resume_node;
> > | ^~
> > mm/mempolicy.c:2499:11: error: 'struct task_struct' has no member named 'il_weight'
> > 2499 | me->il_weight = resume_weight;
> > | ^~
> > mm/mempolicy.c: In function 'alloc_pages_bulk_array_preferred_many':
> > mm/mempolicy.c:2514:73: error: 'struct mempolicy' has no member named 'nodes'
> > 2514 | nr_allocated = alloc_pages_bulk_noprof(preferred_gfp, nid, &pol->nodes,
> > | ^~
> > mm/mempolicy.c: In function 'alloc_pages_bulk_array_mempolicy_noprof':
> > mm/mempolicy.c:2540:16: error: 'struct mempolicy' has no member named 'mode'
> > 2540 | if (pol->mode == MPOL_INTERLEAVE)
> > | ^~
> > mm/mempolicy.c:2544:16: error: 'struct mempolicy' has no member named 'mode'
> > 2544 | if (pol->mode == MPOL_WEIGHTED_INTERLEAVE)
> > | ^~
> > mm/mempolicy.c:2548:16: error: 'struct mempolicy' has no member named 'mode'
> > 2548 | if (pol->mode == MPOL_PREFERRED_MANY)
> > | ^~
> > mm/mempolicy.c: At top level:
> > mm/mempolicy.c:2558:5: error: redefinition of 'vma_dup_policy'
> > 2558 | int vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst)
> > | ^~~~~~~~~~~~~~
> > include/linux/mempolicy.h:232:1: note: previous definition of 'vma_dup_policy' with type 'int(struct vm_area_struct *, struct vm_area_struct *)'
> > 232 | vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst)
>
> ditto..
>
>
> struct mempolicy is empty when NUMA off, but mempolicy.c won't be compiled
> if NUMA off,
>
> $ cat mm/Makefile | grep mempolicy
> obj-$(CONFIG_NUMA) += mempolicy.o
>
> Any though ?
>
>
>
> > | ^~~~~~~~~~~~~~
> >
> >
> > vim +/folio_alloc_mpol_noprof +2280 mm/mempolicy.c
> >
> > 2279
> > > 2280 struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
> > 2281 struct mempolicy *pol, pgoff_t ilx, int nid)
> > 2282 {
> > 2283 return page_rmappable_folio(alloc_pages_mpol_noprof(gfp | __GFP_COMP,
> > 2284 order, pol, ilx, nid));
> > 2285 }
> > 2286
> >
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master 6447/7105] mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
2024-06-21 4:56 ` Philip Li
@ 2024-06-21 6:21 ` Kefeng Wang
2024-06-21 8:08 ` Philip Li
0 siblings, 1 reply; 5+ messages in thread
From: Kefeng Wang @ 2024-06-21 6:21 UTC (permalink / raw)
To: Philip Li
Cc: kernel test robot, oe-kbuild-all, Linux Memory Management List,
Andrew Morton
On 2024/6/21 12:56, Philip Li wrote:
> On Fri, Jun 21, 2024 at 11:17:05AM +0800, Kefeng Wang wrote:
>>
>>
>> On 2024/6/20 23:55, kernel test robot wrote:
>>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
>>> head: 2102cb0d050d34d50b9642a3a50861787527e922
>>> commit: f85385e70cb4bbb569298830fdf0a3d8325de36d [6447/7105] mm: add folio_alloc_mpol()
>>> config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/config)
>>> compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
>>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/reproduce)
>>
>> Hi, thanks for report, I try with gcc-13 from 0day[1], but can't
>> reproduce with above config.
>>
>> [1] https://download.01.org/0day-ci/cross-package/gcc-13.2.0-nolibc
>>
...
>> The above error is strange, my change shouldn't affect them.
>
> Hi Kefeng, sorry for confusion, usually you only need take care of the issue
> that is prefixed with >>, which is the new issue being introduced by the commit.
> Other issues exist due to existing commits.
>
>>
>>> | ^~~~
>>> mm/mempolicy.c: At top level:
>>> mm/mempolicy.c:2221:14: error: redefinition of 'alloc_pages_mpol_noprof'
>>> 2221 | struct page *alloc_pages_mpol_noprof(gfp_t gfp, unsigned int order,
>
> [...]
>
>>> | ^~~~~~~~~~~~~~~~~~~~~~~
>>> | __count_vm_event
>>> mm/mempolicy.c:2272:61: error: 'NUMA_INTERLEAVE_HIT' undeclared (first use in this function)
>>> 2272 | __count_numa_event(page_zone(page), NUMA_INTERLEAVE_HIT);
>>> | ^~~~~~~~~~~~~~~~~~~
>>> mm/mempolicy.c: At top level:
>>>>> mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
>>> 2280 | struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
>
> For this report, you can check whether this issue can be reproduced or not.
mm/mempolicy.c:2280:15: error: redefinition of folio_alloc_mpol_noprof'
obj-$(CONFIG_NUMA) += mempolicy.o
include/linux/gfp.h:324:29: note: previous definition of
'folio_alloc_mpol_noprof'
but this one is under !CONFIG_NUMA, and from above config, CONFIG_NUMA
is enabled, so this should be impossible.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master 6447/7105] mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
2024-06-21 6:21 ` Kefeng Wang
@ 2024-06-21 8:08 ` Philip Li
0 siblings, 0 replies; 5+ messages in thread
From: Philip Li @ 2024-06-21 8:08 UTC (permalink / raw)
To: Kefeng Wang
Cc: kernel test robot, oe-kbuild-all, Linux Memory Management List,
Andrew Morton
On Fri, Jun 21, 2024 at 02:21:39PM +0800, Kefeng Wang wrote:
>
>
> On 2024/6/21 12:56, Philip Li wrote:
> > On Fri, Jun 21, 2024 at 11:17:05AM +0800, Kefeng Wang wrote:
> > >
> > >
> > > On 2024/6/20 23:55, kernel test robot wrote:
> > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > > > head: 2102cb0d050d34d50b9642a3a50861787527e922
> > > > commit: f85385e70cb4bbb569298830fdf0a3d8325de36d [6447/7105] mm: add folio_alloc_mpol()
> > > > config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/config)
> > > > compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
> > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240620/202406202319.pBcCfVar-lkp@intel.com/reproduce)
> > >
> > > Hi, thanks for report, I try with gcc-13 from 0day[1], but can't
> > > reproduce with above config.
> > >
> > > [1] https://download.01.org/0day-ci/cross-package/gcc-13.2.0-nolibc
> > >
> ...
>
> > > The above error is strange, my change shouldn't affect them.
> >
> > Hi Kefeng, sorry for confusion, usually you only need take care of the issue
> > that is prefixed with >>, which is the new issue being introduced by the commit.
> > Other issues exist due to existing commits.
> >
> > >
> > > > | ^~~~
> > > > mm/mempolicy.c: At top level:
> > > > mm/mempolicy.c:2221:14: error: redefinition of 'alloc_pages_mpol_noprof'
> > > > 2221 | struct page *alloc_pages_mpol_noprof(gfp_t gfp, unsigned int order,
> >
> > [...]
> >
> > > > | ^~~~~~~~~~~~~~~~~~~~~~~
> > > > | __count_vm_event
> > > > mm/mempolicy.c:2272:61: error: 'NUMA_INTERLEAVE_HIT' undeclared (first use in this function)
> > > > 2272 | __count_numa_event(page_zone(page), NUMA_INTERLEAVE_HIT);
> > > > | ^~~~~~~~~~~~~~~~~~~
> > > > mm/mempolicy.c: At top level:
> > > > > > mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof'
> > > > 2280 | struct folio *folio_alloc_mpol_noprof(gfp_t gfp, unsigned int order,
> >
> > For this report, you can check whether this issue can be reproduced or not.
>
> mm/mempolicy.c:2280:15: error: redefinition of folio_alloc_mpol_noprof'
>
> obj-$(CONFIG_NUMA) += mempolicy.o
>
> include/linux/gfp.h:324:29: note: previous definition of
> 'folio_alloc_mpol_noprof'
>
> but this one is under !CONFIG_NUMA, and from above config, CONFIG_NUMA
> is enabled, so this should be impossible.
I think you are right that this logically is impossible. Sorry that I didn't
reproduce it in advance, and i also fail to reproduce. I need take deep look
to understand what went wrong in the bot. Sorry for this false report.
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-06-21 8:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-20 15:55 [linux-next:master 6447/7105] mm/mempolicy.c:2280:15: error: redefinition of 'folio_alloc_mpol_noprof' kernel test robot
2024-06-21 3:17 ` Kefeng Wang
2024-06-21 4:56 ` Philip Li
2024-06-21 6:21 ` Kefeng Wang
2024-06-21 8:08 ` Philip Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox