All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Blum <bblum@andrew.cmu.edu>
To: Ben Blum <bblum@andrew.cmu.edu>
Cc: linux-kernel@vger.kernel.org,
	containers@lists.linux-foundation.org, akpm@linux-foundation.org,
	ebiederm@xmission.com, lizf@cn.fujitsu.com, matthltc@us.ibm.com,
	menage@google.com, oleg@redhat.com,
	David Rientjes <rientjes@google.com>,
	Miao Xie <miaox@cn.fujitsu.com>
Subject: [PATCH v8 0/3] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs
Date: Mon, 7 Feb 2011 20:35:42 -0500	[thread overview]
Message-ID: <20110208013542.GC31569@ghc17.ghc.andrew.cmu.edu> (raw)
In-Reply-To: <20101226120919.GA28529@ghc17.ghc.andrew.cmu.edu>

On Sun, Dec 26, 2010 at 07:09:19AM -0500, Ben Blum wrote:
> On Fri, Dec 24, 2010 at 03:22:26AM -0500, Ben Blum wrote:
> > On Wed, Aug 11, 2010 at 01:46:04AM -0400, Ben Blum wrote:
> > > On Fri, Jul 30, 2010 at 07:56:49PM -0400, Ben Blum wrote:
> > > > This patch series is a revision of http://lkml.org/lkml/2010/6/25/11 .
> > > > 
> > > > This patch series implements a write function for the 'cgroup.procs'
> > > > per-cgroup file, which enables atomic movement of multithreaded
> > > > applications between cgroups. Writing the thread-ID of any thread in a
> > > > threadgroup to a cgroup's procs file causes all threads in the group to
> > > > be moved to that cgroup safely with respect to threads forking/exiting.
> > > > (Possible usage scenario: If running a multithreaded build system that
> > > > sucks up system resources, this lets you restrict it all at once into a
> > > > new cgroup to keep it under control.)
> > > > 
> > > > Example: Suppose pid 31337 clones new threads 31338 and 31339.
> > > > 
> > > > # cat /dev/cgroup/tasks
> > > > ...
> > > > 31337
> > > > 31338
> > > > 31339
> > > > # mkdir /dev/cgroup/foo
> > > > # echo 31337 > /dev/cgroup/foo/cgroup.procs
> > > > # cat /dev/cgroup/foo/tasks
> > > > 31337
> > > > 31338
> > > > 31339
> > > > 
> > > > A new lock, called threadgroup_fork_lock and living in signal_struct, is
> > > > introduced to ensure atomicity when moving threads between cgroups. It's
> > > > taken for writing during the operation, and taking for reading in fork()
> > > > around the calls to cgroup_fork() and cgroup_post_fork().
> 
> Well this time everything here is actually safe and correct, as far as
> my best efforts and keen eyes can tell. I dropped the per_thread call
> from the last series in favour of revising the subsystem callback
> interface. It now looks like this:
> 
> ss->can_attach()
>  - Thread-independent, possibly expensive/sleeping.
> 
> ss->can_attach_task()
>  - Called per-thread, run with rcu_read so must not sleep.
> 
> ss->pre_attach()
>  - Thread independent, must be atomic, happens before attach_task.
> 
> ss->attach_task()
>  - Called per-thread, run with tasklist_lock so must not sleep.
> 
> ss->attach()
>  - Thread independent, possibly expensive/sleeping, called last.

Okay, so.

I've revamped the cgroup_attach_proc implementation a bunch and this
version should be a lot easier on the eyes (and brains). Issues that are
addressed:

1) cgroup_attach_proc now iterates over leader->thread_group once, at
   the very beginning, and puts each task_struct that we want to move
   into an array, using get_task_struct to make sure they stick around.
    - threadgroup_fork_lock ensures no threads not in the array can
      appear, and allows us to use signal->nr_threads to determine the
      size of the array when kmallocing it.
    - This simplifies the rest of the function a bunch, since now we
      never need to do rcu_read_lock after building the array. All the
      subsystem callbacks are the same as described just above, but the
      "can't sleep" restriction is gone, so it's nice and clean.
    - Checking for a race with de_thread (the manoeuvre I refer to as
      "double-double-toil-and-trouble-check locking") now needs to be
      done only once, at the beginning (before building the array).

2) The nodemask allocation problem in cpuset is fixed the same way as
   before - the masks are shared between the three attach callbacks, so
   are made as static global variables.

3) The introduction of threadgroup_fork_lock in sched.h (specifically,
   in signal_struct) requires rwsem.h; the new include appears in the
   first patch. (An alternate plan would be to make it a struct pointer
   with an incomplete forward declaration and kmalloc/kfree it during
   housekeeping, but adding an include seems better than that particular
   complication.) In light of this, the definitions for
   threadgroup_fork_{read,write}_{un,}lock are also in sched.h.

-- Ben

---
 Documentation/cgroups/cgroups.txt |   39 ++-
 block/blk-cgroup.c                |   18 -
 include/linux/cgroup.h            |   10 
 include/linux/init_task.h         |    9 
 include/linux/sched.h             |   37 +++
 kernel/cgroup.c                   |  454 +++++++++++++++++++++++++++++++++-----
 kernel/cgroup_freezer.c           |   26 --
 kernel/cpuset.c                   |  105 +++-----
 kernel/fork.c                     |   10 
 kernel/ns_cgroup.c                |   23 -
 kernel/sched.c                    |   38 ---
 mm/memcontrol.c                   |   18 -
 security/device_cgroup.c          |    3 
 13 files changed, 575 insertions(+), 215 deletions(-)

  parent reply	other threads:[~2011-02-08  1:36 UTC|newest]

Thread overview: 185+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-30 23:56 [PATCH v4 0/2] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Ben Blum
2010-07-30 23:59 ` [PATCH v4 2/2] cgroups: make procs file writable Ben Blum
2010-08-04  1:08   ` KAMEZAWA Hiroyuki
2010-08-04  4:28     ` Ben Blum
     [not found]     ` <20100804100811.199d73ba.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-08-04  4:28       ` Ben Blum
2010-08-04  4:30       ` Paul Menage
2010-08-04  4:30     ` Paul Menage
     [not found]       ` <AANLkTikMofFGHSwF2QrdcAsit+hU6ihndhK5cod8duwS-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-04  4:38         ` Ben Blum
2010-08-04  4:38           ` Ben Blum
2010-08-04  4:46           ` Paul Menage
     [not found]           ` <20100804043849.GC11950-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-04  4:46             ` Paul Menage
     [not found]   ` <20100730235902.GC22644-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-04  1:08     ` KAMEZAWA Hiroyuki
     [not found] ` <20100730235649.GA22644-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-07-30 23:57   ` [PATCH v4 1/2] cgroups: read-write lock CLONE_THREAD forking per threadgroup Ben Blum
2010-07-30 23:57     ` Ben Blum
2010-08-04  3:44     ` Paul Menage
     [not found]       ` <AANLkTikpNG2Y3S3AyxAbCkMynKu1u5yKPrw=bh+uy=9R-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-04  4:33         ` Ben Blum
2010-08-04  4:33           ` Ben Blum
     [not found]           ` <20100804043328.GB11950-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-04  4:34             ` Paul Menage
2010-08-04  4:34               ` Paul Menage
2010-08-06  6:02               ` Ben Blum
2010-08-06  7:08                 ` KAMEZAWA Hiroyuki
     [not found]                 ` <20100806060224.GA1351-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-06  7:08                   ` KAMEZAWA Hiroyuki
     [not found]               ` <AANLkTi=dhym3c+XJVjoObROcw=mz2Y+a2R5oMdePK3Ng-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-06  6:02                 ` Ben Blum
2010-08-04 16:34         ` Brian K. White
2010-08-04 16:34           ` Brian K. White
     [not found]     ` <20100730235754.GB22644-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-04  3:44       ` Paul Menage
2010-07-30 23:59   ` [PATCH v4 2/2] cgroups: make procs file writable Ben Blum
2010-08-03 19:58   ` [PATCH v4 0/2] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Andrew Morton
2010-08-11  5:46   ` [PATCH v5 0/3] " Ben Blum
2010-08-11  5:46     ` Ben Blum
2010-08-11  5:47     ` [PATCH v5 1/3] cgroups: read-write lock CLONE_THREAD forking per threadgroup Ben Blum
2010-08-23 23:35       ` Paul Menage
     [not found]       ` <20100811054711.GB8743-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-23 23:35         ` Paul Menage
     [not found]     ` <20100811054604.GA8743-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-11  5:47       ` Ben Blum
2010-08-11  5:48       ` [PATCH v5 2/3] cgroups: add can_attach callback for checking all threads in a group Ben Blum
2010-08-11  5:48         ` Ben Blum
2010-08-23 23:31         ` Paul Menage
     [not found]         ` <20100811054814.GC8743-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-23 23:31           ` Paul Menage
2010-08-11  5:48       ` [PATCH v5 3/3] cgroups: make procs file writable Ben Blum
2010-12-24  8:22       ` [PATCH v6 0/3] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Ben Blum
2010-12-24  8:22         ` Ben Blum
     [not found]         ` <20101224082226.GA13872-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-24  8:23           ` [PATCH v6 1/3] cgroups: read-write lock CLONE_THREAD forking per threadgroup Ben Blum
2010-12-24  8:23             ` Ben Blum
2010-12-24  8:24           ` [PATCH v6 2/3] cgroups: add can_attach callback for checking all threads in a group Ben Blum
2010-12-24  8:24             ` Ben Blum
2010-12-24  8:24           ` [PATCH v6 3/3] cgroups: make procs file writable Ben Blum
2010-12-24  8:24             ` Ben Blum
2011-01-12 23:26             ` Paul E. McKenney
     [not found]             ` <20101224082445.GD13872-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-01-12 23:26               ` Paul E. McKenney
2010-12-26 12:09           ` [PATCH v7 0/3] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Ben Blum
2010-12-26 12:09         ` Ben Blum
2010-12-26 12:09           ` [PATCH v7 1/3] cgroups: read-write lock CLONE_THREAD forking per threadgroup Ben Blum
2011-01-24  8:38             ` Paul Menage
2011-01-24 21:05             ` Andrew Morton
2011-02-04 21:25               ` Ben Blum
     [not found]                 ` <20110204212515.GA5916-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-02-04 21:36                   ` Andrew Morton
2011-02-04 21:36                 ` Andrew Morton
     [not found]                   ` <20110204133657.78aeebe3.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-02-04 21:43                     ` Ben Blum
2011-02-04 21:43                       ` Ben Blum
2011-02-14  5:31               ` Paul Menage
     [not found]               ` <20110124130529.903d9832.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-02-04 21:25                 ` Ben Blum
2011-02-14  5:31                 ` Paul Menage
     [not found]             ` <20101226120951.GB28529-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-01-24  8:38               ` Paul Menage
2011-01-24 21:05               ` Andrew Morton
2010-12-26 12:11           ` [PATCH v7 2/3] cgroups: add atomic-context per-thread subsystem callbacks Ben Blum
     [not found]             ` <20101226121100.GC28529-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-01-24  8:38               ` Paul Menage
2011-01-24  8:38             ` Paul Menage
2011-01-24 15:32               ` Ben Blum
     [not found]               ` <AANLkTimytfrDnr_5SzBUFQu0SaGdAWDC0p38hiFiHrtU-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-01-24 15:32                 ` Ben Blum
2010-12-26 12:12           ` [PATCH v7 3/3] cgroups: make procs file writable Ben Blum
     [not found]           ` <20101226120919.GA28529-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-26 12:09             ` [PATCH v7 1/3] cgroups: read-write lock CLONE_THREAD forking per threadgroup Ben Blum
2010-12-26 12:11             ` [PATCH v7 2/3] cgroups: add atomic-context per-thread subsystem callbacks Ben Blum
2010-12-26 12:12             ` [PATCH v7 3/3] cgroups: make procs file writable Ben Blum
2011-02-08  1:35             ` [PATCH v8 0/3] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Ben Blum
2011-02-08  1:35           ` Ben Blum [this message]
2011-02-08  1:37             ` [PATCH v8 1/3] cgroups: read-write lock CLONE_THREAD forking per threadgroup Ben Blum
2011-03-03 17:54               ` Paul Menage
     [not found]               ` <20110208013741.GD31569-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-03-03 17:54                 ` Paul Menage
     [not found]             ` <20110208013542.GC31569-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-02-08  1:37               ` Ben Blum
2011-02-08  1:39               ` [PATCH v8 2/3] cgroups: add per-thread subsystem callbacks Ben Blum
2011-02-08  1:39                 ` Ben Blum
2011-03-03 17:59                 ` Paul Menage
     [not found]                 ` <20110208013915.GE31569-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-03-03 17:59                   ` Paul Menage
2011-02-08  1:39               ` [PATCH v8 3/3] cgroups: make procs file writable Ben Blum
2011-02-08  1:39                 ` Ben Blum
2011-02-16 19:22                 ` [PATCH v8 4/3] cgroups: use flex_array in attach_proc Ben Blum
     [not found]                   ` <20110216192200.GA11980-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-03-03 17:48                     ` Paul Menage
2011-03-03 17:48                   ` Paul Menage
2011-03-22  5:15                     ` Ben Blum
     [not found]                       ` <20110322051553.GB11447-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-03-22  5:19                         ` [PATCH v8.5 " Ben Blum
2011-03-22  5:19                       ` Ben Blum
     [not found]                     ` <AANLkTinKTqBnjLKkv93UxyWoPL-2vyXP=LUvRz8JTC2K-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-22  5:15                       ` [PATCH v8 " Ben Blum
2011-03-03 18:38                 ` [PATCH v8 3/3] cgroups: make procs file writable Paul Menage
     [not found]                   ` <AANLkTinEnNsu8=PEktXL_EECzGYqsgdf+uogGxe7k4W+-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-10  6:18                     ` Ben Blum
2011-03-10  6:18                   ` Ben Blum
2011-03-10 20:01                     ` Paul Menage
     [not found]                       ` <AANLkTikkmfwk0nV0p=omz2ddrw+ZqWF1Lx3EfO6dTjEQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-15 21:13                         ` Ben Blum
2011-03-15 21:13                           ` Ben Blum
2011-03-18 16:54                           ` Paul Menage
     [not found]                             ` <AANLkTim4z_x_UQE__f5t73Dimja8PTTXTKKgj2phv6FY-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-22  5:18                               ` [PATCH v8.5 " Ben Blum
2011-03-22  5:18                                 ` Ben Blum
     [not found]                                 ` <20110322051841.GA12055-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-03-29 23:27                                   ` Paul Menage
2011-03-29 23:27                                 ` Paul Menage
2011-03-29 23:39                                   ` Andrew Morton
     [not found]                                   ` <BANLkTikMgd5HvMyC1BTGzAtj_=Jk=wZm+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-29 23:39                                     ` Andrew Morton
     [not found]                           ` <20110315211353.GA9992-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-03-18 16:54                             ` [PATCH v8 " Paul Menage
2011-03-22  5:08                     ` Ben Blum
     [not found]                     ` <20110310061831.GA23736-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-03-10 20:01                       ` Paul Menage
2011-03-22  5:08                       ` Ben Blum
     [not found]                 ` <20110208013950.GF31569-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-02-16 19:22                   ` [PATCH v8 4/3] cgroups: use flex_array in attach_proc Ben Blum
2011-03-03 18:38                   ` [PATCH v8 3/3] cgroups: make procs file writable Paul Menage
2011-02-09 23:10               ` [PATCH v8 0/3] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Andrew Morton
2011-04-06 19:44               ` [PATCH v8.75 0/4] " Ben Blum
2011-02-09 23:10             ` [PATCH v8 0/3] " Andrew Morton
2011-02-10  1:02               ` KAMEZAWA Hiroyuki
     [not found]                 ` <20110210100210.adf09c49.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2011-02-10  1:36                   ` Ben Blum
2011-02-14  6:12                   ` Paul Menage
2011-02-10  1:36                 ` Ben Blum
2011-02-14  6:12                 ` Paul Menage
2011-02-14  6:12               ` Paul Menage
     [not found]               ` <20110209151046.89e03dcd.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-02-10  1:02                 ` KAMEZAWA Hiroyuki
2011-02-14  6:12                 ` Paul Menage
2011-04-06 19:44             ` [PATCH v8.75 0/4] " Ben Blum
2011-04-06 19:45               ` [PATCH v8.75 1/4] cgroups: read-write lock CLONE_THREAD forking per threadgroup Ben Blum
     [not found]               ` <20110406194420.GC10792-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-04-06 19:45                 ` Ben Blum
2011-04-06 19:46                 ` [PATCH v8.75 2/4] cgroups: add per-thread subsystem callbacks Ben Blum
2011-04-06 19:46                 ` [PATCH v8.75 3/4] cgroups: make procs file writable Ben Blum
2011-04-06 19:47                 ` [PATCH v8.75 4/4] cgroups: use flex_array in attach_proc Ben Blum
2011-04-12 23:25                 ` [PATCH v8.75 0/4] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Andrew Morton
2011-04-06 19:46               ` [PATCH v8.75 2/4] cgroups: add per-thread subsystem callbacks Ben Blum
2011-04-06 19:46               ` [PATCH v8.75 3/4] cgroups: make procs file writable Ben Blum
2011-04-06 19:47               ` [PATCH v8.75 4/4] cgroups: use flex_array in attach_proc Ben Blum
2011-04-12 23:25               ` [PATCH v8.75 0/4] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Andrew Morton
2011-04-12 23:59                 ` Ben Blum
2011-04-13  2:07                 ` Li Zefan
     [not found]                 ` <20110412162516.4120c441.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-04-12 23:59                   ` Ben Blum
2011-04-13  2:07                   ` Li Zefan
2010-08-11  5:48     ` [PATCH v5 3/3] cgroups: make procs file writable Ben Blum
     [not found]       ` <20100811054851.GD8743-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-08-24 18:08         ` Paul Menage
2010-08-24 18:08       ` Paul Menage
     [not found]         ` <AANLkTimRM8rDe+u7fTy853RK=1mnLJMK57Tci2OLPR7L-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-10-08 21:57           ` Paul Menage
     [not found]             ` <AANLkTim7HW0wNyqOPePFXmEMV8hx_fMKNMTAsSwkRzZX-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-16  6:34               ` Paul Menage
     [not found]                 ` <AANLkTin7aK5uEFi0U+iU_9=cbfRTHfDzKsbWupn73fSL-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-16  8:26                   ` Andrew Morton
     [not found]                     ` <20101216002603.6741874a.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2010-12-24  3:33                       ` Ben Blum
     [not found]                         ` <20101224033352.GA7804-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-24 10:49                           ` David Rientjes
     [not found]                             ` <alpine.DEB.2.00.1012240245040.775-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2010-12-24 11:45                               ` Ben Blum
     [not found]                                 ` <20101224114500.GA18036-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-24 11:53                                   ` Andrew Morton
     [not found]                                     ` <20101224035331.b907b410.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2010-12-24 12:08                                       ` Ben Blum
     [not found]                                         ` <20101224120853.GA18518-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-24 21:24                                           ` Ben Blum
     [not found]                                             ` <20101224212452.GA27275-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-24 21:34                                               ` David Rientjes
     [not found]                                                 ` <alpine.DEB.2.00.1012241333010.13509-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2010-12-24 23:09                                                   ` Ben Blum
     [not found]                                                     ` <20101224230901.GA30136-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-26 21:48                                                       ` David Rientjes
     [not found]                                                         ` <alpine.DEB.2.00.1012261345340.23173-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2010-12-27  0:12                                                           ` Ben Blum
     [not found]                                                             ` <20101227001233.GA10951-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-27 10:31                                                               ` David Rientjes
     [not found]                                                                 ` <alpine.DEB.2.00.1012270227010.3960-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2010-12-27 10:37                                                                   ` Ben Blum
     [not found]                                                                     ` <20101227103701.GC20986-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-27 10:53                                                                       ` David Rientjes
     [not found]                                                                         ` <alpine.DEB.2.00.1012270240400.3960-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2010-12-27 11:00                                                                           ` Ben Blum
     [not found]                                                                             ` <20101227110050.GF20986-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-27 11:03                                                                               ` David Rientjes
2010-12-29  1:39                                                                           ` Li Zefan
     [not found]                                                                             ` <4D1A913C.5080702-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-12-30  0:26                                                                               ` David Rientjes
     [not found]                                                                                 ` <alpine.DEB.2.00.1012291624210.6040-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2010-12-30  4:02                                                                                   ` Li Zefan
     [not found]                                                                                     ` <4D1C0464.5090801-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-12-30  4:24                                                                                       ` David Rientjes
     [not found]                                                                                         ` <alpine.DEB.2.00.1012292019540.27634-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2010-12-30  4:38                                                                                           ` Li Zefan
     [not found]                                                                                             ` <4D1C0CC6.4090107-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-12-30  5:49                                                                                               ` David Rientjes
     [not found]                                                                                                 ` <alpine.DEB.2.00.1012292149000.29486-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2010-12-30  6:12                                                                                                   ` Li Zefan
     [not found]                                                                                                     ` <4D1C22D2.9090007-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-12-30 18:25                                                                                                       ` David Rientjes
2010-12-24 21:32                                           ` David Rientjes
2010-12-25  2:55                           ` Ben Blum
     [not found]                             ` <20101225025508.GA649-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-27  0:53                               ` Daisuke Nishimura
     [not found]                                 ` <20101227095353.48d95687.nishimura-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2010-12-27  1:15                                   ` KAMEZAWA Hiroyuki
2010-12-27  4:22                                   ` Ben Blum
     [not found]                                     ` <20101227042254.GA15417-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-27  7:00                                       ` KAMEZAWA Hiroyuki
     [not found]                                         ` <20101227160041.07bff52a.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-12-27  7:21                                           ` Ben Blum
     [not found]                                             ` <20101227072123.GA19652-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-27  7:42                                               ` KAMEZAWA Hiroyuki
     [not found]                                                 ` <20101227164207.b09318be.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-12-27  8:42                                                   ` Ben Blum
     [not found]                                                     ` <20101227084257.GA20986-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2010-12-27  9:18                                                       ` KAMEZAWA Hiroyuki
     [not found]                                                         ` <20101227181801.095e9a23.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-12-27 10:12                                                           ` Ben Blum
     [not found]                                                             ` <20101227101228.GB20986-dJQ2lsn+DImqwBT9kiuFm8WGCVk0P7UB@public.gmane.org>
2011-01-04  0:57                                                               ` KAMEZAWA Hiroyuki
2010-12-28  2:43                                       ` [RFC][BUGFIX] memcg: fix dead lock between cpuset and memcg (Re: [PATCH v5 3/3] cgroups: make procs file writable) Daisuke Nishimura
2010-12-25  4:24                           ` [PATCH v5 3/3] cgroups: make procs file writable Ben Blum
2010-08-03 19:58 ` [PATCH v4 0/2] cgroups: implement moving a threadgroup's threads atomically with cgroup.procs Andrew Morton
     [not found]   ` <20100803125827.0822e6ab.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2010-08-03 23:45     ` KAMEZAWA Hiroyuki
2010-08-04  2:00     ` Li Zefan
2010-08-04  2:00       ` Li Zefan
2010-08-03 23:45   ` KAMEZAWA Hiroyuki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110208013542.GC31569@ghc17.ghc.andrew.cmu.edu \
    --to=bblum@andrew.cmu.edu \
    --cc=akpm@linux-foundation.org \
    --cc=containers@lists.linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=matthltc@us.ibm.com \
    --cc=menage@google.com \
    --cc=miaox@cn.fujitsu.com \
    --cc=oleg@redhat.com \
    --cc=rientjes@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.