Subject: Re: linux-next: build failure after merge of the mm tree

From: SeongJae Park <[email-masked]>
Date: Mon, 9 Dec 2024 19:37:51 -0800

On Mon, 9 Dec 2024 18:25:57 -0800 Andrew Morton <[email-masked]> wrote:

> On Mon, 9 Dec 2024 17:08:29 +1100 Stephen Rothwell <[email-masked]> wrote:
> 
> > Hi all,
> > 
> > After merging the mm tree, today's linux-next build (powerpc allyesconfig)
> > failed like this:
> > 
> > In file included from mm/damon/vaddr.c:736:
> > mm/damon/tests/vaddr-kunit.h: In function 'damon_test_three_regions_in_vmas':
> > mm/damon/tests/vaddr-kunit.h:92:1: error: the frame size of 3280 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
> >    92 | }
> >       | ^
> > 
> > Presumably caused by commit
> > 
> >   062111898568 ("mm: move per-vma lock into vm_area_struct")
> > 
> 
> How about this?
> 
> 
> From: Andrew Morton <[email-masked]>
> Subject: mm/damon/tests/vaddr-kunit.h: reduce stack consumption
> Date: Mon Dec  9 06:20:01 PM PST 2024
> 
> After "mm: move per-vma lock into vm_area_struct" we're hitting
> 
> mm/damon/tests/vaddr-kunit.h: In function 'damon_test_three_regions_in_vmas':
> mm/damon/tests/vaddr-kunit.h:92:1: error: the frame size of 3280 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
> 
> Fix by moving all those vmas off the stack.
> 
> 
> Closes: https://lkml.kernel.org/r/[email-masked]
> Reported-by: Stephen Rothwell <[email-masked]>
> Cc: SeongJae Park <[email-masked]>
> Cc: Suren Baghdasaryan <[email-masked]>
> Signed-off-by: Andrew Morton <[email-masked]>

Reviewed-by: SeongJae Park <[email-masked]>

Thank you for this quick fix, Andrew.

> ---
> 
>  mm/damon/tests/vaddr-kunit.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/mm/damon/tests/vaddr-kunit.h~mm-damon-tests-vaddr-kunith-reduce-stack-consumption
> +++ a/mm/damon/tests/vaddr-kunit.h
> @@ -68,7 +68,7 @@ static void damon_test_three_regions_in_
>  	static struct mm_struct mm;
>  	struct damon_addr_range regions[3] = {0};
>  	/* 10-20-25, 200-210-220, 300-305, 307-330 */
> -	struct vm_area_struct vmas[] = {
> +	static const struct vm_area_struct vmas[] = {
>  		(struct vm_area_struct) {.vm_start = 10, .vm_end = 20},
>  		(struct vm_area_struct) {.vm_start = 20, .vm_end = 25},
>  		(struct vm_area_struct) {.vm_start = 200, .vm_end = 210},
> _

Thanks,
SJ