[GIT PULL] cgroup changes for v5.5-rc1

From: Tejun Heo
Date: Mon Nov 25 2019 - 11:11:48 EST


Hello,

There are several notable changes in this pull request.

* Single thread migrating itself has been optimized so that it doesn't
need threadgroup rwsem anymore.

* Freezer optimization to avoid unnecessary frozen state changes.

* cgroup ID unification so that cgroup fs ino is the only unique ID
used for the cgroup and can be used to directly look up live cgroups
through filehandle interface on 64bit ino archs. On 32bit archs,
cgroup fs ino is still the only ID in use but it is only unique when
combined with gen.

* selftest and other changes.

Thanks.

The following changes since commit da0c9ea146cbe92b832f1b0f694840ea8eb33cce:

Linux 5.4-rc2 (2019-10-06 14:27:30 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-5.5

for you to fetch changes up to 40363cf13999ee4fb3b5c1e67fa5e6f0e9da34bd:

writeback: fix -Wformat compilation warnings (2019-11-25 07:50:41 -0800)

----------------------------------------------------------------
Aleksa Sarai (1):
cgroup: pids: use atomic64_t for pids->limit

Chris Down (1):
docs: cgroup: mm: Fix spelling of "list"

Hewenliang (1):
kselftests: cgroup: Avoid the reuse of fd after it is deallocated

Honglei Wang (1):
cgroup: freezer: don't change task and cgroups status unnecessarily

Miaohe Lin (1):
cgroup: short-circuit current_cgns_cgroup_from_root() on the default hierarchy

Michal Koutný (5):
cgroup: Update comments about task exit path
cgroup: Optimize single thread migration
selftests: cgroup: Simplify task self migration
selftests: cgroup: Add task migration tests
selftests: cgroup: Run test_core under interfering stress

Qian Cai (1):
writeback: fix -Wformat compilation warnings

Tejun Heo (13):
cgroup: remove cgroup_enable_task_cg_lists() optimization
cgroup: use cgroup->last_bstat instead of cgroup->bstat_pending for consistency
kernfs: fix ino wrap-around detection
writeback: use ino_t for inodes in tracepoints
netprio: use css ID instead of cgroup ID
kernfs: use dumber locking for kernfs_find_and_get_node_by_ino()
kernfs: kernfs_find_and_get_node_by_ino() should only look up activated nodes
kernfs: convert kernfs_node->id from union kernfs_node_id to u64
kernfs: combine ino/id lookup functions into kernfs_find_and_get_node_by_id()
kernfs: implement custom exportfs ops and fid type
kernfs: use 64bit inos if ino_t is 64bit
cgroup: use cgrp->kn->id as the cgroup ID
cgroup: fix incorrect WARN_ON_ONCE() in cgroup_setup_root()

Documentation/admin-guide/cgroup-v2.rst | 2 +-
fs/kernfs/dir.c | 101 ++++----
fs/kernfs/file.c | 4 +-
fs/kernfs/inode.c | 4 +-
fs/kernfs/kernfs-internal.h | 2 -
fs/kernfs/mount.c | 102 ++++----
include/linux/cgroup-defs.h | 19 +-
include/linux/cgroup.h | 27 +--
include/linux/exportfs.h | 5 +
include/linux/kernfs.h | 57 +++--
include/net/netprio_cgroup.h | 2 +-
include/trace/events/cgroup.h | 6 +-
include/trace/events/writeback.h | 140 +++++------
kernel/bpf/helpers.c | 2 +-
kernel/bpf/local_storage.c | 2 +-
kernel/cgroup/cgroup-internal.h | 5 +-
kernel/cgroup/cgroup-v1.c | 5 +-
kernel/cgroup/cgroup.c | 325 ++++++++------------------
kernel/cgroup/cpuset.c | 2 -
kernel/cgroup/freezer.c | 9 +
kernel/cgroup/pids.c | 11 +-
kernel/cgroup/rstat.c | 46 ++--
kernel/trace/blktrace.c | 84 ++++---
net/core/filter.c | 4 +-
net/core/netprio_cgroup.c | 8 +-
tools/testing/selftests/cgroup/Makefile | 4 +-
tools/testing/selftests/cgroup/cgroup_util.c | 42 +++-
tools/testing/selftests/cgroup/cgroup_util.h | 6 +-
tools/testing/selftests/cgroup/test_core.c | 146 ++++++++++++
tools/testing/selftests/cgroup/test_freezer.c | 3 +-
tools/testing/selftests/cgroup/test_stress.sh | 4 +
tools/testing/selftests/cgroup/with_stress.sh | 101 ++++++++
32 files changed, 746 insertions(+), 534 deletions(-)
create mode 100755 tools/testing/selftests/cgroup/test_stress.sh
create mode 100755 tools/testing/selftests/cgroup/with_stress.sh

--
tejun