[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7349271e-25f3-44e8-afe4-29ab1019b8cd@lucifer.local>
Date: Thu, 15 May 2025 16:28:19 +0100
From: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
To: Shakeel Butt <shakeel.butt@...ux.dev>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Johannes Weiner <hannes@...xchg.org>, Michal Hocko <mhocko@...nel.org>,
Roman Gushchin <roman.gushchin@...ux.dev>,
Muchun Song <muchun.song@...ux.dev>, Vlastimil Babka <vbabka@...e.cz>,
Alexei Starovoitov <ast@...nel.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Harry Yoo <harry.yoo@...cle.com>, Yosry Ahmed <yosry.ahmed@...ux.dev>,
bpf@...r.kernel.org, linux-mm@...ck.org, cgroups@...r.kernel.org,
linux-kernel@...r.kernel.org, Meta kernel team <kernel-team@...a.com>
Subject: Re: [PATCH v2 1/7] memcg: memcg_rstat_updated re-entrant safe
against irqs
On Thu, May 15, 2025 at 08:22:04AM -0700, Shakeel Butt wrote:
> On Thu, May 15, 2025 at 03:53:17PM +0100, Lorenzo Stoakes wrote:
> > On Thu, May 15, 2025 at 07:31:09AM -0700, Shakeel Butt wrote:
> > > On Thu, May 15, 2025 at 5:47 AM Lorenzo Stoakes
> > > <lorenzo.stoakes@...cle.com> wrote:
> > > >
> > > > Shakeel - This breaks the build in mm-new for me:
> > > >
> > > > CC mm/pt_reclaim.o
> > > > In file included from ./arch/x86/include/asm/rmwcc.h:5,
> > > > from ./arch/x86/include/asm/bitops.h:18,
> > > > from ./include/linux/bitops.h:68,
> > > > from ./include/linux/radix-tree.h:11,
> > > > from ./include/linux/idr.h:15,
> > > > from ./include/linux/cgroup-defs.h:13,
> > > > from mm/memcontrol.c:28:
> > > > mm/memcontrol.c: In function ‘mem_cgroup_alloc’:
> > > > ./arch/x86/include/asm/percpu.h:39:45: error: expected identifier or ‘(’ before ‘__seg_gs’
> > > > 39 | #define __percpu_seg_override CONCATENATE(__seg_, __percpu_seg)
> > > > | ^~~~~~
> > > > ./include/linux/args.h:25:24: note: in definition of macro ‘__CONCAT’
> > > > 25 | #define __CONCAT(a, b) a ## b
> > > > | ^
> > > > ./arch/x86/include/asm/percpu.h:39:33: note: in expansion of macro ‘CONCATENATE’
> > > > 39 | #define __percpu_seg_override CONCATENATE(__seg_, __percpu_seg)
> > > > | ^~~~~~~~~~~
> > > > ./arch/x86/include/asm/percpu.h:93:33: note: in expansion of macro ‘__percpu_seg_override’
> > > > 93 | # define __percpu_qual __percpu_seg_override
> > > > | ^~~~~~~~~~~~~~~~~~~~~
> > > > ././include/linux/compiler_types.h:60:25: note: in expansion of macro ‘__percpu_qual’
> > > > 60 | # define __percpu __percpu_qual BTF_TYPE_TAG(percpu)
> > > > | ^~~~~~~~~~~~~
> > > > mm/memcontrol.c:3700:45: note: in expansion of macro ‘__percpu’
> > > > 3700 | struct memcg_vmstats_percpu *statc, __percpu *pstatc_pcpu;
> > > > | ^~~~~~~~
> > > > mm/memcontrol.c:3731:25: error: ‘pstatc_pcpu’ undeclared (first use in this function); did you mean ‘kstat_cpu’?
> > > > 3731 | pstatc_pcpu = parent->vmstats_percpu;
> > > > | ^~~~~~~~~~~
> > > > | kstat_cpu
> > > > mm/memcontrol.c:3731:25: note: each undeclared identifier is reported only once for each function it appears in
> > > >
> > > > The __percpu macro seems to be a bit screwy with comma-delimited decls, as it
> > > > seems that putting this on its own line fixes this problem:
> > > >
> > >
> > > Which compiler (and version) is this? Thanks for the fix.
> >
> > gcc 15, but apparently 13, 14 also fail. It seems independent of config.
>
> Thanks, somehow it works with gcc 11.5.0.
That is... both extremely bizarre, and VERY gnu... haha
Powered by blists - more mailing lists