* [linux-next:master 6448/7397] mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr'
@ 2024-06-21 17:59 kernel test robot
2024-06-22 4:24 ` Barry Song
0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2024-06-21 17:59 UTC (permalink / raw)
To: Chuanhua Han
Cc: oe-kbuild-all, Linux Memory Management List, Andrew Morton,
Barry Song, Ryan Roberts, Huang, Ying
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: b992b79ca8bc336fa8e2c80990b5af80ed8f36fd
commit: b858a8a49e72678a7e0ac90b8135d746b31d7586 [6448/7397] mm: swap: introduce swap_free_nr() for batched swap_free()
config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240622/202406220112.qjyQbasK-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/20240622/202406220112.qjyQbasK-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/202406220112.qjyQbasK-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from mm/swapfile.c:17:
include/linux/swap.h:519:49: error: expected identifier or '(' before numeric constant
519 | #define total_swap_pages 0L
| ^~
mm/swapfile.c:67:6: note: in expansion of macro 'total_swap_pages'
67 | long total_swap_pages;
| ^~~~~~~~~~~~~~~~
mm/swapfile.c:236:10: warning: no previous prototype for 'swap_folio_sector' [-Wmissing-prototypes]
236 | sector_t swap_folio_sector(struct folio *folio)
| ^~~~~~~~~~~~~~~~~
mm/swapfile.c: In function 'set_cluster_next':
mm/swapfile.c:797:22: error: 'SWAP_ADDRESS_SPACE_SHIFT' undeclared (first use in this function)
797 | if ((prev >> SWAP_ADDRESS_SPACE_SHIFT) !=
| ^~~~~~~~~~~~~~~~~~~~~~~~
mm/swapfile.c:797:22: note: each undeclared identifier is reported only once for each function it appears in
In file included from include/vdso/const.h:5,
from include/linux/const.h:4,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from include/linux/highmem.h:5,
from include/linux/bvec.h:10,
from include/linux/blk_types.h:10,
from include/linux/blkdev.h:9,
from mm/swapfile.c:9:
mm/swapfile.c:803:41: error: 'SWAP_ADDRESS_SPACE_PAGES' undeclared (first use in this function)
803 | next = ALIGN_DOWN(next, SWAP_ADDRESS_SPACE_PAGES);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/const.h:32:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
32 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^
include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
9 | #define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
| ^~~~~~~~~~~~~~
mm/swapfile.c:803:24: note: in expansion of macro 'ALIGN_DOWN'
803 | next = ALIGN_DOWN(next, SWAP_ADDRESS_SPACE_PAGES);
| ^~~~~~~~~~
mm/swapfile.c: At top level:
mm/swapfile.c:1071:5: warning: no previous prototype for 'get_swap_pages' [-Wmissing-prototypes]
1071 | int get_swap_pages(int n_goal, swp_entry_t swp_entries[], int entry_order)
| ^~~~~~~~~~~~~~
mm/swapfile.c:1278:26: error: redefinition of 'get_swap_device'
1278 | struct swap_info_struct *get_swap_device(swp_entry_t entry)
| ^~~~~~~~~~~~~~~
include/linux/swap.h:509:40: note: previous definition of 'get_swap_device' with type 'struct swap_info_struct *(swp_entry_t)'
509 | static inline struct swap_info_struct *get_swap_device(swp_entry_t entry)
| ^~~~~~~~~~~~~~~
mm/swapfile.c:1350:6: error: redefinition of 'swap_free'
1350 | void swap_free(swp_entry_t entry)
| ^~~~~~~~~
include/linux/swap.h:559:20: note: previous definition of 'swap_free' with type 'void(swp_entry_t)'
559 | static inline void swap_free(swp_entry_t swp)
| ^~~~~~~~~
>> mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr'
1388 | void swap_free_nr(swp_entry_t entry, int nr_pages)
| ^~~~~~~~~~~~
include/linux/swap.h:563:20: note: previous definition of 'swap_free_nr' with type 'void(swp_entry_t, int)'
563 | static inline void swap_free_nr(swp_entry_t entry, int nr_pages)
| ^~~~~~~~~~~~
mm/swapfile.c:1409:6: error: redefinition of 'put_swap_folio'
1409 | void put_swap_folio(struct folio *folio, swp_entry_t entry)
| ^~~~~~~~~~~~~~
include/linux/swap.h:567:20: note: previous definition of 'put_swap_folio' with type 'void(struct folio *, swp_entry_t)'
567 | static inline void put_swap_folio(struct folio *folio, swp_entry_t swp)
| ^~~~~~~~~~~~~~
mm/swapfile.c:1461:6: warning: no previous prototype for 'swapcache_free_entries' [-Wmissing-prototypes]
1461 | void swapcache_free_entries(swp_entry_t *entries, int n)
| ^~~~~~~~~~~~~~~~~~~~~~
mm/swapfile.c:1489:5: error: redefinition of '__swap_count'
1489 | int __swap_count(swp_entry_t entry)
| ^~~~~~~~~~~~
include/linux/swap.h:571:19: note: previous definition of '__swap_count' with type 'int(swp_entry_t)'
571 | static inline int __swap_count(swp_entry_t entry)
| ^~~~~~~~~~~~
mm/swapfile.c:1502:5: error: redefinition of 'swap_swapcount'
1502 | int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry)
| ^~~~~~~~~~~~~~
include/linux/swap.h:576:19: note: previous definition of 'swap_swapcount' with type 'int(struct swap_info_struct *, swp_entry_t)'
576 | static inline int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry)
| ^~~~~~~~~~~~~~
mm/swapfile.c:1518:5: error: redefinition of 'swp_swapcount'
1518 | int swp_swapcount(swp_entry_t entry)
| ^~~~~~~~~~~~~
include/linux/swap.h:581:19: note: previous definition of 'swp_swapcount' with type 'int(swp_entry_t)'
581 | static inline int swp_swapcount(swp_entry_t entry)
| ^~~~~~~~~~~~~
mm/swapfile.c:1611:6: error: redefinition of 'folio_free_swap'
1611 | bool folio_free_swap(struct folio *folio)
| ^~~~~~~~~~~~~~~
include/linux/swap.h:593:20: note: previous definition of 'folio_free_swap' with type 'bool(struct folio *)' {aka '_Bool(struct folio *)'}
593 | static inline bool folio_free_swap(struct folio *folio)
| ^~~~~~~~~~~~~~~
mm/swapfile.c:1655:6: error: redefinition of 'free_swap_and_cache_nr'
1655 | void free_swap_and_cache_nr(swp_entry_t entry, int nr)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/swap.h:532:20: note: previous definition of 'free_swap_and_cache_nr' with type 'void(swp_entry_t, int)'
532 | static inline void free_swap_and_cache_nr(swp_entry_t entry, int nr)
| ^~~~~~~~~~~~~~~~~~~~~~
mm/swapfile.c:2303:1: error: redefinition of 'add_swap_extent'
2303 | add_swap_extent(struct swap_info_struct *sis, unsigned long start_page,
| ^~~~~~~~~~~~~~~
include/linux/swap.h:598:19: note: previous definition of 'add_swap_extent' with type 'int(struct swap_info_struct *, long unsigned int, long unsigned int, sector_t)' {aka 'int(struct swap_info_struct *, long unsigned int, long unsigned int, long long unsigned int)'}
598 | static inline int add_swap_extent(struct swap_info_struct *sis,
| ^~~~~~~~~~~~~~~
mm/swapfile.c: In function 'setup_swap_extents':
mm/swapfile.c:2389:21: error: implicit declaration of function 'sio_pool_init'; did you mean 'mempool_init'? [-Werror=implicit-function-declaration]
2389 | sio_pool_init() != 0) {
| ^~~~~~~~~~~~~
| mempool_init
mm/swapfile.c:2396:16: error: implicit declaration of function 'generic_swapfile_activate' [-Werror=implicit-function-declaration]
2396 | return generic_swapfile_activate(sis, swap_file, span);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
mm/swapfile.c: In function '_enable_swap_info':
mm/swapfile.c:2444:26: error: lvalue required as left operand of assignment
2444 | total_swap_pages += p->pages;
| ^~
mm/swapfile.c: At top level:
mm/swapfile.c:2499:6: warning: no previous prototype for 'has_usable_swap' [-Wmissing-prototypes]
2499 | bool has_usable_swap(void)
| ^~~~~~~~~~~~~~~
mm/swapfile.c: In function '__do_sys_swapoff':
mm/swapfile.c:2574:26: error: lvalue required as left operand of assignment
2574 | total_swap_pages -= p->pages;
| ^~
mm/swapfile.c:2650:9: error: implicit declaration of function 'exit_swap_address_space'; did you mean 'swap_address_space'? [-Werror=implicit-function-declaration]
2650 | exit_swap_address_space(p->type);
| ^~~~~~~~~~~~~~~~~~~~~~~
| swap_address_space
In file included from include/linux/export.h:5,
from include/linux/linkage.h:7,
from include/linux/fs.h:5:
mm/swapfile.c: In function 'setup_swap_map_and_extents':
mm/swapfile.c:2995:22: error: 'SWAP_ADDRESS_SPACE_PAGES' undeclared (first use in this function)
2995 | DIV_ROUND_UP(SWAP_ADDRESS_SPACE_PAGES, SWAPFILE_CLUSTER)
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:284:55: note: in definition of macro '__is_constexpr'
284 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
| ^
include/linux/minmax.h:169:33: note: in expansion of macro '__careful_cmp'
169 | #define max_t(type, x, y) __careful_cmp(max, (type)(x), (type)(y))
| ^~~~~~~~~~~~~
mm/swapfile.c:2997:9: note: in expansion of macro 'max_t'
2997 | max_t(unsigned int, SWAP_CLUSTER_INFO_COLS, SWAP_CLUSTER_SPACE_COLS)
| ^~~~~
include/linux/math.h:37:22: note: in expansion of macro '__KERNEL_DIV_ROUND_UP'
37 | #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
| ^~~~~~~~~~~~~~~~~~~~~
mm/swapfile.c:2997:53: note: in expansion of macro 'SWAP_CLUSTER_SPACE_COLS'
2997 | max_t(unsigned int, SWAP_CLUSTER_INFO_COLS, SWAP_CLUSTER_SPACE_COLS)
| ^~~~~~~~~~~~~~~~~~~~~~~
mm/swapfile.c:3010:66: note: in expansion of macro 'SWAP_CLUSTER_COLS'
3010 | unsigned long col = p->cluster_next / SWAPFILE_CLUSTER % SWAP_CLUSTER_COLS;
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/container_of.h:5,
vim +/swap_free_nr +1388 mm/swapfile.c
1387
> 1388 void swap_free_nr(swp_entry_t entry, int nr_pages)
1389 {
1390 int nr;
1391 struct swap_info_struct *sis;
1392 unsigned long offset = swp_offset(entry);
1393
1394 sis = _swap_info_get(entry);
1395 if (!sis)
1396 return;
1397
1398 while (nr_pages) {
1399 nr = min_t(int, nr_pages, SWAPFILE_CLUSTER - offset % SWAPFILE_CLUSTER);
1400 cluster_swap_free_nr(sis, offset, nr);
1401 offset += nr;
1402 nr_pages -= nr;
1403 }
1404 }
1405
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [linux-next:master 6448/7397] mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr'
2024-06-21 17:59 [linux-next:master 6448/7397] mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr' kernel test robot
@ 2024-06-22 4:24 ` Barry Song
2024-06-22 5:53 ` Philip Li
0 siblings, 1 reply; 3+ messages in thread
From: Barry Song @ 2024-06-22 4:24 UTC (permalink / raw)
To: kernel test robot
Cc: Chuanhua Han, oe-kbuild-all, Linux Memory Management List,
Andrew Morton, Barry Song, Ryan Roberts, Huang, Ying
On Sat, Jun 22, 2024 at 7:09 AM kernel test robot <lkp@intel.com> wrote:
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: b992b79ca8bc336fa8e2c80990b5af80ed8f36fd
> commit: b858a8a49e72678a7e0ac90b8135d746b31d7586 [6448/7397] mm: swap: introduce swap_free_nr() for batched swap_free()
> config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240622/202406220112.qjyQbasK-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/20240622/202406220112.qjyQbasK-lkp@intel.com/reproduce)
I'm not sure why this is happening. I've downloaded the config and
kernel code and tried to
reproduce the issue using the same GCC version, but everything seems fine.
Is LKP experiencing issues today?
>
> 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/202406220112.qjyQbasK-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> In file included from mm/swapfile.c:17:
> include/linux/swap.h:519:49: error: expected identifier or '(' before numeric constant
> 519 | #define total_swap_pages 0L
> | ^~
> mm/swapfile.c:67:6: note: in expansion of macro 'total_swap_pages'
> 67 | long total_swap_pages;
> | ^~~~~~~~~~~~~~~~
> mm/swapfile.c:236:10: warning: no previous prototype for 'swap_folio_sector' [-Wmissing-prototypes]
> 236 | sector_t swap_folio_sector(struct folio *folio)
> | ^~~~~~~~~~~~~~~~~
> mm/swapfile.c: In function 'set_cluster_next':
> mm/swapfile.c:797:22: error: 'SWAP_ADDRESS_SPACE_SHIFT' undeclared (first use in this function)
> 797 | if ((prev >> SWAP_ADDRESS_SPACE_SHIFT) !=
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> mm/swapfile.c:797:22: note: each undeclared identifier is reported only once for each function it appears in
> In file included from include/vdso/const.h:5,
> from include/linux/const.h:4,
> from include/linux/list.h:9,
> from include/linux/wait.h:7,
> from include/linux/wait_bit.h:8,
> from include/linux/fs.h:6,
> from include/linux/highmem.h:5,
> from include/linux/bvec.h:10,
> from include/linux/blk_types.h:10,
> from include/linux/blkdev.h:9,
> from mm/swapfile.c:9:
> mm/swapfile.c:803:41: error: 'SWAP_ADDRESS_SPACE_PAGES' undeclared (first use in this function)
> 803 | next = ALIGN_DOWN(next, SWAP_ADDRESS_SPACE_PAGES);
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> include/uapi/linux/const.h:32:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
> 32 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
> | ^
> include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
> 9 | #define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
> | ^~~~~~~~~~~~~~
> mm/swapfile.c:803:24: note: in expansion of macro 'ALIGN_DOWN'
> 803 | next = ALIGN_DOWN(next, SWAP_ADDRESS_SPACE_PAGES);
> | ^~~~~~~~~~
> mm/swapfile.c: At top level:
> mm/swapfile.c:1071:5: warning: no previous prototype for 'get_swap_pages' [-Wmissing-prototypes]
> 1071 | int get_swap_pages(int n_goal, swp_entry_t swp_entries[], int entry_order)
> | ^~~~~~~~~~~~~~
> mm/swapfile.c:1278:26: error: redefinition of 'get_swap_device'
> 1278 | struct swap_info_struct *get_swap_device(swp_entry_t entry)
> | ^~~~~~~~~~~~~~~
> include/linux/swap.h:509:40: note: previous definition of 'get_swap_device' with type 'struct swap_info_struct *(swp_entry_t)'
> 509 | static inline struct swap_info_struct *get_swap_device(swp_entry_t entry)
> | ^~~~~~~~~~~~~~~
> mm/swapfile.c:1350:6: error: redefinition of 'swap_free'
> 1350 | void swap_free(swp_entry_t entry)
> | ^~~~~~~~~
> include/linux/swap.h:559:20: note: previous definition of 'swap_free' with type 'void(swp_entry_t)'
> 559 | static inline void swap_free(swp_entry_t swp)
> | ^~~~~~~~~
> >> mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr'
> 1388 | void swap_free_nr(swp_entry_t entry, int nr_pages)
> | ^~~~~~~~~~~~
> include/linux/swap.h:563:20: note: previous definition of 'swap_free_nr' with type 'void(swp_entry_t, int)'
> 563 | static inline void swap_free_nr(swp_entry_t entry, int nr_pages)
> | ^~~~~~~~~~~~
> mm/swapfile.c:1409:6: error: redefinition of 'put_swap_folio'
> 1409 | void put_swap_folio(struct folio *folio, swp_entry_t entry)
> | ^~~~~~~~~~~~~~
> include/linux/swap.h:567:20: note: previous definition of 'put_swap_folio' with type 'void(struct folio *, swp_entry_t)'
> 567 | static inline void put_swap_folio(struct folio *folio, swp_entry_t swp)
> | ^~~~~~~~~~~~~~
> mm/swapfile.c:1461:6: warning: no previous prototype for 'swapcache_free_entries' [-Wmissing-prototypes]
> 1461 | void swapcache_free_entries(swp_entry_t *entries, int n)
> | ^~~~~~~~~~~~~~~~~~~~~~
> mm/swapfile.c:1489:5: error: redefinition of '__swap_count'
> 1489 | int __swap_count(swp_entry_t entry)
> | ^~~~~~~~~~~~
> include/linux/swap.h:571:19: note: previous definition of '__swap_count' with type 'int(swp_entry_t)'
> 571 | static inline int __swap_count(swp_entry_t entry)
> | ^~~~~~~~~~~~
> mm/swapfile.c:1502:5: error: redefinition of 'swap_swapcount'
> 1502 | int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry)
> | ^~~~~~~~~~~~~~
> include/linux/swap.h:576:19: note: previous definition of 'swap_swapcount' with type 'int(struct swap_info_struct *, swp_entry_t)'
> 576 | static inline int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry)
> | ^~~~~~~~~~~~~~
> mm/swapfile.c:1518:5: error: redefinition of 'swp_swapcount'
> 1518 | int swp_swapcount(swp_entry_t entry)
> | ^~~~~~~~~~~~~
> include/linux/swap.h:581:19: note: previous definition of 'swp_swapcount' with type 'int(swp_entry_t)'
> 581 | static inline int swp_swapcount(swp_entry_t entry)
> | ^~~~~~~~~~~~~
> mm/swapfile.c:1611:6: error: redefinition of 'folio_free_swap'
> 1611 | bool folio_free_swap(struct folio *folio)
> | ^~~~~~~~~~~~~~~
> include/linux/swap.h:593:20: note: previous definition of 'folio_free_swap' with type 'bool(struct folio *)' {aka '_Bool(struct folio *)'}
> 593 | static inline bool folio_free_swap(struct folio *folio)
> | ^~~~~~~~~~~~~~~
> mm/swapfile.c:1655:6: error: redefinition of 'free_swap_and_cache_nr'
> 1655 | void free_swap_and_cache_nr(swp_entry_t entry, int nr)
> | ^~~~~~~~~~~~~~~~~~~~~~
> include/linux/swap.h:532:20: note: previous definition of 'free_swap_and_cache_nr' with type 'void(swp_entry_t, int)'
> 532 | static inline void free_swap_and_cache_nr(swp_entry_t entry, int nr)
> | ^~~~~~~~~~~~~~~~~~~~~~
> mm/swapfile.c:2303:1: error: redefinition of 'add_swap_extent'
> 2303 | add_swap_extent(struct swap_info_struct *sis, unsigned long start_page,
> | ^~~~~~~~~~~~~~~
> include/linux/swap.h:598:19: note: previous definition of 'add_swap_extent' with type 'int(struct swap_info_struct *, long unsigned int, long unsigned int, sector_t)' {aka 'int(struct swap_info_struct *, long unsigned int, long unsigned int, long long unsigned int)'}
> 598 | static inline int add_swap_extent(struct swap_info_struct *sis,
> | ^~~~~~~~~~~~~~~
> mm/swapfile.c: In function 'setup_swap_extents':
> mm/swapfile.c:2389:21: error: implicit declaration of function 'sio_pool_init'; did you mean 'mempool_init'? [-Werror=implicit-function-declaration]
> 2389 | sio_pool_init() != 0) {
> | ^~~~~~~~~~~~~
> | mempool_init
> mm/swapfile.c:2396:16: error: implicit declaration of function 'generic_swapfile_activate' [-Werror=implicit-function-declaration]
> 2396 | return generic_swapfile_activate(sis, swap_file, span);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> mm/swapfile.c: In function '_enable_swap_info':
> mm/swapfile.c:2444:26: error: lvalue required as left operand of assignment
> 2444 | total_swap_pages += p->pages;
> | ^~
> mm/swapfile.c: At top level:
> mm/swapfile.c:2499:6: warning: no previous prototype for 'has_usable_swap' [-Wmissing-prototypes]
> 2499 | bool has_usable_swap(void)
> | ^~~~~~~~~~~~~~~
> mm/swapfile.c: In function '__do_sys_swapoff':
> mm/swapfile.c:2574:26: error: lvalue required as left operand of assignment
> 2574 | total_swap_pages -= p->pages;
> | ^~
> mm/swapfile.c:2650:9: error: implicit declaration of function 'exit_swap_address_space'; did you mean 'swap_address_space'? [-Werror=implicit-function-declaration]
> 2650 | exit_swap_address_space(p->type);
> | ^~~~~~~~~~~~~~~~~~~~~~~
> | swap_address_space
> In file included from include/linux/export.h:5,
> from include/linux/linkage.h:7,
> from include/linux/fs.h:5:
> mm/swapfile.c: In function 'setup_swap_map_and_extents':
> mm/swapfile.c:2995:22: error: 'SWAP_ADDRESS_SPACE_PAGES' undeclared (first use in this function)
> 2995 | DIV_ROUND_UP(SWAP_ADDRESS_SPACE_PAGES, SWAPFILE_CLUSTER)
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/compiler.h:284:55: note: in definition of macro '__is_constexpr'
> 284 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
> | ^
> include/linux/minmax.h:169:33: note: in expansion of macro '__careful_cmp'
> 169 | #define max_t(type, x, y) __careful_cmp(max, (type)(x), (type)(y))
> | ^~~~~~~~~~~~~
> mm/swapfile.c:2997:9: note: in expansion of macro 'max_t'
> 2997 | max_t(unsigned int, SWAP_CLUSTER_INFO_COLS, SWAP_CLUSTER_SPACE_COLS)
> | ^~~~~
> include/linux/math.h:37:22: note: in expansion of macro '__KERNEL_DIV_ROUND_UP'
> 37 | #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
> | ^~~~~~~~~~~~~~~~~~~~~
> mm/swapfile.c:2997:53: note: in expansion of macro 'SWAP_CLUSTER_SPACE_COLS'
> 2997 | max_t(unsigned int, SWAP_CLUSTER_INFO_COLS, SWAP_CLUSTER_SPACE_COLS)
> | ^~~~~~~~~~~~~~~~~~~~~~~
> mm/swapfile.c:3010:66: note: in expansion of macro 'SWAP_CLUSTER_COLS'
> 3010 | unsigned long col = p->cluster_next / SWAPFILE_CLUSTER % SWAP_CLUSTER_COLS;
> | ^~~~~~~~~~~~~~~~~
> In file included from include/linux/container_of.h:5,
>
>
> vim +/swap_free_nr +1388 mm/swapfile.c
>
> 1387
> > 1388 void swap_free_nr(swp_entry_t entry, int nr_pages)
> 1389 {
> 1390 int nr;
> 1391 struct swap_info_struct *sis;
> 1392 unsigned long offset = swp_offset(entry);
> 1393
> 1394 sis = _swap_info_get(entry);
> 1395 if (!sis)
> 1396 return;
> 1397
> 1398 while (nr_pages) {
> 1399 nr = min_t(int, nr_pages, SWAPFILE_CLUSTER - offset % SWAPFILE_CLUSTER);
> 1400 cluster_swap_free_nr(sis, offset, nr);
> 1401 offset += nr;
> 1402 nr_pages -= nr;
> 1403 }
> 1404 }
> 1405
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
Thanks
Barry
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [linux-next:master 6448/7397] mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr'
2024-06-22 4:24 ` Barry Song
@ 2024-06-22 5:53 ` Philip Li
0 siblings, 0 replies; 3+ messages in thread
From: Philip Li @ 2024-06-22 5:53 UTC (permalink / raw)
To: Barry Song
Cc: kernel test robot, Chuanhua Han, oe-kbuild-all,
Linux Memory Management List, Andrew Morton, Barry Song,
Ryan Roberts, Huang, Ying
On Sat, Jun 22, 2024 at 04:24:43PM +1200, Barry Song wrote:
> On Sat, Jun 22, 2024 at 7:09 AM kernel test robot <lkp@intel.com> wrote:
> >
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head: b992b79ca8bc336fa8e2c80990b5af80ed8f36fd
> > commit: b858a8a49e72678a7e0ac90b8135d746b31d7586 [6448/7397] mm: swap: introduce swap_free_nr() for batched swap_free()
> > config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240622/202406220112.qjyQbasK-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/20240622/202406220112.qjyQbasK-lkp@intel.com/reproduce)
>
> I'm not sure why this is happening. I've downloaded the config and
> kernel code and tried to
> reproduce the issue using the same GCC version, but everything seems fine.
>
> Is LKP experiencing issues today?
Sorry about the false report, it is a wrong one similar to another report at
https://lore.kernel.org/oe-kbuild-all/202406211750.Ks4k82Gi-lkp@intel.com/.
Kindly ignore this or any one that uses x86_64-randconfig-014-20240202 kconfig,
and we will resolve the bot bug asap.
>
> >
> > 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/202406220112.qjyQbasK-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> > In file included from mm/swapfile.c:17:
> > include/linux/swap.h:519:49: error: expected identifier or '(' before numeric constant
> > 519 | #define total_swap_pages 0L
> > | ^~
> > mm/swapfile.c:67:6: note: in expansion of macro 'total_swap_pages'
> > 67 | long total_swap_pages;
> > | ^~~~~~~~~~~~~~~~
> > mm/swapfile.c:236:10: warning: no previous prototype for 'swap_folio_sector' [-Wmissing-prototypes]
> > 236 | sector_t swap_folio_sector(struct folio *folio)
> > | ^~~~~~~~~~~~~~~~~
> > mm/swapfile.c: In function 'set_cluster_next':
> > mm/swapfile.c:797:22: error: 'SWAP_ADDRESS_SPACE_SHIFT' undeclared (first use in this function)
> > 797 | if ((prev >> SWAP_ADDRESS_SPACE_SHIFT) !=
> > | ^~~~~~~~~~~~~~~~~~~~~~~~
> > mm/swapfile.c:797:22: note: each undeclared identifier is reported only once for each function it appears in
> > In file included from include/vdso/const.h:5,
> > from include/linux/const.h:4,
> > from include/linux/list.h:9,
> > from include/linux/wait.h:7,
> > from include/linux/wait_bit.h:8,
> > from include/linux/fs.h:6,
> > from include/linux/highmem.h:5,
> > from include/linux/bvec.h:10,
> > from include/linux/blk_types.h:10,
> > from include/linux/blkdev.h:9,
> > from mm/swapfile.c:9:
> > mm/swapfile.c:803:41: error: 'SWAP_ADDRESS_SPACE_PAGES' undeclared (first use in this function)
> > 803 | next = ALIGN_DOWN(next, SWAP_ADDRESS_SPACE_PAGES);
> > | ^~~~~~~~~~~~~~~~~~~~~~~~
> > include/uapi/linux/const.h:32:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
> > 32 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
> > | ^
> > include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
> > 9 | #define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
> > | ^~~~~~~~~~~~~~
> > mm/swapfile.c:803:24: note: in expansion of macro 'ALIGN_DOWN'
> > 803 | next = ALIGN_DOWN(next, SWAP_ADDRESS_SPACE_PAGES);
> > | ^~~~~~~~~~
> > mm/swapfile.c: At top level:
> > mm/swapfile.c:1071:5: warning: no previous prototype for 'get_swap_pages' [-Wmissing-prototypes]
> > 1071 | int get_swap_pages(int n_goal, swp_entry_t swp_entries[], int entry_order)
> > | ^~~~~~~~~~~~~~
> > mm/swapfile.c:1278:26: error: redefinition of 'get_swap_device'
> > 1278 | struct swap_info_struct *get_swap_device(swp_entry_t entry)
> > | ^~~~~~~~~~~~~~~
> > include/linux/swap.h:509:40: note: previous definition of 'get_swap_device' with type 'struct swap_info_struct *(swp_entry_t)'
> > 509 | static inline struct swap_info_struct *get_swap_device(swp_entry_t entry)
> > | ^~~~~~~~~~~~~~~
> > mm/swapfile.c:1350:6: error: redefinition of 'swap_free'
> > 1350 | void swap_free(swp_entry_t entry)
> > | ^~~~~~~~~
> > include/linux/swap.h:559:20: note: previous definition of 'swap_free' with type 'void(swp_entry_t)'
> > 559 | static inline void swap_free(swp_entry_t swp)
> > | ^~~~~~~~~
> > >> mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr'
> > 1388 | void swap_free_nr(swp_entry_t entry, int nr_pages)
> > | ^~~~~~~~~~~~
> > include/linux/swap.h:563:20: note: previous definition of 'swap_free_nr' with type 'void(swp_entry_t, int)'
> > 563 | static inline void swap_free_nr(swp_entry_t entry, int nr_pages)
> > | ^~~~~~~~~~~~
> > mm/swapfile.c:1409:6: error: redefinition of 'put_swap_folio'
> > 1409 | void put_swap_folio(struct folio *folio, swp_entry_t entry)
> > | ^~~~~~~~~~~~~~
> > include/linux/swap.h:567:20: note: previous definition of 'put_swap_folio' with type 'void(struct folio *, swp_entry_t)'
> > 567 | static inline void put_swap_folio(struct folio *folio, swp_entry_t swp)
> > | ^~~~~~~~~~~~~~
> > mm/swapfile.c:1461:6: warning: no previous prototype for 'swapcache_free_entries' [-Wmissing-prototypes]
> > 1461 | void swapcache_free_entries(swp_entry_t *entries, int n)
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > mm/swapfile.c:1489:5: error: redefinition of '__swap_count'
> > 1489 | int __swap_count(swp_entry_t entry)
> > | ^~~~~~~~~~~~
> > include/linux/swap.h:571:19: note: previous definition of '__swap_count' with type 'int(swp_entry_t)'
> > 571 | static inline int __swap_count(swp_entry_t entry)
> > | ^~~~~~~~~~~~
> > mm/swapfile.c:1502:5: error: redefinition of 'swap_swapcount'
> > 1502 | int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry)
> > | ^~~~~~~~~~~~~~
> > include/linux/swap.h:576:19: note: previous definition of 'swap_swapcount' with type 'int(struct swap_info_struct *, swp_entry_t)'
> > 576 | static inline int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry)
> > | ^~~~~~~~~~~~~~
> > mm/swapfile.c:1518:5: error: redefinition of 'swp_swapcount'
> > 1518 | int swp_swapcount(swp_entry_t entry)
> > | ^~~~~~~~~~~~~
> > include/linux/swap.h:581:19: note: previous definition of 'swp_swapcount' with type 'int(swp_entry_t)'
> > 581 | static inline int swp_swapcount(swp_entry_t entry)
> > | ^~~~~~~~~~~~~
> > mm/swapfile.c:1611:6: error: redefinition of 'folio_free_swap'
> > 1611 | bool folio_free_swap(struct folio *folio)
> > | ^~~~~~~~~~~~~~~
> > include/linux/swap.h:593:20: note: previous definition of 'folio_free_swap' with type 'bool(struct folio *)' {aka '_Bool(struct folio *)'}
> > 593 | static inline bool folio_free_swap(struct folio *folio)
> > | ^~~~~~~~~~~~~~~
> > mm/swapfile.c:1655:6: error: redefinition of 'free_swap_and_cache_nr'
> > 1655 | void free_swap_and_cache_nr(swp_entry_t entry, int nr)
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/swap.h:532:20: note: previous definition of 'free_swap_and_cache_nr' with type 'void(swp_entry_t, int)'
> > 532 | static inline void free_swap_and_cache_nr(swp_entry_t entry, int nr)
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > mm/swapfile.c:2303:1: error: redefinition of 'add_swap_extent'
> > 2303 | add_swap_extent(struct swap_info_struct *sis, unsigned long start_page,
> > | ^~~~~~~~~~~~~~~
> > include/linux/swap.h:598:19: note: previous definition of 'add_swap_extent' with type 'int(struct swap_info_struct *, long unsigned int, long unsigned int, sector_t)' {aka 'int(struct swap_info_struct *, long unsigned int, long unsigned int, long long unsigned int)'}
> > 598 | static inline int add_swap_extent(struct swap_info_struct *sis,
> > | ^~~~~~~~~~~~~~~
> > mm/swapfile.c: In function 'setup_swap_extents':
> > mm/swapfile.c:2389:21: error: implicit declaration of function 'sio_pool_init'; did you mean 'mempool_init'? [-Werror=implicit-function-declaration]
> > 2389 | sio_pool_init() != 0) {
> > | ^~~~~~~~~~~~~
> > | mempool_init
> > mm/swapfile.c:2396:16: error: implicit declaration of function 'generic_swapfile_activate' [-Werror=implicit-function-declaration]
> > 2396 | return generic_swapfile_activate(sis, swap_file, span);
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~
> > mm/swapfile.c: In function '_enable_swap_info':
> > mm/swapfile.c:2444:26: error: lvalue required as left operand of assignment
> > 2444 | total_swap_pages += p->pages;
> > | ^~
> > mm/swapfile.c: At top level:
> > mm/swapfile.c:2499:6: warning: no previous prototype for 'has_usable_swap' [-Wmissing-prototypes]
> > 2499 | bool has_usable_swap(void)
> > | ^~~~~~~~~~~~~~~
> > mm/swapfile.c: In function '__do_sys_swapoff':
> > mm/swapfile.c:2574:26: error: lvalue required as left operand of assignment
> > 2574 | total_swap_pages -= p->pages;
> > | ^~
> > mm/swapfile.c:2650:9: error: implicit declaration of function 'exit_swap_address_space'; did you mean 'swap_address_space'? [-Werror=implicit-function-declaration]
> > 2650 | exit_swap_address_space(p->type);
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> > | swap_address_space
> > In file included from include/linux/export.h:5,
> > from include/linux/linkage.h:7,
> > from include/linux/fs.h:5:
> > mm/swapfile.c: In function 'setup_swap_map_and_extents':
> > mm/swapfile.c:2995:22: error: 'SWAP_ADDRESS_SPACE_PAGES' undeclared (first use in this function)
> > 2995 | DIV_ROUND_UP(SWAP_ADDRESS_SPACE_PAGES, SWAPFILE_CLUSTER)
> > | ^~~~~~~~~~~~~~~~~~~~~~~~
> > include/linux/compiler.h:284:55: note: in definition of macro '__is_constexpr'
> > 284 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
> > | ^
> > include/linux/minmax.h:169:33: note: in expansion of macro '__careful_cmp'
> > 169 | #define max_t(type, x, y) __careful_cmp(max, (type)(x), (type)(y))
> > | ^~~~~~~~~~~~~
> > mm/swapfile.c:2997:9: note: in expansion of macro 'max_t'
> > 2997 | max_t(unsigned int, SWAP_CLUSTER_INFO_COLS, SWAP_CLUSTER_SPACE_COLS)
> > | ^~~~~
> > include/linux/math.h:37:22: note: in expansion of macro '__KERNEL_DIV_ROUND_UP'
> > 37 | #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
> > | ^~~~~~~~~~~~~~~~~~~~~
> > mm/swapfile.c:2997:53: note: in expansion of macro 'SWAP_CLUSTER_SPACE_COLS'
> > 2997 | max_t(unsigned int, SWAP_CLUSTER_INFO_COLS, SWAP_CLUSTER_SPACE_COLS)
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> > mm/swapfile.c:3010:66: note: in expansion of macro 'SWAP_CLUSTER_COLS'
> > 3010 | unsigned long col = p->cluster_next / SWAPFILE_CLUSTER % SWAP_CLUSTER_COLS;
> > | ^~~~~~~~~~~~~~~~~
> > In file included from include/linux/container_of.h:5,
> >
> >
> > vim +/swap_free_nr +1388 mm/swapfile.c
> >
> > 1387
> > > 1388 void swap_free_nr(swp_entry_t entry, int nr_pages)
> > 1389 {
> > 1390 int nr;
> > 1391 struct swap_info_struct *sis;
> > 1392 unsigned long offset = swp_offset(entry);
> > 1393
> > 1394 sis = _swap_info_get(entry);
> > 1395 if (!sis)
> > 1396 return;
> > 1397
> > 1398 while (nr_pages) {
> > 1399 nr = min_t(int, nr_pages, SWAPFILE_CLUSTER - offset % SWAPFILE_CLUSTER);
> > 1400 cluster_swap_free_nr(sis, offset, nr);
> > 1401 offset += nr;
> > 1402 nr_pages -= nr;
> > 1403 }
> > 1404 }
> > 1405
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
> >
>
> Thanks
> Barry
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-06-22 5:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-21 17:59 [linux-next:master 6448/7397] mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr' kernel test robot
2024-06-22 4:24 ` Barry Song
2024-06-22 5:53 ` Philip Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox