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
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;
_
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