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.