[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <014d87db-f389-4bba-be79-f5650ad08003@huaweicloud.com>
Date: Tue, 6 Jan 2026 10:44:31 +0800
From: Chen Ridong <chenridong@...weicloud.com>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>,
Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Daniel Borkmann <daniel@...earbox.net>,
Alexei Starovoitov <ast@...nel.org>, Andrii Nakryiko <andrii@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>, bpf <bpf@...r.kernel.org>,
Networking <netdev@...r.kernel.org>, Chen Ridong <chenridong@...wei.com>,
JP Kobryn <inwardvessel@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>,
Roman Gushchin <roman.gushchin@...ux.dev>
Subject: Re: linux-next: manual merge of the bpf-next tree with the
mm-unstable tree
On 2026/1/6 10:15, Alexei Starovoitov wrote:
> On Sun, Jan 4, 2026 at 6:04 PM Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>>
>> Hi all,
>>
>> Today's linux-next merge of the bpf-next tree got a semantic conflict in:
>>
>> include/linux/memcontrol.h
>> mm/memcontrol-v1.c
>> mm/memcontrol.c
>>
>> between commit:
>>
>> eb557e10dcac ("memcg: move mem_cgroup_usage memcontrol-v1.c")
>>
>> from the mm-unstable tree and commit:
>>
>> 99430ab8b804 ("mm: introduce BPF kfuncs to access memcg statistics and events")
>>
>> from the bpf-next tree producing this build failure:
>>
>> mm/memcontrol-v1.c:430:22: error: static declaration of 'mem_cgroup_usage' follows non-static declaration
>> 430 | static unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap)
>> | ^~~~~~~~~~~~~~~~
>> In file included from mm/memcontrol-v1.c:3:
>> include/linux/memcontrol.h:953:15: note: previous declaration of 'mem_cgroup_usage' with type 'long unsigned int(struct mem_cgroup *, bool)' {aka 'long unsigned int(struct mem_cgroup *, _Bool)'}
>> 953 | unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap);
>> | ^~~~~~~~~~~~~~~~
>>
>> I fixed it up (I reverted the mm-unstable tree commit) and can carry the
>> fix as necessary. This is now fixed as far as linux-next is concerned,
>> but any non trivial conflicts should be mentioned to your upstream
>> maintainer when your tree is submitted for merging. You may also want
>> to consider cooperating with the maintainer of the conflicting tree to
>> minimise any particularly complex conflicts.
>
> Hey All,
>
> what's the proper fix here?
>
> Roman,
>
> looks like adding mem_cgroup_usage() to include/linux/memcontrol.h
> wasn't really necessary, since kfuncs don't use it anyway?
> Should we just remove that line in bpf-next?
>
I agree, mem_cgroup_usage() is not declared in next.
I'm wondering why there is a difference between next and bpf-next.
> Just:
> diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
> index 6a5d65487b70..229ac9835adb 100644
> --- a/include/linux/memcontrol.h
> +++ b/include/linux/memcontrol.h
> @@ -950,7 +950,6 @@ static inline void mod_memcg_page_state(struct page *page,
> }
>
> unsigned long memcg_events(struct mem_cgroup *memcg, int event);
> -unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap);
> unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx);
> unsigned long memcg_page_state_output(struct mem_cgroup *memcg, int item);
> bool memcg_stat_item_valid(int idx);
>
> compiles fine.
>
> If you agree pls send an official patch.
>
--
Best regards,
Ridong
Powered by blists - more mailing lists