All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Wagner <wagi-kQCPcA+X3s7YtjvyW6yDsg@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org,
	mhocko-AlSwsSmVLrQ@public.gmane.org,
	rjw-KKrjLPT3xs0@public.gmane.org,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
Subject: Re: [PATCH 1/9 v3] cgroup: add cgroup_subsys->post_create()
Date: Fri, 09 Nov 2012 12:09:38 +0100	[thread overview]
Message-ID: <509CE472.9040504@monom.org> (raw)
In-Reply-To: <20121108190715.GD9672-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>

Hi Tejun,

On 08.11.2012 20:07, Tejun Heo wrote:> Subject: cgroup: add 
cgroup_subsys->post_create()
 >
 > Currently, there's no way for a controller to find out whether a new
 > cgroup finished all ->create() allocatinos successfully and is
 > considered "live" by cgroup.

I'd like add hierarchy support to net_prio and the first thing to
do is to get rid of get_prioidx(). It looks like it would be nice to be 
able to use use_id and post_create() for this but as I read the code 
this might not work because the netdev might access resources allocated 
between create() and post_create(). So my question is would it make 
sense to move

cgroup_create():

		if (ss->use_id) {
			err = alloc_css_id(ss, parent, cgrp);
			if (err)
				goto err_destroy;
		}

part before create() or add some protection between create() and 
post_create() callback in net_prio. I have a patch but I see
I could drop it completely if post_create() is there.

cheers,
daniel


 From 84fbbdf0dc5d3460389e39a00a3ee553ee55b563 Mon Sep 17 00:00:00 2001
From: Daniel Wagner <daniel.wagner-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
Date: Thu, 8 Nov 2012 17:17:21 +0100
Subject: [PATCH] cgroups: net_prio: Use IDR library to assign netprio index

get_prioidx() allocated a new id whenever it was called. put_prioidx()
gave an id back. get_pioidx() could can reallocate the id later on.
So that is exactly what IDR offers and so let's use it.

Signed-off-by: Daniel Wagner <daniel.wagner-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
---
  net/core/netprio_cgroup.c | 51 
+++++++++--------------------------------------
  1 file changed, 9 insertions(+), 42 deletions(-)

diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c
index 847c02b..3c1b612 100644
--- a/net/core/netprio_cgroup.c
+++ b/net/core/netprio_cgroup.c
@@ -27,10 +27,7 @@

  #include <linux/fdtable.h>

-#define PRIOIDX_SZ 128
-
-static unsigned long prioidx_map[PRIOIDX_SZ];
-static DEFINE_SPINLOCK(prioidx_map_lock);
+static DEFINE_IDA(netprio_ida);
  static atomic_t max_prioidx = ATOMIC_INIT(0);

  static inline struct cgroup_netprio_state *cgrp_netprio_state(struct 
cgroup *cgrp)
@@ -39,34 +36,6 @@ static inline struct cgroup_netprio_state 
*cgrp_netprio_state(struct cgroup *cgr
  			    struct cgroup_netprio_state, css);
  }

-static int get_prioidx(u32 *prio)
-{
-	unsigned long flags;
-	u32 prioidx;
-
-	spin_lock_irqsave(&prioidx_map_lock, flags);
-	prioidx = find_first_zero_bit(prioidx_map, sizeof(unsigned long) * 
PRIOIDX_SZ);
-	if (prioidx == sizeof(unsigned long) * PRIOIDX_SZ) {
-		spin_unlock_irqrestore(&prioidx_map_lock, flags);
-		return -ENOSPC;
-	}
-	set_bit(prioidx, prioidx_map);
-	if (atomic_read(&max_prioidx) < prioidx)
-		atomic_set(&max_prioidx, prioidx);
-	spin_unlock_irqrestore(&prioidx_map_lock, flags);
-	*prio = prioidx;
-	return 0;
-}
-
-static void put_prioidx(u32 idx)
-{
-	unsigned long flags;
-
-	spin_lock_irqsave(&prioidx_map_lock, flags);
-	clear_bit(idx, prioidx_map);
-	spin_unlock_irqrestore(&prioidx_map_lock, flags);
-}
-
  static int extend_netdev_table(struct net_device *dev, u32 new_len)
  {
  	size_t new_size = sizeof(struct netprio_map) +
@@ -120,9 +89,9 @@ static struct cgroup_subsys_state *cgrp_create(struct 
cgroup *cgrp)
  	if (cgrp->parent && cgrp_netprio_state(cgrp->parent)->prioidx)
  		goto out;

-	ret = get_prioidx(&cs->prioidx);
-	if (ret < 0) {
-		pr_warn("No space in priority index array\n");
+	cs->prioidx = ida_simple_get(&netprio_ida, 0, 0, GFP_KERNEL);
+	if (cs->prioidx < 0) {
+		ret = cs->prioidx;
  		goto out;
  	}

@@ -146,7 +115,7 @@ static void cgrp_destroy(struct cgroup *cgrp)
  			map->priomap[cs->prioidx] = 0;
  	}
  	rtnl_unlock();
-	put_prioidx(cs->prioidx);
+	ida_simple_remove(&netprio_ida, cs->prioidx);
  	kfree(cs);
  }

@@ -284,12 +253,10 @@ struct cgroup_subsys net_prio_subsys = {
  	.module		= THIS_MODULE,

  	/*
-	 * net_prio has artificial limit on the number of cgroups and
-	 * disallows nesting making it impossible to co-mount it with other
-	 * hierarchical subsystems.  Remove the artificially low PRIOIDX_SZ
-	 * limit and properly nest configuration such that children follow
-	 * their parents' configurations by default and are allowed to
-	 * override and remove the following.
+	 * net_prio has artificial limit on properly nest
+	 * configuration such that children follow their parents'
+	 * configurations by default and are allowed to override and
+	 * remove the following.
  	 */
  	.broken_hierarchy = true,
  };
-- 
1.7.11.7


WARNING: multiple messages have this Message-ID (diff)
From: Daniel Wagner <wagi@monom.org>
To: Tejun Heo <tj@kernel.org>
Cc: lizefan@huawei.com, mhocko@suse.cz, rjw@sisk.pl,
	containers@lists.linux-foundation.org, cgroups@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	fweisbec@gmail.com, Glauber Costa <glommer@parallels.com>
Subject: Re: [PATCH 1/9 v3] cgroup: add cgroup_subsys->post_create()
Date: Fri, 09 Nov 2012 12:09:38 +0100	[thread overview]
Message-ID: <509CE472.9040504@monom.org> (raw)
In-Reply-To: <20121108190715.GD9672@htj.dyndns.org>

Hi Tejun,

On 08.11.2012 20:07, Tejun Heo wrote:> Subject: cgroup: add 
cgroup_subsys->post_create()
 >
 > Currently, there's no way for a controller to find out whether a new
 > cgroup finished all ->create() allocatinos successfully and is
 > considered "live" by cgroup.

I'd like add hierarchy support to net_prio and the first thing to
do is to get rid of get_prioidx(). It looks like it would be nice to be 
able to use use_id and post_create() for this but as I read the code 
this might not work because the netdev might access resources allocated 
between create() and post_create(). So my question is would it make 
sense to move

cgroup_create():

		if (ss->use_id) {
			err = alloc_css_id(ss, parent, cgrp);
			if (err)
				goto err_destroy;
		}

part before create() or add some protection between create() and 
post_create() callback in net_prio. I have a patch but I see
I could drop it completely if post_create() is there.

cheers,
daniel


 From 84fbbdf0dc5d3460389e39a00a3ee553ee55b563 Mon Sep 17 00:00:00 2001
From: Daniel Wagner <daniel.wagner@bmw-carit.de>
Date: Thu, 8 Nov 2012 17:17:21 +0100
Subject: [PATCH] cgroups: net_prio: Use IDR library to assign netprio index

get_prioidx() allocated a new id whenever it was called. put_prioidx()
gave an id back. get_pioidx() could can reallocate the id later on.
So that is exactly what IDR offers and so let's use it.

Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
---
  net/core/netprio_cgroup.c | 51 
+++++++++--------------------------------------
  1 file changed, 9 insertions(+), 42 deletions(-)

diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c
index 847c02b..3c1b612 100644
--- a/net/core/netprio_cgroup.c
+++ b/net/core/netprio_cgroup.c
@@ -27,10 +27,7 @@

  #include <linux/fdtable.h>

-#define PRIOIDX_SZ 128
-
-static unsigned long prioidx_map[PRIOIDX_SZ];
-static DEFINE_SPINLOCK(prioidx_map_lock);
+static DEFINE_IDA(netprio_ida);
  static atomic_t max_prioidx = ATOMIC_INIT(0);

  static inline struct cgroup_netprio_state *cgrp_netprio_state(struct 
cgroup *cgrp)
@@ -39,34 +36,6 @@ static inline struct cgroup_netprio_state 
*cgrp_netprio_state(struct cgroup *cgr
  			    struct cgroup_netprio_state, css);
  }

-static int get_prioidx(u32 *prio)
-{
-	unsigned long flags;
-	u32 prioidx;
-
-	spin_lock_irqsave(&prioidx_map_lock, flags);
-	prioidx = find_first_zero_bit(prioidx_map, sizeof(unsigned long) * 
PRIOIDX_SZ);
-	if (prioidx == sizeof(unsigned long) * PRIOIDX_SZ) {
-		spin_unlock_irqrestore(&prioidx_map_lock, flags);
-		return -ENOSPC;
-	}
-	set_bit(prioidx, prioidx_map);
-	if (atomic_read(&max_prioidx) < prioidx)
-		atomic_set(&max_prioidx, prioidx);
-	spin_unlock_irqrestore(&prioidx_map_lock, flags);
-	*prio = prioidx;
-	return 0;
-}
-
-static void put_prioidx(u32 idx)
-{
-	unsigned long flags;
-
-	spin_lock_irqsave(&prioidx_map_lock, flags);
-	clear_bit(idx, prioidx_map);
-	spin_unlock_irqrestore(&prioidx_map_lock, flags);
-}
-
  static int extend_netdev_table(struct net_device *dev, u32 new_len)
  {
  	size_t new_size = sizeof(struct netprio_map) +
@@ -120,9 +89,9 @@ static struct cgroup_subsys_state *cgrp_create(struct 
cgroup *cgrp)
  	if (cgrp->parent && cgrp_netprio_state(cgrp->parent)->prioidx)
  		goto out;

-	ret = get_prioidx(&cs->prioidx);
-	if (ret < 0) {
-		pr_warn("No space in priority index array\n");
+	cs->prioidx = ida_simple_get(&netprio_ida, 0, 0, GFP_KERNEL);
+	if (cs->prioidx < 0) {
+		ret = cs->prioidx;
  		goto out;
  	}

@@ -146,7 +115,7 @@ static void cgrp_destroy(struct cgroup *cgrp)
  			map->priomap[cs->prioidx] = 0;
  	}
  	rtnl_unlock();
-	put_prioidx(cs->prioidx);
+	ida_simple_remove(&netprio_ida, cs->prioidx);
  	kfree(cs);
  }

@@ -284,12 +253,10 @@ struct cgroup_subsys net_prio_subsys = {
  	.module		= THIS_MODULE,

  	/*
-	 * net_prio has artificial limit on the number of cgroups and
-	 * disallows nesting making it impossible to co-mount it with other
-	 * hierarchical subsystems.  Remove the artificially low PRIOIDX_SZ
-	 * limit and properly nest configuration such that children follow
-	 * their parents' configurations by default and are allowed to
-	 * override and remove the following.
+	 * net_prio has artificial limit on properly nest
+	 * configuration such that children follow their parents'
+	 * configurations by default and are allowed to override and
+	 * remove the following.
  	 */
  	.broken_hierarchy = true,
  };
-- 
1.7.11.7



  parent reply	other threads:[~2012-11-09 11:09 UTC|newest]

Thread overview: 171+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-03  8:38 [PATCHSET cgroup/for-3.8] cgroup_freezer: implement proper hierarchy support Tejun Heo
2012-11-03  8:38 ` Tejun Heo
2012-11-08 18:01 ` Tejun Heo
     [not found] ` <1351931915-1701-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-03  8:38   ` [PATCH 1/9] cgroup: add cgroup_subsys->post_create() Tejun Heo
2012-11-03  8:38     ` Tejun Heo
     [not found]     ` <1351931915-1701-2-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-05 13:42       ` Glauber Costa
2012-11-05 13:42         ` Glauber Costa
     [not found]         ` <5097C23B.3040808-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-11-05 18:02           ` [RFC] cgroup: deprecate clone_children Tejun Heo
2012-11-05 18:02             ` Tejun Heo
     [not found]             ` <20121105180213.GB19354-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-05 19:17               ` Serge Hallyn
2012-11-05 19:17                 ` Serge Hallyn
2012-11-05 19:26                 ` Tejun Heo
2012-11-05 19:26                   ` Tejun Heo
2012-11-07 15:25       ` [PATCH 1/9] cgroup: add cgroup_subsys->post_create() Michal Hocko
2012-11-07 15:25         ` Michal Hocko
     [not found]         ` <20121107152516.GA4131-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-07 17:02           ` Tejun Heo
2012-11-07 17:02             ` Tejun Heo
2012-11-07 17:15       ` [PATCH 1/9 v2] " Tejun Heo
2012-11-07 17:15         ` Tejun Heo
     [not found]         ` <20121107171508.GF2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-07 17:40           ` Michal Hocko
2012-11-07 17:40             ` Michal Hocko
2012-11-07 17:40           ` Michal Hocko
2012-11-08  2:59           ` Kamezawa Hiroyuki
2012-11-08  2:59           ` Kamezawa Hiroyuki
2012-11-08  2:59             ` Kamezawa Hiroyuki
2012-11-08 19:07       ` [PATCH 1/9 v3] " Tejun Heo
2012-11-08 19:07     ` Tejun Heo
2012-11-09  9:09       ` Li Zefan
2012-11-09  9:09         ` Li Zefan
     [not found]       ` <20121108190715.GD9672-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-09  9:09         ` Li Zefan
2012-11-09  9:09         ` Li Zefan
2012-11-09  9:09         ` Li Zefan
2012-11-09  9:09           ` Li Zefan
2012-11-09 11:09         ` Daniel Wagner [this message]
2012-11-09 11:09           ` Daniel Wagner
     [not found]           ` <509CE472.9040504-kQCPcA+X3s7YtjvyW6yDsg@public.gmane.org>
2012-11-09 17:22             ` Tejun Heo
2012-11-09 17:22               ` Tejun Heo
     [not found]               ` <20121109172211.GB2711-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-10  1:35                 ` Glauber Costa
2012-11-10  1:35                   ` Glauber Costa
2012-11-10  1:35                 ` Glauber Costa
2012-11-12 13:04                 ` Daniel Wagner
2012-11-12 13:04               ` Daniel Wagner
2012-11-09 17:22             ` Tejun Heo
2012-11-09 11:09         ` Daniel Wagner
2012-11-03  8:38   ` [PATCH 2/9] cgroup: Use rculist ops for cgroup->children Tejun Heo
2012-11-03  8:38     ` Tejun Heo
2012-11-07 15:30     ` Michal Hocko
     [not found]     ` <1351931915-1701-3-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-07 15:30       ` Michal Hocko
2012-11-08  3:01       ` Kamezawa Hiroyuki
2012-11-08  3:01       ` Kamezawa Hiroyuki
2012-11-08  3:01         ` Kamezawa Hiroyuki
2012-11-09  9:10       ` Li Zefan
2012-11-09  9:10         ` Li Zefan
2012-11-03  8:38   ` [PATCH 3/9] cgroup: implement generic child / descendant walk macros Tejun Heo
2012-11-03  8:38     ` Tejun Heo
     [not found]     ` <1351931915-1701-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-06 20:31       ` Tejun Heo
2012-11-07 16:54       ` Michal Hocko
2012-11-08  3:21       ` Kamezawa Hiroyuki
2012-11-08  3:21         ` Kamezawa Hiroyuki
2012-11-08  9:50       ` Michal Hocko
2012-11-08  9:50         ` Michal Hocko
     [not found]         ` <20121108095013.GA31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 17:15           ` Tejun Heo
2012-11-08 17:15         ` Tejun Heo
2012-11-08 17:59       ` [PATCH 3/9 v2] " Tejun Heo
2012-11-06 20:31     ` [PATCH 3/9] " Tejun Heo
     [not found]       ` <20121106203154.GV30069-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-07 15:38         ` Michal Hocko
2012-11-07 15:38           ` Michal Hocko
2012-11-07 15:38         ` Michal Hocko
2012-11-07 16:54     ` Michal Hocko
     [not found]       ` <20121107165457.GD4131-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-07 17:01         ` Tejun Heo
2012-11-07 17:01           ` Tejun Heo
     [not found]           ` <20121107170118.GD2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-07 17:49             ` Michal Hocko
2012-11-07 17:49             ` Michal Hocko
2012-11-07 17:49               ` Michal Hocko
2012-11-07 17:01         ` Tejun Heo
2012-11-08 17:59     ` [PATCH 3/9 v2] " Tejun Heo
     [not found]       ` <20121108175946.GA9672-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-09  9:13         ` Li Zefan
2012-11-09  9:13           ` Li Zefan
2012-11-03  8:38   ` [PATCH 4/9] cgroup_freezer: trivial cleanups Tejun Heo
2012-11-03  8:38     ` Tejun Heo
     [not found]     ` <1351931915-1701-5-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  3:24       ` Kamezawa Hiroyuki
2012-11-08  3:24       ` Kamezawa Hiroyuki
2012-11-08  3:24         ` Kamezawa Hiroyuki
2012-11-08  9:53       ` Michal Hocko
2012-11-08  9:53         ` Michal Hocko
2012-11-03  8:38   ` [PATCH 5/9] cgroup_freezer: prepare freezer_change_state() for full hierarchy support Tejun Heo
2012-11-03  8:38     ` Tejun Heo
2012-11-08  9:56     ` Michal Hocko
     [not found]     ` <1351931915-1701-6-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  4:25       ` Kamezawa Hiroyuki
2012-11-08  4:25       ` Kamezawa Hiroyuki
2012-11-08  4:25         ` Kamezawa Hiroyuki
2012-11-08  9:56       ` Michal Hocko
2012-11-03  8:38   ` [PATCH 6/9] cgroup_freezer: make freezer->state mask of flags Tejun Heo
2012-11-03  8:38     ` Tejun Heo
     [not found]     ` <1351931915-1701-7-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  4:37       ` Kamezawa Hiroyuki
2012-11-08  4:37       ` Kamezawa Hiroyuki
2012-11-08  4:37         ` Kamezawa Hiroyuki
     [not found]         ` <509B371E.9050005-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08  4:42           ` Tejun Heo
2012-11-08  4:42             ` Tejun Heo
     [not found]             ` <20121108044255.GG2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-08  5:00               ` Kamezawa Hiroyuki
2012-11-08  5:00                 ` Kamezawa Hiroyuki
     [not found]                 ` <509B3C72.3050904-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08 14:38                   ` Tejun Heo
2012-11-08 14:38                 ` Tejun Heo
2012-11-08  5:00               ` Kamezawa Hiroyuki
2012-11-08 10:39       ` Michal Hocko
2012-11-08 10:39         ` Michal Hocko
     [not found]         ` <20121108103928.GD31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 14:39           ` Tejun Heo
2012-11-08 14:39             ` Tejun Heo
     [not found]             ` <20121108143952.GD12973-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-08 14:47               ` Michal Hocko
2012-11-08 14:47                 ` Michal Hocko
2012-11-03  8:38   ` [PATCH 7/9] cgroup_freezer: introduce CGROUP_FREEZING_[SELF|PARENT] Tejun Heo
2012-11-03  8:38     ` Tejun Heo
     [not found]     ` <1351931915-1701-8-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  4:42       ` Kamezawa Hiroyuki
2012-11-08  4:42         ` Kamezawa Hiroyuki
     [not found]         ` <509B382E.4030707-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08  4:45           ` Tejun Heo
2012-11-08  4:45             ` Tejun Heo
     [not found]             ` <20121108044521.GH2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-08  4:56               ` Kamezawa Hiroyuki
2012-11-08  4:56             ` Kamezawa Hiroyuki
     [not found]               ` <509B3B94.1070407-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08 14:41                 ` Tejun Heo
2012-11-08 14:41                   ` Tejun Heo
2012-11-08  4:42       ` Kamezawa Hiroyuki
2012-11-08 12:47       ` Michal Hocko
2012-11-08 12:47     ` Michal Hocko
2012-11-08 14:42       ` Tejun Heo
     [not found]       ` <20121108124755.GG31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 14:42         ` Tejun Heo
2012-11-03  8:38   ` [PATCH 8/9] cgroup_freezer: add ->post_create() and ->pre_destroy() and track online state Tejun Heo
2012-11-03  8:38     ` Tejun Heo
     [not found]     ` <1351931915-1701-9-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  4:48       ` Kamezawa Hiroyuki
2012-11-08  4:48       ` Kamezawa Hiroyuki
2012-11-08  4:48         ` Kamezawa Hiroyuki
     [not found]         ` <509B3999.6060505-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08 15:41           ` Tejun Heo
2012-11-08 15:41             ` Tejun Heo
2012-11-08 15:41           ` Tejun Heo
2012-11-08 13:23       ` Michal Hocko
2012-11-08 13:23     ` Michal Hocko
     [not found]       ` <20121108132306.GH31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 17:17         ` Tejun Heo
2012-11-08 17:17         ` Tejun Heo
2012-11-08 17:17           ` Tejun Heo
2012-11-03  8:38   ` [PATCH 9/9] cgroup_freezer: implement proper hierarchy support Tejun Heo
2012-11-03  8:38     ` Tejun Heo
2012-11-07 11:00     ` Michal Hocko
     [not found]       ` <20121107110024.GA4143-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-07 16:31         ` Tejun Heo
2012-11-07 16:31       ` Tejun Heo
     [not found]     ` <1351931915-1701-10-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-07 11:00       ` Michal Hocko
2012-11-07 16:39       ` [PATCH 9/9 v2] " Tejun Heo
2012-11-07 16:39         ` Tejun Heo
     [not found]         ` <20121107163919.GC2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-08 14:08           ` Michal Hocko
2012-11-08 14:08             ` Michal Hocko
     [not found]             ` <20121108140852.GI31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 14:18               ` Tejun Heo
2012-11-08 14:18               ` Tejun Heo
2012-11-08 14:18                 ` Tejun Heo
     [not found]                 ` <20121108141848.GA12973-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-08 15:20                   ` Michal Hocko
2012-11-08 15:20                 ` Michal Hocko
     [not found]                   ` <20121108152039.GL31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 15:29                     ` Tejun Heo
2012-11-08 15:29                     ` Tejun Heo
2012-11-08 15:29                       ` Tejun Heo
     [not found]                       ` <20121108152923.GG12973-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-08 15:57                         ` Michal Hocko
2012-11-08 15:57                       ` Michal Hocko
2012-11-08 17:57       ` [PATCH 9/9 v3] " Tejun Heo
2012-11-08 17:57       ` Tejun Heo
2012-11-08 17:57         ` Tejun Heo
     [not found]         ` <20121108175750.GK12973-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-08 18:02           ` Michal Hocko
2012-11-08 18:02           ` Michal Hocko
2012-11-08 18:02             ` Michal Hocko
     [not found]             ` <20121108180246.GA17415-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 18:04               ` Tejun Heo
2012-11-08 18:04                 ` Tejun Heo
     [not found]                 ` <20121108180417.GC9672-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-08 18:08                   ` Michal Hocko
2012-11-08 18:08                     ` Michal Hocko
2012-11-08 18:01   ` [PATCHSET cgroup/for-3.8] " Tejun Heo
2012-11-09 17:15   ` Tejun Heo
2012-11-09 17:15     ` Tejun Heo

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=509CE472.9040504@monom.org \
    --to=wagi-kqcpca+x3s7ytjvyw6ydsg@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    --cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
    --cc=rjw-KKrjLPT3xs0@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /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.