Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753612AbbGXIRT (ORCPT ); Fri, 24 Jul 2015 04:17:19 -0400 Received: from mail-wi0-f180.google.com ([209.85.212.180]:35820 "EHLO mail-wi0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752057AbbGXIRO (ORCPT ); Fri, 24 Jul 2015 04:17:14 -0400 Date: Fri, 24 Jul 2015 10:17:10 +0200 From: Michal Hocko To: Andrew Morton Cc: Tejun Heo , Johannes Weiner , Vladimir Davydov , linux-mm@kvack.org, LKML Subject: Re: [PATCH 1/5] memcg: export struct mem_cgroup Message-ID: <20150724081710.GG4103@dhcp22.suse.cz> References: <1436958885-18754-2-git-send-email-mhocko@kernel.org> <20150715135711.1778a8c08f2ea9560a7c1f6f@linux-foundation.org> <20150716071948.GC3077@dhcp22.suse.cz> <20150716143433.e43554a19b1c89a8524020cb@linux-foundation.org> <20150716225639.GA11131@cmpxchg.org> <20150716160358.de3404c44ba29dc132032bbc@linux-foundation.org> <20150717122819.GA14895@cmpxchg.org> <20150717151827.GB15934@mtj.duckdns.org> <20150717131900.5b0b5d91597d207c474be7a5@linux-foundation.org> <20150720114913.GG1211@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150720114913.GG1211@dhcp22.suse.cz> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2451 Lines: 68 On Mon 20-07-15 13:49:13, Michal Hocko wrote: > On Fri 17-07-15 13:19:00, Andrew Morton wrote: [...] > > Why were cg_proto_flags and cg_proto moved from include/net/sock.h? > > Because they naturally belong to memcg header file. We can keep it there > if you prefer but I felt like sock.h is quite heavy already. > Now that I am looking into other MEMCG_KMEM related stuff there, > memcg_proto_active sounds like a good one to move to memcontrol.h as well. Double checked and memcg_proto_active has only one user which lives in memcontrol.c so it doesn't make much sense to have it in the header file --- >From e0806d48d61570f3096232f6cb509de4502e7ec3 Mon Sep 17 00:00:00 2001 From: Michal Hocko Date: Fri, 24 Jul 2015 09:46:09 +0200 Subject: [PATCH] memcg: Move memcg_proto_active from sock.h The only user is sock_update_memcg which is living in memcontrol.c so it doesn't make much sense to pollute sock.h by this inline helper. Move it to memcontrol.c and open code it into its only caller. Signed-off-by: Michal Hocko --- include/net/sock.h | 5 ----- mm/memcontrol.c | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/include/net/sock.h b/include/net/sock.h index 35628cf42044..715b1c44c9f3 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -1044,11 +1044,6 @@ struct proto { int proto_register(struct proto *prot, int alloc_slab); void proto_unregister(struct proto *prot); -static inline bool memcg_proto_active(struct cg_proto *cg_proto) -{ - return test_bit(MEMCG_SOCK_ACTIVE, &cg_proto->flags); -} - #ifdef SOCK_REFCNT_DEBUG static inline void sk_refcnt_debug_inc(struct sock *sk) { diff --git a/mm/memcontrol.c b/mm/memcontrol.c index cf9fb1f41831..8c79aaf0dfe9 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -315,7 +315,7 @@ void sock_update_memcg(struct sock *sk) rcu_read_lock(); memcg = mem_cgroup_from_task(current); cg_proto = sk->sk_prot->proto_cgroup(memcg); - if (cg_proto && memcg_proto_active(cg_proto) && + if (cg_proto && test_bit(MEMCG_SOCK_ACTIVE, &cg_proto->flags) && css_tryget_online(&memcg->css)) { sk->sk_cgrp = cg_proto; } -- 2.1.4 -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/