Re: [PATCH 3/3] mm: memcontrol: consolidate cgroup socket tracking
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2016-09-14 22:17:20
Also in:
cgroups, linux-mm, lkml
On Thu, 15 Sep 2016 13:34:24 +0800 kbuild test robot [off-list ref] wrote:
Hi Johannes, [auto build test ERROR on net/master] [also build test ERROR on v4.8-rc6 next-20160914] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Johannes-Weiner/mm-memcontrol-make-per-cpu-charge-cache-IRQ-safe-for-socket-accounting/20160915-035634 config: m68k-sun3_defconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 4.9.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All errors (new ones prefixed by >>): net/built-in.o: In function `sk_alloc':quoted
quoted
(.text+0x4076): undefined reference to `mem_cgroup_sk_alloc'net/built-in.o: In function `__sk_destruct':quoted
quoted
sock.c:(.text+0x457e): undefined reference to `mem_cgroup_sk_free'net/built-in.o: In function `sk_clone_lock': (.text+0x4f1c): undefined reference to `mem_cgroup_sk_alloc'
This?
--- a/mm/memcontrol.c~mm-memcontrol-consolidate-cgroup-socket-tracking-fix
+++ a/mm/memcontrol.c@@ -5655,9 +5655,6 @@ void mem_cgroup_sk_alloc(struct sock *sk { struct mem_cgroup *memcg; - if (!mem_cgroup_sockets_enabled) - return; - /* * Socket cloning can throw us here with sk_memcg already * filled. It won't however, necessarily happen from --- a/net/core/sock.c~mm-memcontrol-consolidate-cgroup-socket-tracking-fix +++ a/net/core/sock.c
@@ -1385,7 +1385,8 @@ static void sk_prot_free(struct proto *p slab = prot->slab; cgroup_sk_free(&sk->sk_cgrp_data); - mem_cgroup_sk_free(sk); + if (mem_cgroup_sockets_enabled) + mem_cgroup_sk_free(sk); security_sk_free(sk); if (slab != NULL) kmem_cache_free(slab, sk);
@@ -1422,7 +1423,8 @@ struct sock *sk_alloc(struct net *net, i sock_net_set(sk, net); atomic_set(&sk->sk_wmem_alloc, 1); - mem_cgroup_sk_alloc(sk); + if (mem_cgroup_sockets_enabled) + mem_cgroup_sk_alloc(sk); cgroup_sk_alloc(&sk->sk_cgrp_data); sock_update_classid(&sk->sk_cgrp_data); sock_update_netprioidx(&sk->sk_cgrp_data);
@@ -1569,7 +1571,8 @@ struct sock *sk_clone_lock(const struct newsk->sk_incoming_cpu = raw_smp_processor_id(); atomic64_set(&newsk->sk_cookie, 0); - mem_cgroup_sk_alloc(newsk); + if (mem_cgroup_sockets_enabled) + mem_cgroup_sk_alloc(newsk); cgroup_sk_alloc(&newsk->sk_cgrp_data); /*
_ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>