diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-02 13:50:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-02 13:50:47 -0400 |
commit | c0e8a139a5bb8add02b4111e9e1957d810d7285e (patch) | |
tree | f5f0695c7553c0f651ea3c714191dedf76e06c78 /net/sched | |
parent | 033d9959ed2dc1029217d4165f80a71702dc578e (diff) | |
parent | a6f00298b2ceaf50b4ab00e6ee3eb0206ac72fac (diff) |
Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup updates from Tejun Heo:
- xattr support added. The implementation is shared with tmpfs. The
usage is restricted and intended to be used to manage per-cgroup
metadata by system software. tmpfs changes are routed through this
branch with Hugh's permission.
- cgroup subsystem ID handling simplified.
* 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
cgroup: Define CGROUP_SUBSYS_COUNT according the configuration
cgroup: Assign subsystem IDs during compile time
cgroup: Do not depend on a given order when populating the subsys array
cgroup: Wrap subsystem selection macro
cgroup: Remove CGROUP_BUILTIN_SUBSYS_COUNT
cgroup: net_prio: Do not define task_netpioidx() when not selected
cgroup: net_cls: Do not define task_cls_classid() when not selected
cgroup: net_cls: Move sock_update_classid() declaration to cls_cgroup.h
cgroup: trivial fixes for Documentation/cgroups/cgroups.txt
xattr: mark variable as uninitialized to make both gcc and smatch happy
fs: add missing documentation to simple_xattr functions
cgroup: add documentation on extended attributes usage
cgroup: rename subsys_bits to subsys_mask
cgroup: add xattr support
cgroup: revise how we re-populate root directory
xattr: extract simple_xattr code from tmpfs
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/cls_cgroup.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c index 7743ea8d1d38..67cf90d962f4 100644 --- a/net/sched/cls_cgroup.c +++ b/net/sched/cls_cgroup.c | |||
@@ -77,9 +77,7 @@ struct cgroup_subsys net_cls_subsys = { | |||
77 | .name = "net_cls", | 77 | .name = "net_cls", |
78 | .create = cgrp_create, | 78 | .create = cgrp_create, |
79 | .destroy = cgrp_destroy, | 79 | .destroy = cgrp_destroy, |
80 | #ifdef CONFIG_NET_CLS_CGROUP | ||
81 | .subsys_id = net_cls_subsys_id, | 80 | .subsys_id = net_cls_subsys_id, |
82 | #endif | ||
83 | .base_cftypes = ss_files, | 81 | .base_cftypes = ss_files, |
84 | .module = THIS_MODULE, | 82 | .module = THIS_MODULE, |
85 | }; | 83 | }; |
@@ -283,12 +281,6 @@ static int __init init_cgroup_cls(void) | |||
283 | if (ret) | 281 | if (ret) |
284 | goto out; | 282 | goto out; |
285 | 283 | ||
286 | #ifndef CONFIG_NET_CLS_CGROUP | ||
287 | /* We can't use rcu_assign_pointer because this is an int. */ | ||
288 | smp_wmb(); | ||
289 | net_cls_subsys_id = net_cls_subsys.subsys_id; | ||
290 | #endif | ||
291 | |||
292 | ret = register_tcf_proto_ops(&cls_cgroup_ops); | 284 | ret = register_tcf_proto_ops(&cls_cgroup_ops); |
293 | if (ret) | 285 | if (ret) |
294 | cgroup_unload_subsys(&net_cls_subsys); | 286 | cgroup_unload_subsys(&net_cls_subsys); |
@@ -301,11 +293,6 @@ static void __exit exit_cgroup_cls(void) | |||
301 | { | 293 | { |
302 | unregister_tcf_proto_ops(&cls_cgroup_ops); | 294 | unregister_tcf_proto_ops(&cls_cgroup_ops); |
303 | 295 | ||
304 | #ifndef CONFIG_NET_CLS_CGROUP | ||
305 | net_cls_subsys_id = -1; | ||
306 | synchronize_rcu(); | ||
307 | #endif | ||
308 | |||
309 | cgroup_unload_subsys(&net_cls_subsys); | 296 | cgroup_unload_subsys(&net_cls_subsys); |
310 | } | 297 | } |
311 | 298 | ||