Re: linux-next: manual merge of the mm tree with the bpf-next tree

From: Roman Gushchin
Date: Tue Feb 14 2023 - 22:26:39 EST


Hi Stephen,

the merge looks good to me. Thank you for doing this!

Roman

> On Feb 14, 2023, at 6:57 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> Today's linux-next merge of the mm tree got conflicts in:
>
> include/linux/memcontrol.h
> mm/memcontrol.c
>
> between commit:
>
> b6c1a8af5b1e ("mm: memcontrol: add new kernel parameter cgroup.memory=nobpf")
>
> from the bpf-next tree and commit:
>
> 2006d382484e ("mm: memcontrol: rename memcg_kmem_enabled()")
>
> from the mm tree.
>
> I fixed it up (see below) 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.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc include/linux/memcontrol.h
> index e7310363f0cb,5567319027d1..000000000000
> --- a/include/linux/memcontrol.h
> +++ b/include/linux/memcontrol.h
> @@@ -1776,17 -1776,11 +1776,17 @@@ struct obj_cgroup *get_obj_cgroup_from_
> int obj_cgroup_charge(struct obj_cgroup *objcg, gfp_t gfp, size_t size);
> void obj_cgroup_uncharge(struct obj_cgroup *objcg, size_t size);
>
> +extern struct static_key_false memcg_bpf_enabled_key;
> +static inline bool memcg_bpf_enabled(void)
> +{
> + return static_branch_likely(&memcg_bpf_enabled_key);
> +}
> +
> - extern struct static_key_false memcg_kmem_enabled_key;
> + extern struct static_key_false memcg_kmem_online_key;
>
> - static inline bool memcg_kmem_enabled(void)
> + static inline bool memcg_kmem_online(void)
> {
> - return static_branch_likely(&memcg_kmem_enabled_key);
> + return static_branch_likely(&memcg_kmem_online_key);
> }
>
> static inline int memcg_kmem_charge_page(struct page *page, gfp_t gfp,
> @@@ -1860,12 -1854,7 +1860,12 @@@ static inline struct obj_cgroup *get_ob
> return NULL;
> }
>
> +static inline bool memcg_bpf_enabled(void)
> +{
> + return false;
> +}
> +
> - static inline bool memcg_kmem_enabled(void)
> + static inline bool memcg_kmem_online(void)
> {
> return false;
> }
> diff --cc mm/memcontrol.c
> index 186a3a56dd7c,3e3cdb9bed95..000000000000
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@@ -348,11 -345,8 +348,11 @@@ static void memcg_reparent_objcgs(struc
> * conditional to this static branch, we'll have to allow modules that does
> * kmem_cache_alloc and the such to see this symbol as well
> */
> - DEFINE_STATIC_KEY_FALSE(memcg_kmem_enabled_key);
> - EXPORT_SYMBOL(memcg_kmem_enabled_key);
> + DEFINE_STATIC_KEY_FALSE(memcg_kmem_online_key);
> + EXPORT_SYMBOL(memcg_kmem_online_key);
> +
> +DEFINE_STATIC_KEY_FALSE(memcg_bpf_enabled_key);
> +EXPORT_SYMBOL(memcg_bpf_enabled_key);
> #endif
>
> /**