[PATCH v11 0/7] cgroups: add pids subsystem

From: Aleksa Sarai
Date: Sat May 16 2015 - 00:14:13 EST


This is an updated version of v10 of the pids patchset[1], with a few
quite large-ish updates and improvments:

* Switch all internal cgroup.c bitmasks to use (unsigned long), modify
for_each_subsys_which() to use for_each_set_bit() [which required some
other changes]. Also modify for_each_subsys_which() to take the
pointer to the bitmask as an argument.

* Modify argument order of for_each_subsys_which() so that it follows
the kernel style of (cursors..., iterable).

* Make naming of prefork / canfork consistent such that all references
are canfork (such as CGROUP_CANFORK_*).

* A whole bunch of style and naming fixes.

* Remove ->detach and implement it using ->{can,cancel}_attach.

* Remove the cancelfork bitmask -- just do ss->cancel_fork checks since
it's not a hot path.

* Add subsys_canfork_private{,p}().

* Include Tejun's implementation of task_get_css()[2] so that fork()s
aren't failed because of a migration operation (which is guaranteed to
complete in constant time).

* Switch valid input value range for `pids.max` to [0, PIDS_MAX), to
make the interface more consistent (so that you can't input a value
that translates to "max" transparently).

* Fixed up a whole bunch of comments that were too pids-specific or not
explicit enough.

[1]: https://lkml.org/lkml/2015/4/19/39
[2]: http://lkml.kernel.org/g/1428350318-8215-8-git-send-email-tj@xxxxxxxxxx

Aleksa Sarai (6):
cgroup: switch to unsigned long for bitmasks
cgroup: use bitmask to filter for_each_subsys
cgroup: replace explicit ss_mask checking with for_each_subsys_which
cgroup: move enum cgroup_subsys_id definition
cgroup: allow a cgroup subsystem to reject a fork
cgroup: implement the PIDs subsystem

Tejun Heo (1):
cgroup, block: implement task_get_css() and use it in
bio_associate_current()

CREDITS | 5 +
block/bio.c | 11 +-
include/linux/cgroup.h | 76 +++++++--
include/linux/cgroup_subsys.h | 22 +++
init/Kconfig | 16 ++
kernel/Makefile | 1 +
kernel/cgroup.c | 215 ++++++++++++++++--------
kernel/cgroup_freezer.c | 2 +-
kernel/cgroup_pids.c | 379 ++++++++++++++++++++++++++++++++++++++++++
kernel/fork.c | 17 +-
kernel/sched/core.c | 2 +-
11 files changed, 652 insertions(+), 94 deletions(-)
create mode 100644 kernel/cgroup_pids.c

--
2.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/