Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 304798
b: refs/heads/master
c: 1d62e43
h: refs/heads/master
v: v3
  • Loading branch information
Glauber Costa authored and Tejun Heo committed Apr 10, 2012
1 parent fdd2997 commit b3e8639
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 33 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 48ddbe194623ae089cc0576e60363f2d2e85662a
refs/heads/master: 1d62e43657c63a858560c98069706c705d20505d
12 changes: 6 additions & 6 deletions trunk/include/net/sock.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,16 +70,16 @@
struct cgroup;
struct cgroup_subsys;
#ifdef CONFIG_NET
int mem_cgroup_sockets_init(struct cgroup *cgrp, struct cgroup_subsys *ss);
void mem_cgroup_sockets_destroy(struct cgroup *cgrp);
int mem_cgroup_sockets_init(struct mem_cgroup *memcg, struct cgroup_subsys *ss);
void mem_cgroup_sockets_destroy(struct mem_cgroup *memcg);
#else
static inline
int mem_cgroup_sockets_init(struct cgroup *cgrp, struct cgroup_subsys *ss)
int mem_cgroup_sockets_init(struct mem_cgroup *memcg, struct cgroup_subsys *ss)
{
return 0;
}
static inline
void mem_cgroup_sockets_destroy(struct cgroup *cgrp)
void mem_cgroup_sockets_destroy(struct mem_cgroup *memcg)
{
}
#endif
Expand Down Expand Up @@ -900,9 +900,9 @@ struct proto {
* This function has to setup any files the protocol want to
* appear in the kmem cgroup filesystem.
*/
int (*init_cgroup)(struct cgroup *cgrp,
int (*init_cgroup)(struct mem_cgroup *memcg,
struct cgroup_subsys *ss);
void (*destroy_cgroup)(struct cgroup *cgrp);
void (*destroy_cgroup)(struct mem_cgroup *memcg);
struct cg_proto *(*proto_cgroup)(struct mem_cgroup *memcg);
#endif
};
Expand Down
4 changes: 2 additions & 2 deletions trunk/include/net/tcp_memcontrol.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ struct tcp_memcontrol {
};

struct cg_proto *tcp_proto_cgroup(struct mem_cgroup *memcg);
int tcp_init_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss);
void tcp_destroy_cgroup(struct cgroup *cgrp);
int tcp_init_cgroup(struct mem_cgroup *memcg, struct cgroup_subsys *ss);
void tcp_destroy_cgroup(struct mem_cgroup *memcg);
unsigned long long tcp_max_memory(const struct mem_cgroup *memcg);
void tcp_prot_mem(struct mem_cgroup *memcg, long val, int idx);
#endif /* _TCP_MEMCG_H */
24 changes: 9 additions & 15 deletions trunk/mm/memcontrol.c
Original file line number Diff line number Diff line change
Expand Up @@ -4640,29 +4640,22 @@ static int mem_control_numa_stat_open(struct inode *unused, struct file *file)
#endif /* CONFIG_NUMA */

#ifdef CONFIG_CGROUP_MEM_RES_CTLR_KMEM
static int register_kmem_files(struct cgroup *cont, struct cgroup_subsys *ss)
static int register_kmem_files(struct mem_cgroup *memcg, struct cgroup_subsys *ss)
{
/*
* Part of this would be better living in a separate allocation
* function, leaving us with just the cgroup tree population work.
* We, however, depend on state such as network's proto_list that
* is only initialized after cgroup creation. I found the less
* cumbersome way to deal with it to defer it all to populate time
*/
return mem_cgroup_sockets_init(cont, ss);
return mem_cgroup_sockets_init(memcg, ss);
};

static void kmem_cgroup_destroy(struct cgroup *cont)
static void kmem_cgroup_destroy(struct mem_cgroup *memcg)
{
mem_cgroup_sockets_destroy(cont);
mem_cgroup_sockets_destroy(memcg);
}
#else
static int register_kmem_files(struct cgroup *cont, struct cgroup_subsys *ss)
static int register_kmem_files(struct mem_cgroup *memcg, struct cgroup_subsys *ss)
{
return 0;
}

static void kmem_cgroup_destroy(struct cgroup *cont)
static void kmem_cgroup_destroy(struct mem_cgroup *memcg)
{
}
#endif
Expand Down Expand Up @@ -5034,15 +5027,16 @@ static void mem_cgroup_destroy(struct cgroup *cont)
{
struct mem_cgroup *memcg = mem_cgroup_from_cont(cont);

kmem_cgroup_destroy(cont);
kmem_cgroup_destroy(memcg);

mem_cgroup_put(memcg);
}

static int mem_cgroup_populate(struct cgroup_subsys *ss,
struct cgroup *cont)
{
return register_kmem_files(cont, ss);
struct mem_cgroup *memcg = mem_cgroup_from_cont(cont);
return register_kmem_files(memcg, ss);
}

#ifdef CONFIG_MMU
Expand Down
10 changes: 5 additions & 5 deletions trunk/net/core/sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -140,15 +140,15 @@ static DEFINE_MUTEX(proto_list_mutex);
static LIST_HEAD(proto_list);

#ifdef CONFIG_CGROUP_MEM_RES_CTLR_KMEM
int mem_cgroup_sockets_init(struct cgroup *cgrp, struct cgroup_subsys *ss)
int mem_cgroup_sockets_init(struct mem_cgroup *memcg, struct cgroup_subsys *ss)
{
struct proto *proto;
int ret = 0;

mutex_lock(&proto_list_mutex);
list_for_each_entry(proto, &proto_list, node) {
if (proto->init_cgroup) {
ret = proto->init_cgroup(cgrp, ss);
ret = proto->init_cgroup(memcg, ss);
if (ret)
goto out;
}
Expand All @@ -159,19 +159,19 @@ int mem_cgroup_sockets_init(struct cgroup *cgrp, struct cgroup_subsys *ss)
out:
list_for_each_entry_continue_reverse(proto, &proto_list, node)
if (proto->destroy_cgroup)
proto->destroy_cgroup(cgrp);
proto->destroy_cgroup(memcg);
mutex_unlock(&proto_list_mutex);
return ret;
}

void mem_cgroup_sockets_destroy(struct cgroup *cgrp)
void mem_cgroup_sockets_destroy(struct mem_cgroup *memcg)
{
struct proto *proto;

mutex_lock(&proto_list_mutex);
list_for_each_entry_reverse(proto, &proto_list, node)
if (proto->destroy_cgroup)
proto->destroy_cgroup(cgrp);
proto->destroy_cgroup(memcg);
mutex_unlock(&proto_list_mutex);
}
#endif
Expand Down
6 changes: 2 additions & 4 deletions trunk/net/ipv4/tcp_memcontrol.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ static void memcg_tcp_enter_memory_pressure(struct sock *sk)
}
EXPORT_SYMBOL(memcg_tcp_enter_memory_pressure);

int tcp_init_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss)
int tcp_init_cgroup(struct mem_cgroup *memcg, struct cgroup_subsys *ss)
{
/*
* The root cgroup does not use res_counters, but rather,
Expand All @@ -28,7 +28,6 @@ int tcp_init_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss)
struct res_counter *res_parent = NULL;
struct cg_proto *cg_proto, *parent_cg;
struct tcp_memcontrol *tcp;
struct mem_cgroup *memcg = mem_cgroup_from_cont(cgrp);
struct mem_cgroup *parent = parent_mem_cgroup(memcg);
struct net *net = current->nsproxy->net_ns;

Expand Down Expand Up @@ -61,9 +60,8 @@ int tcp_init_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss)
}
EXPORT_SYMBOL(tcp_init_cgroup);

void tcp_destroy_cgroup(struct cgroup *cgrp)
void tcp_destroy_cgroup(struct mem_cgroup *memcg)
{
struct mem_cgroup *memcg = mem_cgroup_from_cont(cgrp);
struct cg_proto *cg_proto;
struct tcp_memcontrol *tcp;
u64 val;
Expand Down

0 comments on commit b3e8639

Please sign in to comment.