All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12 v4][RESEND] cgroups: Task counter subsystem
@ 2011-09-06  0:12 Frederic Weisbecker
  2011-09-06  0:12 ` [PATCH 01/12] cgroups: Add res_counter_write_u64() API Frederic Weisbecker
                   ` (11 more replies)
  0 siblings, 12 replies; 26+ messages in thread
From: Frederic Weisbecker @ 2011-09-06  0:12 UTC (permalink / raw)
  To: LKML
  Cc: Frederic Weisbecker, Paul Menage, Li Zefan, Johannes Weiner,
	Aditya Kali, Oleg Nesterov, Andrew Morton, Kay Sievers,
	Tim Hockin, Tejun Heo

(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


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2011-10-01 15:29 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-06  0:12 [PATCH 00/12 v4][RESEND] cgroups: Task counter subsystem Frederic Weisbecker
2011-09-06  0:12 ` [PATCH 01/12] cgroups: Add res_counter_write_u64() API Frederic Weisbecker
2011-09-06  0:12 ` [PATCH 02/12] cgroups: New resource counter inheritance API Frederic Weisbecker
2011-09-06 22:17   ` Andrew Morton
2011-09-08 13:25     ` Frederic Weisbecker
2011-09-06  0:12 ` [PATCH 03/12] cgroups: Add previous cgroup in can_attach_task/attach_task callbacks Frederic Weisbecker
2011-09-06  0:12 ` [PATCH 04/12] cgroups: New cancel_attach_task subsystem callback Frederic Weisbecker
2011-09-06  0:12 ` [PATCH 05/12] cgroups: Ability to stop res charge propagation on bounded ancestor Frederic Weisbecker
2011-09-06  0:13 ` [PATCH 06/12] cgroups: Add res counter common ancestor searching Frederic Weisbecker
2011-09-06 22:21   ` Andrew Morton
2011-09-09 12:31     ` Frederic Weisbecker
2011-09-06  0:13 ` [PATCH 07/12] res_counter: Allow charge failure pointer to be null Frederic Weisbecker
2011-09-06  0:13 ` [PATCH 08/12] cgroups: Pull up res counter charge failure interpretation to caller Frederic Weisbecker
2011-09-06 22:26   ` Andrew Morton
2011-09-09 13:33     ` Frederic Weisbecker
2011-09-09 15:17       ` Andrew Morton
2011-09-06  0:13 ` [PATCH 09/12] cgroups: Add a task counter subsystem Frederic Weisbecker
2011-09-06 22:40   ` Andrew Morton
2011-09-13 15:13     ` Frederic Weisbecker
2011-09-06  0:13 ` [PATCH 10/12] cgroups: Add documentation for " Frederic Weisbecker
2011-09-06 22:41   ` Andrew Morton
2011-09-13 17:35     ` Frederic Weisbecker
2011-09-06  0:13 ` [RFC PATCH 11/12] cgroups: Allow subsystems to cancel a fork Frederic Weisbecker
2011-09-15 21:09   ` Andrew Morton
2011-10-01 15:29     ` Frederic Weisbecker
2011-09-06  0:13 ` [RFC PATCH 12/12] cgroups: Convert task counter to use the subsys fork callback Frederic Weisbecker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.