All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20120113224424.GC1653@cmpxchg.org>

diff --git a/a/1.txt b/N1/1.txt
index f6cab6c..494aa11 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,10 +1,10 @@
 On Fri, Jan 13, 2012 at 01:31:16PM -0800, Ying Han wrote:
-> On Thu, Jan 12, 2012 at 12:59 AM, Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org> wrote:
+> On Thu, Jan 12, 2012 at 12:59 AM, Johannes Weiner <hannes@cmpxchg.org> wrote:
 > > On Wed, Jan 11, 2012 at 01:42:31PM -0800, Ying Han wrote:
 > >> On Tue, Jan 10, 2012 at 7:02 AM, Johannes Weiner <hannes@cmpxchg.org> wrote:
 > >> > @@ -1318,6 +1123,36 @@ static unsigned long mem_cgroup_margin(struct mem_cgroup *memcg)
-> >> >        return margin >> PAGE_SHIFT;
-> >> >  }
+> >> >        return margin >> PAGE_SHIFT;
+> >> >  }
 > >> >
 > >> > +/**
 > >> > + * mem_cgroup_over_softlimit
@@ -16,23 +16,23 @@ On Fri, Jan 13, 2012 at 01:31:16PM -0800, Ying Han wrote:
 > >> > + * @root.
 > >> > + */
 > >> > +bool mem_cgroup_over_softlimit(struct mem_cgroup *root,
-> >> > +                              struct mem_cgroup *memcg)
+> >> > +                              struct mem_cgroup *memcg)
 > >> > +{
-> >> > +       if (mem_cgroup_disabled())
-> >> > +               return false;
+> >> > +       if (mem_cgroup_disabled())
+> >> > +               return false;
 > >> > +
-> >> > +       if (!root)
-> >> > +               root = root_mem_cgroup;
+> >> > +       if (!root)
+> >> > +               root = root_mem_cgroup;
 > >> > +
-> >> > +       for (; memcg; memcg = parent_mem_cgroup(memcg)) {
-> >> > +               /* root_mem_cgroup does not have a soft limit */
-> >> > +               if (memcg == root_mem_cgroup)
-> >> > +                       break;
-> >> > +               if (res_counter_soft_limit_excess(&memcg->res))
-> >> > +                       return true;
-> >> > +               if (memcg == root)
-> >> > +                       break;
-> >> > +       }
+> >> > +       for (; memcg; memcg = parent_mem_cgroup(memcg)) {
+> >> > +               /* root_mem_cgroup does not have a soft limit */
+> >> > +               if (memcg == root_mem_cgroup)
+> >> > +                       break;
+> >> > +               if (res_counter_soft_limit_excess(&memcg->res))
+> >> > +                       return true;
+> >> > +               if (memcg == root)
+> >> > +                       break;
+> >> > +       }
 > >>
 > >> Here it adds pressure on a cgroup if one of its parents exceeds soft
 > >> limit, although the cgroup itself is under soft limit. It does change
@@ -44,10 +44,10 @@ On Fri, Jan 13, 2012 at 01:31:16PM -0800, Ying Han wrote:
 > >> Machine capacity 32G and we over-commit by 8G.
 > >>
 > >> root
-> >>   -> A (hard limit 20G, soft limit 15G, usage 16G)
-> >>        -> A1 (soft limit 5G, usage 4G)
-> >>        -> A2 (soft limit 10G, usage 12G)
-> >>   -> B (hard limit 20G, soft limit 10G, usage 16G)
+> >>   -> A (hard limit 20G, soft limit 15G, usage 16G)
+> >>        -> A1 (soft limit 5G, usage 4G)
+> >>        -> A2 (soft limit 10G, usage 12G)
+> >>   -> B (hard limit 20G, soft limit 10G, usage 16G)
 > >>
 > >> under global reclaim, we don't want to add pressure on A1 although its
 > >> parent A exceeds its soft limit. Assume that if we set the soft limit
@@ -68,8 +68,8 @@ On Fri, Jan 13, 2012 at 01:31:16PM -0800, Ying Han wrote:
 > 
 > root
 > -> A (hard limit 20G, soft limit 12G, usage 20G)
->        -> A1 (soft limit 2G, usage 1G)
->        -> A2 (soft limit 10G, usage 19G)
+>        -> A1 (soft limit 2G, usage 1G)
+>        -> A2 (soft limit 10G, usage 19G)
 > -> B (hard limit 20G, soft limit 10G, usage 0G)
 > 
 > Now, A is under memory pressure since the total usage is hitting its
@@ -126,3 +126,10 @@ bool mem_cgroup_over_soft_limit(struct mem_cgroup *root,
 	}
 	return false;
 }
+
+--
+To unsubscribe, send a message with 'unsubscribe linux-mm' in
+the body to majordomo@kvack.org.  For more info on Linux MM,
+see: http://www.linux-mm.org/ .
+Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
+Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
diff --git a/a/content_digest b/N1/content_digest
index b21cce9..91a57da 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -3,27 +3,26 @@
  "ref\0CALWz4izwNBN_qcSsqg-qYw-Esc9vBL3=4cv3Wsg1jf6001_fWQ@mail.gmail.com\0"
  "ref\020120112085904.GG24386@cmpxchg.org\0"
  "ref\0CALWz4iz3sQX+pCr19rE3_SwV+pRFhDJ7Lq-uJuYBq6u3mRU3AQ@mail.gmail.com\0"
- "ref\0CALWz4iz3sQX+pCr19rE3_SwV+pRFhDJ7Lq-uJuYBq6u3mRU3AQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org\0"
- "From\0Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>\0"
+ "From\0Johannes Weiner <hannes@cmpxchg.org>\0"
  "Subject\0Re: [patch 2/2] mm: memcg: hierarchical soft limit reclaim\0"
  "Date\0Fri, 13 Jan 2012 23:44:24 +0100\0"
- "To\0Ying Han <yinghan-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>\0"
- "Cc\0Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>"
-  Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>
-  KAMEZAWA Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
-  Balbir Singh <bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
-  cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
-  linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org
- " linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org\0"
+ "To\0Ying Han <yinghan@google.com>\0"
+ "Cc\0Andrew Morton <akpm@linux-foundation.org>"
+  Michal Hocko <mhocko@suse.cz>
+  KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
+  Balbir Singh <bsingharora@gmail.com>
+  cgroups@vger.kernel.org
+  linux-mm@kvack.org
+ " linux-kernel@vger.kernel.org\0"
  "\00:1\0"
  "b\0"
  "On Fri, Jan 13, 2012 at 01:31:16PM -0800, Ying Han wrote:\n"
- "> On Thu, Jan 12, 2012 at 12:59 AM, Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org> wrote:\n"
+ "> On Thu, Jan 12, 2012 at 12:59 AM, Johannes Weiner <hannes@cmpxchg.org> wrote:\n"
  "> > On Wed, Jan 11, 2012 at 01:42:31PM -0800, Ying Han wrote:\n"
  "> >> On Tue, Jan 10, 2012 at 7:02 AM, Johannes Weiner <hannes@cmpxchg.org> wrote:\n"
  "> >> > @@ -1318,6 +1123,36 @@ static unsigned long mem_cgroup_margin(struct mem_cgroup *memcg)\n"
- "> >> > \302\240 \302\240 \302\240 \302\240return margin >> PAGE_SHIFT;\n"
- "> >> > \302\240}\n"
+ "> >> >        return margin >> PAGE_SHIFT;\n"
+ "> >> >  }\n"
  "> >> >\n"
  "> >> > +/**\n"
  "> >> > + * mem_cgroup_over_softlimit\n"
@@ -35,23 +34,23 @@
  "> >> > + * @root.\n"
  "> >> > + */\n"
  "> >> > +bool mem_cgroup_over_softlimit(struct mem_cgroup *root,\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240struct mem_cgroup *memcg)\n"
+ "> >> > +                              struct mem_cgroup *memcg)\n"
  "> >> > +{\n"
- "> >> > + \302\240 \302\240 \302\240 if (mem_cgroup_disabled())\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 return false;\n"
+ "> >> > +       if (mem_cgroup_disabled())\n"
+ "> >> > +               return false;\n"
  "> >> > +\n"
- "> >> > + \302\240 \302\240 \302\240 if (!root)\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 root = root_mem_cgroup;\n"
+ "> >> > +       if (!root)\n"
+ "> >> > +               root = root_mem_cgroup;\n"
  "> >> > +\n"
- "> >> > + \302\240 \302\240 \302\240 for (; memcg; memcg = parent_mem_cgroup(memcg)) {\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 /* root_mem_cgroup does not have a soft limit */\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 if (memcg == root_mem_cgroup)\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 break;\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 if (res_counter_soft_limit_excess(&memcg->res))\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 return true;\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 if (memcg == root)\n"
- "> >> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 break;\n"
- "> >> > + \302\240 \302\240 \302\240 }\n"
+ "> >> > +       for (; memcg; memcg = parent_mem_cgroup(memcg)) {\n"
+ "> >> > +               /* root_mem_cgroup does not have a soft limit */\n"
+ "> >> > +               if (memcg == root_mem_cgroup)\n"
+ "> >> > +                       break;\n"
+ "> >> > +               if (res_counter_soft_limit_excess(&memcg->res))\n"
+ "> >> > +                       return true;\n"
+ "> >> > +               if (memcg == root)\n"
+ "> >> > +                       break;\n"
+ "> >> > +       }\n"
  "> >>\n"
  "> >> Here it adds pressure on a cgroup if one of its parents exceeds soft\n"
  "> >> limit, although the cgroup itself is under soft limit. It does change\n"
@@ -63,10 +62,10 @@
  "> >> Machine capacity 32G and we over-commit by 8G.\n"
  "> >>\n"
  "> >> root\n"
- "> >> \302\240 -> A (hard limit 20G, soft limit 15G, usage 16G)\n"
- "> >> \302\240 \302\240 \302\240 \302\240-> A1 (soft limit 5G, usage 4G)\n"
- "> >> \302\240 \302\240 \302\240 \302\240-> A2 (soft limit 10G, usage 12G)\n"
- "> >> \302\240 -> B (hard limit 20G, soft limit 10G, usage 16G)\n"
+ "> >>   -> A (hard limit 20G, soft limit 15G, usage 16G)\n"
+ "> >>        -> A1 (soft limit 5G, usage 4G)\n"
+ "> >>        -> A2 (soft limit 10G, usage 12G)\n"
+ "> >>   -> B (hard limit 20G, soft limit 10G, usage 16G)\n"
  "> >>\n"
  "> >> under global reclaim, we don't want to add pressure on A1 although its\n"
  "> >> parent A exceeds its soft limit. Assume that if we set the soft limit\n"
@@ -87,8 +86,8 @@
  "> \n"
  "> root\n"
  "> -> A (hard limit 20G, soft limit 12G, usage 20G)\n"
- "> \302\240 \302\240 \302\240 \302\240-> A1 (soft limit 2G, usage 1G)\n"
- "> \302\240 \302\240 \302\240 \302\240-> A2 (soft limit 10G, usage 19G)\n"
+ ">        -> A1 (soft limit 2G, usage 1G)\n"
+ ">        -> A2 (soft limit 10G, usage 19G)\n"
  "> -> B (hard limit 20G, soft limit 10G, usage 0G)\n"
  "> \n"
  "> Now, A is under memory pressure since the total usage is hitting its\n"
@@ -144,6 +143,13 @@
  "\t\t\treturn true;\n"
  "\t}\n"
  "\treturn false;\n"
- }
+ "}\n"
+ "\n"
+ "--\n"
+ "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n"
+ "the body to majordomo@kvack.org.  For more info on Linux MM,\n"
+ "see: http://www.linux-mm.org/ .\n"
+ "Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/\n"
+ "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>"
 
-228a887e300bcc8ece3962000d00309d359cf1087bbb1af0d634811a6cd6a728
+67311e91c5fd76214dd9c464d56e729f83d0564cde05a2b374767858a75ce39c

diff --git a/a/1.txt b/N2/1.txt
index f6cab6c..b215ff6 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,5 +1,5 @@
 On Fri, Jan 13, 2012 at 01:31:16PM -0800, Ying Han wrote:
-> On Thu, Jan 12, 2012 at 12:59 AM, Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org> wrote:
+> On Thu, Jan 12, 2012 at 12:59 AM, Johannes Weiner <hannes@cmpxchg.org> wrote:
 > > On Wed, Jan 11, 2012 at 01:42:31PM -0800, Ying Han wrote:
 > >> On Tue, Jan 10, 2012 at 7:02 AM, Johannes Weiner <hannes@cmpxchg.org> wrote:
 > >> > @@ -1318,6 +1123,36 @@ static unsigned long mem_cgroup_margin(struct mem_cgroup *memcg)
diff --git a/a/content_digest b/N2/content_digest
index b21cce9..f63f1d8 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -3,22 +3,21 @@
  "ref\0CALWz4izwNBN_qcSsqg-qYw-Esc9vBL3=4cv3Wsg1jf6001_fWQ@mail.gmail.com\0"
  "ref\020120112085904.GG24386@cmpxchg.org\0"
  "ref\0CALWz4iz3sQX+pCr19rE3_SwV+pRFhDJ7Lq-uJuYBq6u3mRU3AQ@mail.gmail.com\0"
- "ref\0CALWz4iz3sQX+pCr19rE3_SwV+pRFhDJ7Lq-uJuYBq6u3mRU3AQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org\0"
- "From\0Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>\0"
+ "From\0Johannes Weiner <hannes@cmpxchg.org>\0"
  "Subject\0Re: [patch 2/2] mm: memcg: hierarchical soft limit reclaim\0"
  "Date\0Fri, 13 Jan 2012 23:44:24 +0100\0"
- "To\0Ying Han <yinghan-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>\0"
- "Cc\0Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>"
-  Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>
-  KAMEZAWA Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
-  Balbir Singh <bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
-  cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
-  linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org
- " linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org\0"
+ "To\0Ying Han <yinghan@google.com>\0"
+ "Cc\0Andrew Morton <akpm@linux-foundation.org>"
+  Michal Hocko <mhocko@suse.cz>
+  KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
+  Balbir Singh <bsingharora@gmail.com>
+  cgroups@vger.kernel.org
+  linux-mm@kvack.org
+ " linux-kernel@vger.kernel.org\0"
  "\00:1\0"
  "b\0"
  "On Fri, Jan 13, 2012 at 01:31:16PM -0800, Ying Han wrote:\n"
- "> On Thu, Jan 12, 2012 at 12:59 AM, Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org> wrote:\n"
+ "> On Thu, Jan 12, 2012 at 12:59 AM, Johannes Weiner <hannes@cmpxchg.org> wrote:\n"
  "> > On Wed, Jan 11, 2012 at 01:42:31PM -0800, Ying Han wrote:\n"
  "> >> On Tue, Jan 10, 2012 at 7:02 AM, Johannes Weiner <hannes@cmpxchg.org> wrote:\n"
  "> >> > @@ -1318,6 +1123,36 @@ static unsigned long mem_cgroup_margin(struct mem_cgroup *memcg)\n"
@@ -146,4 +145,4 @@
  "\treturn false;\n"
  }
 
-228a887e300bcc8ece3962000d00309d359cf1087bbb1af0d634811a6cd6a728
+fc16620233d0286433fac7bfa2dd4eb66f2c7b3a3e4143ba2dc37f4138cedcac

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.