[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGj-7pUJQZD59Sx7E69Uvi1++dB59R8wWkDYvSTGYhU-18AHXg@mail.gmail.com>
Date: Thu, 15 May 2025 07:31:09 -0700
From: Shakeel Butt <shakeel.butt@...ux.dev>
To: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
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 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.
Powered by blists - more mailing lists