2024-02-14 03:57:39

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the mm tree

Hi all,

After merging the mm tree, today's linux-next build (sparc defconfig)
failed like this:

In file included from include/linux/page_ext.h:7,
from include/linux/mm.h:22,
from fs/sysfs/file.c:18:
include/linux/stackdepot.h:59:39: error: 'CONFIG_STACKDEPOT_MAX_FRAMES' undeclared here (not in a function)
59 | unsigned long entries[CONFIG_STACKDEPOT_MAX_FRAMES]; /* Frames */
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

(and many more)

Caused by commit

18d4230bb372 ("lib/stackdepot: move stack_record struct definition into the header")

from the mm-unstable branch of the mm tree.

$ grep CONFIG_STACKDEPOT .config
$

I have reverted the following commits for today:

7e56cf9a7f10 ("mm: add swappiness= arg to memory.reclaim")
6290011d1ce1 ("mm: add defines for min/max swappiness")
afb37edbd1e3 ("mm: optimization on page allocation when CMA enabled")
0b222ac0b19c ("userfaultfd: use per-vma locks in userfaultfd operations")
f8b7d8e37cb3 ("userfaultfd: protect mmap_changing with rw_sem in userfaulfd_ctx")
cd8df983e066 ("userfaultfd: move userfaultfd_ctx struct to header file")
292f31cdb470 ("mm,page_owner: update Documentation regarding page_owner_stacks")
76d2da5f4805 ("mm,page_owner: filter out stacks by a threshold")
37781739c4ad ("mm,page_owner: display all stacks and their count")
525a88caf59c ("mm,page_owner: implement the tracking of the stacks count")
18d4230bb372 ("lib/stackdepot: move stack_record struct definition into the header")

(from 18d4230bb372 to the end of mm-unstable)

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2024-02-14 15:19:56

by Andrew Morton

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the mm tree

On Wed, 14 Feb 2024 14:57:19 +1100 Stephen Rothwell <[email protected]> wrote:

> After merging the mm tree, today's linux-next build (sparc defconfig)
> failed like this:
>
> In file included from include/linux/page_ext.h:7,
> from include/linux/mm.h:22,
> from fs/sysfs/file.c:18:
> include/linux/stackdepot.h:59:39: error: 'CONFIG_STACKDEPOT_MAX_FRAMES' undeclared here (not in a function)
> 59 | unsigned long entries[CONFIG_STACKDEPOT_MAX_FRAMES]; /* Frames */
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> (and many more)
>
> Caused by commit
>
> 18d4230bb372 ("lib/stackdepot: move stack_record struct definition into the header")

Thanks, I'll try this.


--- a/include/linux/stackdepot.h~lib-stackdepot-move-stack_record-struct-definition-into-the-header-fix
+++ a/include/linux/stackdepot.h
@@ -39,6 +39,7 @@ typedef u32 depot_stack_handle_t;
#define DEPOT_POOL_INDEX_BITS (DEPOT_HANDLE_BITS - DEPOT_OFFSET_BITS - \
STACK_DEPOT_EXTRA_BITS)

+#ifdef CONFIG_STACKDEPOT
/* Compact structure that stores a reference to a stack. */
union handle_parts {
depot_stack_handle_t handle;
@@ -73,6 +74,7 @@ struct stack_record {
};
};
};
+#endif

typedef u32 depot_flags_t;

_


2024-02-15 03:47:53

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the mm tree

Hi Andrew,

On Wed, 14 Feb 2024 07:19:38 -0800 Andrew Morton <[email protected]> wrote:
>
> On Wed, 14 Feb 2024 14:57:19 +1100 Stephen Rothwell <[email protected]> wrote:
>
> > After merging the mm tree, today's linux-next build (sparc defconfig)
> > failed like this:
> >
> > In file included from include/linux/page_ext.h:7,
> > from include/linux/mm.h:22,
> > from fs/sysfs/file.c:18:
> > include/linux/stackdepot.h:59:39: error: 'CONFIG_STACKDEPOT_MAX_FRAMES' undeclared here (not in a function)
> > 59 | unsigned long entries[CONFIG_STACKDEPOT_MAX_FRAMES]; /* Frames */
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > (and many more)
> >
> > Caused by commit
> >
> > 18d4230bb372 ("lib/stackdepot: move stack_record struct definition into the header")
>
> Thanks, I'll try this.
>
>
> --- a/include/linux/stackdepot.h~lib-stackdepot-move-stack_record-struct-definition-into-the-header-fix
> +++ a/include/linux/stackdepot.h
> @@ -39,6 +39,7 @@ typedef u32 depot_stack_handle_t;
> #define DEPOT_POOL_INDEX_BITS (DEPOT_HANDLE_BITS - DEPOT_OFFSET_BITS - \
> STACK_DEPOT_EXTRA_BITS)
>
> +#ifdef CONFIG_STACKDEPOT
> /* Compact structure that stores a reference to a stack. */
> union handle_parts {
> depot_stack_handle_t handle;
> @@ -73,6 +74,7 @@ struct stack_record {
> };
> };
> };
> +#endif
>
> typedef u32 depot_flags_t;
>
> _
>

Works for me.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature