diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-25 17:15:46 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-25 17:15:46 -0700 |
commit | 83c4087ce468601501ecde4d0ec5b2abd5f57c31 (patch) | |
tree | 238d60de7b4f5b4b70fe851c76f04e5a5f5efaa4 | |
parent | a67eefad996f007afc7c38efe8f45257fb1e3994 (diff) | |
parent | a90e90b7d55e789c71d85b946ffb5c1ab2f137ca (diff) | |
download | op-kernel-dev-83c4087ce468601501ecde4d0ec5b2abd5f57c31.zip op-kernel-dev-83c4087ce468601501ecde4d0ec5b2abd5f57c31.tar.gz |
Merge branch 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup updates from Tejun Heo:
"All trivial changes - simplification, typo fix and adding
cond_resched() in a netclassid update loop"
* 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
cgroup, netclassid: add a preemption point to write_classid
rdmacg: fix a typo in rdmacg documentation
cgroup: Simplify cgroup_ancestor
-rw-r--r-- | Documentation/cgroup-v1/rdma.txt | 2 | ||||
-rw-r--r-- | include/linux/cgroup.h | 15 | ||||
-rw-r--r-- | net/core/netclassid_cgroup.c | 1 |
3 files changed, 5 insertions, 13 deletions
diff --git a/Documentation/cgroup-v1/rdma.txt b/Documentation/cgroup-v1/rdma.txt index af61817..9bdb7fd 100644 --- a/Documentation/cgroup-v1/rdma.txt +++ b/Documentation/cgroup-v1/rdma.txt @@ -27,7 +27,7 @@ cgroup. Currently user space applications can easily take away all the rdma verb specific resources such as AH, CQ, QP, MR etc. Due to which other applications in other cgroup or kernel space ULPs may not even get chance to allocate any -rdma resources. This can leads to service unavailability. +rdma resources. This can lead to service unavailability. Therefore RDMA controller is needed through which resource consumption of processes can be limited. Through this controller different rdma diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index b8bcbde..b622d66 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@ -569,20 +569,11 @@ static inline bool cgroup_is_descendant(struct cgroup *cgrp, static inline struct cgroup *cgroup_ancestor(struct cgroup *cgrp, int ancestor_level) { - struct cgroup *ptr; - if (cgrp->level < ancestor_level) return NULL; - - for (ptr = cgrp; - ptr && ptr->level > ancestor_level; - ptr = cgroup_parent(ptr)) - ; - - if (ptr && ptr->level == ancestor_level) - return ptr; - - return NULL; + while (cgrp && cgrp->level > ancestor_level) + cgrp = cgroup_parent(cgrp); + return cgrp; } /** diff --git a/net/core/netclassid_cgroup.c b/net/core/netclassid_cgroup.c index 5e4f040..7bf8335 100644 --- a/net/core/netclassid_cgroup.c +++ b/net/core/netclassid_cgroup.c @@ -106,6 +106,7 @@ static int write_classid(struct cgroup_subsys_state *css, struct cftype *cft, iterate_fd(p->files, 0, update_classid_sock, (void *)(unsigned long)cs->classid); task_unlock(p); + cond_resched(); } css_task_iter_end(&it); |