[GIT PULL] cgroup fixes for v5.2-rc4
From: Tejun Heo
Date: Fri Jun 14 2019 - 16:07:47 EST
Hello,
This pull request has unusually high density of tricky fixes.
* task_get_css() could deadlock when it races against a dying cgroup.
* cgroup.procs didn't list thread group leaders with live threads.
This could mislead readers to think that a cgroup is empty when it's
not. Fixed by making PROCS iterator include dead tasks. I made a
couple mistakes making this change and this pull request contains a
couple follow-up patches.
* When cpusets run out of online cpus, it updates cpusmasks of member
tasks in bizarre ways. Joel improved the behavior significantly.
Thanks.
The following changes since commit 9fb67d643f6f1892a08ee3a04ea54022d1060bb0:
Merge tag 'pinctrl-v5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl (2019-05-28 09:35:04 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-5.2-fixes
for you to fetch changes up to d477f8c202d1f0d4791ab1263ca7657bbe5cf79e:
cpuset: restore sanity to cpuset_cpus_allowed_fallback() (2019-06-12 11:00:08 -0700)
----------------------------------------------------------------
Joel Savitz (1):
cpuset: restore sanity to cpuset_cpus_allowed_fallback()
Odin Ugedal (1):
docs cgroups: add another example size for hugetlb
Tejun Heo (6):
cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css()
cgroup: Call cgroup_release() before __exit_signal()
cgroup: Implement css_task_iter_skip()
cgroup: Include dying leaders with live threads in PROCS iterations
cgroup: css_task_iter_skip()'d iterators must be advanced before accessed
cgroup: Fix css_task_iter_advance_css_set() cset skip condition
Documentation/cgroup-v1/hugetlb.txt | 22 +++++---
include/linux/cgroup-defs.h | 1 +
include/linux/cgroup.h | 14 ++++-
kernel/cgroup/cgroup.c | 106 ++++++++++++++++++++++++++----------
kernel/cgroup/cpuset.c | 15 ++++-
kernel/exit.c | 2 +-
6 files changed, 117 insertions(+), 43 deletions(-)
--
tejun