[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1315267986-28937-1-git-send-email-fweisbec@gmail.com>
Date: Tue, 6 Sep 2011 02:12:54 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Frederic Weisbecker <fweisbec@...il.com>,
Paul Menage <paul@...lmenage.org>,
Li Zefan <lizf@...fujitsu.com>,
Johannes Weiner <hannes@...xchg.org>,
Aditya Kali <adityakali@...gle.com>,
Oleg Nesterov <oleg@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Kay Sievers <kay.sievers@...y.org>,
Tim Hockin <thockin@...kin.org>, Tejun Heo <tj@...nel.org>
Subject: [PATCH 00/12 v4][RESEND] cgroups: Task counter subsystem
(Sorry, I had unbalanced "<" and ">" around email addresses so I need
to resend otherwise LKML wouldn't take it.)
Reminder:
The task counter is a cgroup subsystem that features an upper bound
limitation on the number of tasks running inside cgroup.
It has two desired usecases, but possibly more can be found:
- Protect against forkbomb in the scope of a cgroup, this can be
especially useful in the case of containers where traditional rlmit
is too limited.
- Kill all tasks inside a cgroup without worrying about races against
concurrent forks.
See documentation in patch 10/12 for more details.
May be I should rebase the whole against Tejun's patches that use
an iterator on tasks.
Changes in v4:
- Rebase on top of "cgroups: Don't attach task to subsystem if
migration failed" (https://lkml.org/lkml/2011/8/26/262), applied
in -mm.
- Add comment about the use of spinlock in res_counter_write_u64() (patch 1)
- Update documentation after [can_]attach_task() arguments changes (patch 3)
- Update documentation for cancel_attach_task() new callback (patch 4)
- Cancel task attachment on migration failure in cgroup_attach_proc() (patch 4)
- Some function inlining (patch 5)
- Move "Allow charge failure pointer to be null" earlier in the set for
sanity (patch 7)
- Fix error return value (patch 8 and 9)
- Whitespace fixes, comments added, improve config help section (patch 9)
- Drop subsystem early init (patch 9)
- Add subsystem documentation (patch 10)
- Remove ad-hoc fork hook and reuse existing one for cgroup (patch 11 and 12)
This can not be pulled from:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
cgroup/nr_proc-v4
Frederic Weisbecker (12):
cgroups: Add res_counter_write_u64() API
cgroups: New resource counter inheritance API
cgroups: Add previous cgroup in can_attach_task/attach_task callbacks
cgroups: New cancel_attach_task subsystem callback
cgroups: Ability to stop res charge propagation on bounded ancestor
cgroups: Add res counter common ancestor searching
res_counter: Allow charge failure pointer to be null
cgroups: Pull up res counter charge failure interpretation to caller
cgroups: Add a task counter subsystem
cgroups: Add documentation for task counter subsystem
cgroups: Allow subsystems to cancel a fork
cgroups: Convert task counter to use the subsys fork callback
Documentation/cgroups/cgroups.txt | 13 ++-
Documentation/cgroups/task_counter.txt | 126 ++++++++++++++++++++
block/blk-cgroup.c | 10 +-
include/linux/cgroup.h | 20 ++-
include/linux/cgroup_subsys.h | 8 ++
include/linux/res_counter.h | 25 ++++-
init/Kconfig | 7 +
kernel/Makefile | 1 +
kernel/cgroup.c | 56 +++++++--
kernel/cgroup_freezer.c | 9 +-
kernel/cgroup_task_counter.c | 200 ++++++++++++++++++++++++++++++++
kernel/cpuset.c | 6 +-
kernel/events/core.c | 5 +-
kernel/exit.c | 2 +-
kernel/fork.c | 7 +-
kernel/res_counter.c | 77 ++++++++++---
kernel/sched.c | 6 +-
17 files changed, 524 insertions(+), 54 deletions(-)
create mode 100644 Documentation/cgroups/task_counter.txt
create mode 100644 kernel/cgroup_task_counter.c
--
1.7.5.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists