lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Fri, 24 Jul 2015 10:17:10 +0200
From:	Michal Hocko <mhocko@...nel.org>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	Tejun Heo <tj@...nel.org>, Johannes Weiner <hannes@...xchg.org>,
	Vladimir Davydov <vdavydov@...allels.com>, linux-mm@...ck.org,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/5] memcg: export struct mem_cgroup

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 <mhocko@...e.com>
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 <mhocko@...e.com>
---
 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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ