From: kernel test robot <lkp@intel.com>
To: Chuanhua Han <hanchuanhua@oppo.com>
Cc: oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
Barry Song <v-songbaohua@oppo.com>,
Ryan Roberts <ryan.roberts@arm.com>,
"Huang, Ying" <ying.huang@intel.com>
Subject: [linux-next:master 6448/7397] mm/swapfile.c:1388:6: error: redefinition of 'swap_free_nr'
Date: Sat, 22 Jun 2024 01:59:46 +0800 [thread overview]
Message-ID: <202406220112.qjyQbasK-lkp@intel.com> (raw)
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
next reply other threads:[~2024-06-21 18:00 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-21 17:59 kernel test robot [this message]
2024-06-22 4:24 ` Barry Song
2024-06-22 5:53 ` Philip Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202406220112.qjyQbasK-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=hanchuanhua@oppo.com \
--cc=linux-mm@kvack.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=ryan.roberts@arm.com \
--cc=v-songbaohua@oppo.com \
--cc=ying.huang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox