All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@infradead.org>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>
Subject: Re: linux-next: build failure after merge of the mm tree
Date: Mon, 2 May 2022 12:19:36 +0100	[thread overview]
Message-ID: <Ym++SI1ftbRg+9zK@casper.infradead.org> (raw)
In-Reply-To: <20220502204903.64e94442@canb.auug.org.au>

On Mon, May 02, 2022 at 08:49:03PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the mm tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
[... i wish our BUILD_BUGs produced nicer output from the compiler ...]
> Reverting the following commits makes the problem go away:
> 
>   2b58b3f33ba2 ("mm/shmem: convert shmem_swapin_page() to shmem_swapin_folio()")
>   94cdf3e8c0bf ("mm/shmem: convert shmem_getpage_gfp to use a folio")
>   3674fd6cadf5 ("mm/shmem: convert shmem_alloc_and_acct_page to use a folio")
>   b0bb08b2d5f3 ("mm/shmem: turn shmem_alloc_page() into shmem_alloc_folio()")
>   8d657a77c6fe ("mm/shmem: turn shmem_should_replace_page into shmem_should_replace_folio")
>   9a44f3462edc ("mm/shmem: convert shmem_add_to_page_cache to take a folio")
>   561fd8bee1dc ("mm/swap: add folio_throttle_swaprate")
>   cb4e56ee240d ("mm/shmem: use a folio in shmem_unused_huge_shrink")
>   22bf1b68e572 ("vmscan: remove remaining uses of page in shrink_page_list")
>   7d15d41b7c4a ("vmscan: convert the activate_locked portion of shrink_page_list to folios")
>   8a6aff9c51c7 ("vmscan: move initialisation of mapping down")
>   b79338b3d217 ("vmscan: convert lazy freeing to folios")
>   719426e40146 ("vmscan: convert page buffer handling to use folios")
>   339ba7502e13 ("vmscan: convert dirty page handling to folios")

Oops.  allnoconfig on x86 reproduces the problem.  This fixes it;
happy to go back and produce a new set of patches for Andrew to
preserve bisectability.

diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
index 2999190adc22..e9e0d591061d 100644
--- a/include/linux/huge_mm.h
+++ b/include/linux/huge_mm.h
@@ -347,7 +347,6 @@ static inline void prep_transhuge_page(struct page *page) {}
 static inline bool
 can_split_folio(struct folio *folio, int *pextra_pins)
 {
-	BUILD_BUG();
 	return false;
 }
 static inline int
diff --git a/mm/shmem.c b/mm/shmem.c
index 673a0e783496..d62936ffe74d 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -738,7 +738,7 @@ static int shmem_add_to_page_cache(struct folio *folio,
 		xas_store(&xas, folio);
 		if (xas_error(&xas))
 			goto unlock;
-		if (folio_test_large(folio)) {
+		if (folio_test_pmd_mappable(folio)) {
 			count_vm_event(THP_FILE_ALLOC);
 			__lruvec_stat_mod_folio(folio, NR_SHMEM_THPS, nr);
 		}
@@ -1887,10 +1887,7 @@ static int shmem_getpage_gfp(struct inode *inode, pgoff_t index,
 		goto unlock;
 	}
 
-	if (folio_test_large(folio))
-		hindex = round_down(index, HPAGE_PMD_NR);
-	else
-		hindex = index;
+	hindex = round_down(index, folio_nr_pages(folio));
 
 	if (sgp == SGP_WRITE)
 		__folio_set_referenced(folio);
@@ -1909,7 +1906,7 @@ static int shmem_getpage_gfp(struct inode *inode, pgoff_t index,
 	spin_unlock_irq(&info->lock);
 	alloced = true;
 
-	if (folio_test_large(folio) &&
+	if (folio_test_pmd_mappable(folio) &&
 	    DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE) <
 			hindex + HPAGE_PMD_NR - 1) {
 		/*


  reply	other threads:[~2022-05-02 11:19 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-02 10:49 linux-next: build failure after merge of the mm tree Stephen Rothwell
2022-05-02 11:19 ` Matthew Wilcox [this message]
2022-05-03  6:45   ` Stephen Rothwell
2022-05-05 21:37 Stephen Rothwell
2022-05-10 11:25 Stephen Rothwell
2022-05-11  8:15 Stephen Rothwell
2022-05-11  8:27 ` Baolin Wang
2022-05-11  8:42 ` Baolin Wang
2022-05-11 23:28   ` Stephen Rothwell
2022-05-12  9:38 Stephen Rothwell
2022-05-12 10:13 ` Baolin Wang
2022-05-12 11:07 ` Catalin Marinas
2022-05-12 11:13   ` Baolin Wang
2022-05-12 13:28     ` Catalin Marinas
2022-05-12 19:10       ` Andrew Morton
2022-05-13  7:18   ` Stephen Rothwell
2022-07-08  9:44 Stephen Rothwell
2022-07-08 15:17 ` Darrick J. Wong
2022-07-10 22:28   ` Stephen Rothwell
2022-08-26  7:10 Stephen Rothwell
2022-08-26  7:32 ` Michal Hocko
2022-09-06 11:03 Stephen Rothwell
2022-09-06 12:05 ` Rob Clark
2022-09-06 18:05   ` Stephen Rothwell
2022-09-15  7:07 Stephen Rothwell
2022-09-15 16:37 ` Mike Kravetz
2022-09-15 20:06   ` Andrew Morton
2022-09-23  7:55 Stephen Rothwell
2022-09-23  9:50 ` Michael Walle
2022-09-23 11:01   ` Naoya Horiguchi
2022-09-23  8:12 Stephen Rothwell
2022-09-23  8:15 ` David Hildenbrand
2022-10-18  1:24 Stephen Rothwell
2022-11-02  3:55 Stephen Rothwell
2022-11-02 21:26 ` Andrew Morton
2022-11-03  5:02 Stephen Rothwell
2022-11-22  6:53 Stephen Rothwell
2022-11-22 10:31 ` David Hildenbrand
2022-12-16  0:21 Stephen Rothwell
2022-12-16  0:35 ` Andrew Morton
2022-12-16  1:03   ` Masami Hiramatsu
2022-12-16  1:26 Stephen Rothwell
2022-12-16  3:04 ` Andrew Morton
2023-01-25  3:05 Stephen Rothwell
2023-01-27  5:59 Stephen Rothwell
2023-01-27 13:11 ` Jan Kara
2023-01-31 21:47   ` Stephen Rothwell
2023-02-24  4:40     ` Stephen Rothwell
2023-02-24  6:01       ` Linus Torvalds
2023-02-24 20:36         ` Stephen Rothwell
2023-01-27  6:16 Stephen Rothwell
2023-01-27  6:16 ` Stephen Rothwell
2023-01-27  6:36 Stephen Rothwell
2023-01-30  5:14 Stephen Rothwell
2023-01-30  8:09 ` Christian Brauner
2023-02-26 22:18   ` Stephen Rothwell
2023-02-27 10:36     ` Christian Brauner
2023-02-07  4:37 Stephen Rothwell
2023-02-07 12:17 ` Jason Gunthorpe
2023-02-08  2:41   ` Stephen Rothwell
2023-02-07 14:25 ` David Howells
2023-03-06  0:52 Stephen Rothwell
2023-03-06 21:58 ` Stephen Rothwell
2023-03-06  2:54 Stephen Rothwell
2023-03-06  3:13 ` Andrew Morton
2023-05-17 23:59 Stephen Rothwell
2023-05-19  2:43 Stephen Rothwell
2023-05-19  8:19 ` Arnd Bergmann
2023-06-13  6:21 Stephen Rothwell
2023-06-13  6:21 ` Stephen Rothwell
2023-06-13 15:58 ` Catalin Marinas
2023-06-13 15:58   ` Catalin Marinas
2023-07-04  2:23 Stephen Rothwell
2023-07-04  2:32 ` Linus Torvalds
2023-07-04  5:51   ` Suren Baghdasaryan
2023-07-17 23:40 Stephen Rothwell
2023-07-18  0:02 Stephen Rothwell
2023-07-18 13:43 ` Andy Shevchenko
2023-07-18 17:34   ` Andrew Morton
2023-07-18 21:07     ` Andy Shevchenko
2023-07-19  4:32 Stephen Rothwell
2023-07-19  5:55 ` Alistair Popple
2023-07-26  4:53 Stephen Rothwell
2023-07-26  5:22 ` Aneesh Kumar K.V
2023-07-26  6:51   ` Stephen Rothwell
2023-07-26  5:14 Stephen Rothwell
2023-07-26 13:22 ` Kuan-Ying Lee (李冠穎)
2023-08-08  4:40 Stephen Rothwell
2023-08-08 15:20 ` Eric DeVolder
2023-08-11 17:16 ` Eric DeVolder
2023-08-21 23:55 Stephen Rothwell
2023-08-22  1:11 ` Matthew Wilcox
2023-08-22  1:11   ` Matthew Wilcox
2023-08-22  1:22   ` Stephen Rothwell
2023-08-22  1:22     ` Stephen Rothwell
2023-08-22  1:34     ` Matthew Wilcox
2023-08-22  1:34       ` Matthew Wilcox
2023-08-22  4:00       ` Darrick J. Wong
2023-08-22  4:00         ` Darrick J. Wong
2023-08-22 20:20         ` Matthew Wilcox
2023-08-22 20:20           ` Matthew Wilcox
2023-08-22  7:12   ` Michael Ellerman
2023-08-22  7:12     ` Michael Ellerman
2023-08-22 22:52 Stephen Rothwell
2023-09-25 23:18 Stephen Rothwell
2023-09-27 23:22 Stephen Rothwell
2023-09-28  6:47 ` Arnd Bergmann
2023-10-03 22:50 Stephen Rothwell
2023-11-27  2:28 Stephen Rothwell
2023-11-27  3:48 ` Stephen Rothwell
2023-11-27  3:48   ` Stephen Rothwell
2023-11-30 22:04   ` Stephen Rothwell
2023-11-30 22:04     ` Stephen Rothwell
2023-11-30 22:32     ` Andrew Morton
2023-11-30 22:32       ` Andrew Morton
2023-11-30 22:39     ` Michael Ellerman
2023-11-30 22:39       ` Michael Ellerman
2023-11-30 22:52       ` Andrew Morton
2023-11-30 22:52         ` Andrew Morton
2023-12-01  3:12         ` Michael Ellerman
2023-12-01  3:12           ` Michael Ellerman
2023-12-07 12:38 ` Michael Ellerman
2023-11-27  3:44 Stephen Rothwell
2023-12-22  0:16 ` Stephen Rothwell
2023-12-22  6:26   ` Andrew Morton
2023-11-28 21:45 Stephen Rothwell
2023-11-28 22:45 ` Andrew Morton
2023-11-29  8:17   ` Dmitry Rokosov
2023-11-30 22:12     ` Stephen Rothwell
2023-12-21  7:38 Stephen Rothwell
2023-12-21  7:45 ` Changbin Du
2024-01-23 23:05 Stephen Rothwell
2024-01-23 23:14 ` Suren Baghdasaryan
2024-01-24 23:23 Stephen Rothwell
2024-01-24 23:52 ` Suren Baghdasaryan
2024-01-25  2:40   ` Baoquan He
2024-01-25  3:29 Stephen Rothwell
2024-01-25 14:29 ` Baoquan He
2024-01-25 18:03   ` Stephen Rothwell
2024-02-01  2:57 Stephen Rothwell
2024-02-01  8:35 ` Marco Elver
2024-02-07  6:17 Stephen Rothwell
2024-02-14  3:57 Stephen Rothwell
2024-02-14 15:19 ` Andrew Morton
2024-02-15  3:47   ` Stephen Rothwell
2024-03-05  4:26 Stephen Rothwell
2024-03-05  6:39 ` Qi Zheng
2024-03-28  4:34 Stephen Rothwell
2024-04-05  2:55 Stephen Rothwell
2024-04-07 23:15 Stephen Rothwell
2024-04-08  1:44 ` Barry Song
2024-04-11 23:14 Stephen Rothwell
2024-04-12  6:39 Stephen Rothwell
2024-04-23  0:22 Stephen Rothwell
2024-04-30  0:38 Stephen Rothwell
2024-04-30  2:23 ` Lance Yang

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=Ym++SI1ftbRg+9zK@casper.infradead.org \
    --to=willy@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.