2011-12-12 05:47:04 +08:00
|
|
|
#ifndef _TCP_MEMCG_H
|
|
|
|
#define _TCP_MEMCG_H
|
|
|
|
|
|
|
|
struct tcp_memcontrol {
|
|
|
|
struct cg_proto cg_proto;
|
|
|
|
/* per-cgroup tcp memory pressure knobs */
|
|
|
|
struct res_counter tcp_memory_allocated;
|
|
|
|
struct percpu_counter tcp_sockets_allocated;
|
|
|
|
/* those two are read-mostly, leave them at the end */
|
|
|
|
long tcp_prot_mem[3];
|
|
|
|
int tcp_memory_pressure;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct cg_proto *tcp_proto_cgroup(struct mem_cgroup *memcg);
|
|
|
|
int tcp_init_cgroup(struct cgroup *cgrp, struct cgroup_subsys *ss);
|
2012-01-31 13:47:36 +08:00
|
|
|
void tcp_destroy_cgroup(struct cgroup *cgrp);
|
2011-12-12 05:47:06 +08:00
|
|
|
unsigned long long tcp_max_memory(const struct mem_cgroup *memcg);
|
|
|
|
void tcp_prot_mem(struct mem_cgroup *memcg, long val, int idx);
|
2011-12-12 05:47:04 +08:00
|
|
|
#endif /* _TCP_MEMCG_H */
|