From: kernel test robot <lkp@intel.com>
To: NeilBrown <neilb@suse.de>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org
Subject: Re: [PATCH 01/21] MM: create new mm/swap.h header file.
Date: Mon, 7 Feb 2022 22:26:53 +0800 [thread overview]
Message-ID: <202202072219.lW7FXue8-lkp@intel.com> (raw)
In-Reply-To: <164420916109.29374.8959231877111146366.stgit@noble.brown>
Hi NeilBrown,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on trondmy-nfs/linux-next]
[also build test ERROR on hnaz-mm/master cifs/for-next linus/master v5.17-rc3 next-20220207]
[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/NeilBrown/Repair-SWAP-over_NFS/20220207-125206
base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
config: x86_64-randconfig-a002-20220207 (https://download.01.org/0day-ci/archive/20220207/202202072219.lW7FXue8-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0d8850ae2cae85d49bea6ae0799fa41c7202c05c)
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
# https://github.com/0day-ci/linux/commit/06d2bcb84187037252a0f764881ab51965e931ea
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review NeilBrown/Repair-SWAP-over_NFS/20220207-125206
git checkout 06d2bcb84187037252a0f764881ab51965e931ea
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> mm/huge_memory.c:2423:16: error: implicit declaration of function 'swap_address_space' [-Werror,-Wimplicit-function-declaration]
swap_cache = swap_address_space(entry);
^
mm/huge_memory.c:2423:14: warning: incompatible integer to pointer conversion assigning to 'struct address_space *' from 'int' [-Wint-conversion]
swap_cache = swap_address_space(entry);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
vim +/swap_address_space +2423 mm/huge_memory.c
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2404
baa355fd331424 Kirill A. Shutemov 2016-07-26 2405 static void __split_huge_page(struct page *page, struct list_head *list,
b6769834aac1d4 Alex Shi 2020-12-15 2406 pgoff_t end)
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2407 {
e809c3fedeeb80 Matthew Wilcox (Oracle 2021-06-28 2408) struct folio *folio = page_folio(page);
e809c3fedeeb80 Matthew Wilcox (Oracle 2021-06-28 2409) struct page *head = &folio->page;
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2410 struct lruvec *lruvec;
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2411) struct address_space *swap_cache = NULL;
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2412) unsigned long offset = 0;
8cce54756806e5 Kirill A. Shutemov 2020-10-15 2413 unsigned int nr = thp_nr_pages(head);
8df651c7059e79 Kirill A. Shutemov 2016-03-15 2414 int i;
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2415
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2416 /* complete memcg works before add pages to LRU */
be6c8982e4ab9a Zhou Guanghui 2021-03-12 2417 split_page_memcg(head, nr);
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2418
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2419) if (PageAnon(head) && PageSwapCache(head)) {
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2420) swp_entry_t entry = { .val = page_private(head) };
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2421)
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2422) offset = swp_offset(entry);
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 @2423) swap_cache = swap_address_space(entry);
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2424) xa_lock(&swap_cache->i_pages);
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2425) }
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2426)
f0953a1bbaca71 Ingo Molnar 2021-05-06 2427 /* lock lru list/PageCompound, ref frozen by page_ref_freeze */
e809c3fedeeb80 Matthew Wilcox (Oracle 2021-06-28 2428) lruvec = folio_lruvec_lock(folio);
b6769834aac1d4 Alex Shi 2020-12-15 2429
eac96c3efdb593 Yang Shi 2021-10-28 2430 ClearPageHasHWPoisoned(head);
eac96c3efdb593 Yang Shi 2021-10-28 2431
8cce54756806e5 Kirill A. Shutemov 2020-10-15 2432 for (i = nr - 1; i >= 1; i--) {
8df651c7059e79 Kirill A. Shutemov 2016-03-15 2433 __split_huge_page_tail(head, i, lruvec, list);
d144bf6205342a Hugh Dickins 2021-09-02 2434 /* Some pages can be beyond EOF: drop them from page cache */
baa355fd331424 Kirill A. Shutemov 2016-07-26 2435 if (head[i].index >= end) {
2d077d4b59924a Hugh Dickins 2018-06-01 2436 ClearPageDirty(head + i);
baa355fd331424 Kirill A. Shutemov 2016-07-26 2437 __delete_from_page_cache(head + i, NULL);
d144bf6205342a Hugh Dickins 2021-09-02 2438 if (shmem_mapping(head->mapping))
800d8c63b2e989 Kirill A. Shutemov 2016-07-26 2439 shmem_uncharge(head->mapping->host, 1);
baa355fd331424 Kirill A. Shutemov 2016-07-26 2440 put_page(head + i);
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2441) } else if (!PageAnon(page)) {
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2442) __xa_store(&head->mapping->i_pages, head[i].index,
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2443) head + i, 0);
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2444) } else if (swap_cache) {
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2445) __xa_store(&swap_cache->i_pages, offset + i,
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2446) head + i, 0);
baa355fd331424 Kirill A. Shutemov 2016-07-26 2447 }
baa355fd331424 Kirill A. Shutemov 2016-07-26 2448 }
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2449
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2450 ClearPageCompound(head);
6168d0da2b479c Alex Shi 2020-12-15 2451 unlock_page_lruvec(lruvec);
b6769834aac1d4 Alex Shi 2020-12-15 2452 /* Caller disabled irqs, so they are still disabled here */
f7da677bc6e720 Vlastimil Babka 2019-08-24 2453
8cce54756806e5 Kirill A. Shutemov 2020-10-15 2454 split_page_owner(head, nr);
f7da677bc6e720 Vlastimil Babka 2019-08-24 2455
baa355fd331424 Kirill A. Shutemov 2016-07-26 2456 /* See comment in __split_huge_page_tail() */
baa355fd331424 Kirill A. Shutemov 2016-07-26 2457 if (PageAnon(head)) {
aa5dc07f70c50a Matthew Wilcox 2017-12-04 2458 /* Additional pin to swap cache */
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2459) if (PageSwapCache(head)) {
38d8b4e6bdc872 Huang Ying 2017-07-06 2460 page_ref_add(head, 2);
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2461) xa_unlock(&swap_cache->i_pages);
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2462) } else {
baa355fd331424 Kirill A. Shutemov 2016-07-26 2463 page_ref_inc(head);
4101196b19d7f9 Matthew Wilcox (Oracle 2019-09-23 2464) }
baa355fd331424 Kirill A. Shutemov 2016-07-26 2465 } else {
aa5dc07f70c50a Matthew Wilcox 2017-12-04 2466 /* Additional pin to page cache */
baa355fd331424 Kirill A. Shutemov 2016-07-26 2467 page_ref_add(head, 2);
b93b016313b3ba Matthew Wilcox 2018-04-10 2468 xa_unlock(&head->mapping->i_pages);
baa355fd331424 Kirill A. Shutemov 2016-07-26 2469 }
b6769834aac1d4 Alex Shi 2020-12-15 2470 local_irq_enable();
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2471
8cce54756806e5 Kirill A. Shutemov 2020-10-15 2472 remap_page(head, nr);
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2473
c4f9c701f9b442 Huang Ying 2020-10-15 2474 if (PageSwapCache(head)) {
c4f9c701f9b442 Huang Ying 2020-10-15 2475 swp_entry_t entry = { .val = page_private(head) };
c4f9c701f9b442 Huang Ying 2020-10-15 2476
c4f9c701f9b442 Huang Ying 2020-10-15 2477 split_swap_cluster(entry);
c4f9c701f9b442 Huang Ying 2020-10-15 2478 }
c4f9c701f9b442 Huang Ying 2020-10-15 2479
8cce54756806e5 Kirill A. Shutemov 2020-10-15 2480 for (i = 0; i < nr; i++) {
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2481 struct page *subpage = head + i;
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2482 if (subpage == page)
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2483 continue;
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2484 unlock_page(subpage);
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2485
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2486 /*
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2487 * Subpages may be freed if there wasn't any mapping
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2488 * like if add_to_swap() is running on a lru page that
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2489 * had its mapping zapped. And freeing these pages
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2490 * requires taking the lru_lock so we do the put_page
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2491 * of the tail pages after the split is complete.
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2492 */
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2493 put_page(subpage);
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2494 }
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2495 }
e9b61f19858a5d Kirill A. Shutemov 2016-01-15 2496
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next parent reply other threads:[~2022-02-07 14:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <164420916109.29374.8959231877111146366.stgit@noble.brown>
2022-02-07 14:26 ` kernel test robot [this message]
2022-02-07 15:18 ` [PATCH 01/21] MM: create new mm/swap.h header file kernel test robot
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=202202072219.lW7FXue8-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=llvm@lists.linux.dev \
--cc=neilb@suse.de \
/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