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

diff --git a/a/1.txt b/N1/1.txt
index 5224841..54ccb18 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -17,196 +17,3 @@ the file when adding new entries. It depends on whether people start
 relying on items staying at fixed offsets and what we tell them in
 response when that breaks. I hope that we can at least get the main
 memory consumers in before this is released, just in case.
-
-From 1be87db16a3895538ce65362b5234ef9c8af308d Mon Sep 17 00:00:00 2001
-From: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
-Date: Thu, 14 Jan 2016 10:40:24 -0500
-Subject: [PATCH] mm: memcontrol: basic memory statistics in cgroup2 memory
- controller fix
-
-Fixlet addressing akpm's feedback:
-
-- Fix overflowing byte counters on 32-bit. Just like in the existing
-  interface files, bytes must be printed as u64 to work with highmem.
-
-- Add documentation in cgroup.txt that explains the memory.stat file
-  and its format.
-
-- Rethink item ordering to accomodate potential future additions. The
-  ordering now follows both 1) from big picture to detail and 2) from
-  stats that reflect on userspace behavior towards stats that reflect
-  on kernel heuristics. Both are gradients, and item-by-item ordering
-  will still require judgement calls (and some bike shed painting).
-
-Changelog addendum to the original patch:
-
-The output of this file looks as follows:
-
-$ cat memory.stat
-anon 167936
-file 87302144
-file_mapped 0
-file_dirty 0
-file_writeback 0
-inactive_anon 0
-active_anon 155648
-inactive_file 87298048
-active_file 4096
-unevictable 0
-pgfault 636
-pgmajfault 0
-
-The list consists of two sections: statistics reflecting the current
-state of the memory management subsystem, and statistics reflecting
-past events. The items themselves are sorted such that generic big
-picture items come before specific details, and items related to
-userspace activity come before items related to kernel heuristics.
-
-All memory counters are in bytes to eliminate all ambiguity with
-variable page sizes.
-
-There will be more items and statistics added in the future, but this
-is a good initial set to get a minimum of insight into how a cgroup is
-using memory, and the items chosen for now are likely to remain valid
-even with significant changes to the memory management implementation.
-
-Signed-off-by: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
----
- Documentation/cgroup.txt | 56 ++++++++++++++++++++++++++++++++++++++++++++++++
- mm/memcontrol.c          | 45 +++++++++++++++++++++++---------------
- 2 files changed, 84 insertions(+), 17 deletions(-)
-
-diff --git a/Documentation/cgroup.txt b/Documentation/cgroup.txt
-index f441564..65b3eac 100644
---- a/Documentation/cgroup.txt
-+++ b/Documentation/cgroup.txt
-@@ -819,6 +819,62 @@ PAGE_SIZE multiple when read back.
- 		the cgroup.  This may not exactly match the number of
- 		processes killed but should generally be close.
- 
-+  memory.stat
-+
-+	A read-only flat-keyed file which exists on non-root cgroups.
-+
-+	This breaks down the cgroup's memory footprint into different
-+	types of memory, type-specific details, and other information
-+	on the state and past events of the memory management system.
-+
-+	All memory amounts are in bytes.
-+
-+	The entries are ordered to be human readable, and new entries
-+	can show up in the middle. Don't rely on items remaining in a
-+	fixed position; use the keys to look up specific values!
-+
-+	  anon
-+
-+		Amount of memory used in anonymous mappings such as
-+		brk(), sbrk(), and mmap(MAP_ANONYMOUS)
-+
-+	  file
-+
-+		Amount of memory used to cache filesystem data,
-+		including tmpfs and shared memory.
-+
-+	  file_mapped
-+
-+		Amount of cached filesystem data mapped with mmap()
-+
-+	  file_dirty
-+
-+		Amount of cached filesystem data that was modified but
-+		not yet written back to disk
-+
-+	  file_writeback
-+
-+		Amount of cached filesystem data that was modified and
-+		is currently being written back to disk
-+
-+	  inactive_anon
-+	  active_anon
-+	  inactive_file
-+	  active_file
-+	  unevictable
-+
-+		Amount of memory, swap-backed and filesystem-backed,
-+		on the internal memory management lists used by the
-+		page reclaim algorithm
-+
-+	  pgfault
-+
-+		Total number of page faults incurred
-+
-+	  pgmajfault
-+
-+		Number of major page faults incurred
-+
-   memory.swap.current
- 
- 	A read-only single value file which exists on non-root
-diff --git a/mm/memcontrol.c b/mm/memcontrol.c
-index 8645852..cdb51a9 100644
---- a/mm/memcontrol.c
-+++ b/mm/memcontrol.c
-@@ -5112,32 +5112,43 @@ static int memory_stat_show(struct seq_file *m, void *v)
- 	struct mem_cgroup *memcg = mem_cgroup_from_css(seq_css(m));
- 	int i;
- 
--	/* Memory consumer totals */
--
--	seq_printf(m, "anon %lu\n",
--		   tree_stat(memcg, MEM_CGROUP_STAT_RSS) * PAGE_SIZE);
--	seq_printf(m, "file %lu\n",
--		   tree_stat(memcg, MEM_CGROUP_STAT_CACHE) * PAGE_SIZE);
-+	/*
-+	 * Provide statistics on the state of the memory subsystem as
-+	 * well as cumulative event counters that show past behavior.
-+	 *
-+	 * This list is ordered following a combination of these gradients:
-+	 * 1) generic big picture -> specifics and details
-+	 * 2) reflecting userspace activity -> reflecting kernel heuristics
-+	 *
-+	 * Current memory state:
-+	 */
- 
--	/* Per-consumer breakdowns */
-+	seq_printf(m, "anon %llu\n",
-+		   (u64)tree_stat(memcg, MEM_CGROUP_STAT_RSS) * PAGE_SIZE);
-+	seq_printf(m, "file %llu\n",
-+		   (u64)tree_stat(memcg, MEM_CGROUP_STAT_CACHE) * PAGE_SIZE);
-+
-+	seq_printf(m, "file_mapped %llu\n",
-+		   (u64)tree_stat(memcg, MEM_CGROUP_STAT_FILE_MAPPED) *
-+		   PAGE_SIZE);
-+	seq_printf(m, "file_dirty %llu\n",
-+		   (u64)tree_stat(memcg, MEM_CGROUP_STAT_DIRTY) *
-+		   PAGE_SIZE);
-+	seq_printf(m, "file_writeback %llu\n",
-+		   (u64)tree_stat(memcg, MEM_CGROUP_STAT_WRITEBACK) *
-+		   PAGE_SIZE);
- 
- 	for (i = 0; i < NR_LRU_LISTS; i++) {
- 		struct mem_cgroup *mi;
- 		unsigned long val = 0;
- 
- 		for_each_mem_cgroup_tree(mi, memcg)
--			val += mem_cgroup_nr_lru_pages(mi, BIT(i)) * PAGE_SIZE;
--		seq_printf(m, "%s %lu\n", mem_cgroup_lru_names[i], val);
-+			val += mem_cgroup_nr_lru_pages(mi, BIT(i));
-+		seq_printf(m, "%s %llu\n",
-+			   mem_cgroup_lru_names[i], (u64)val * PAGE_SIZE);
- 	}
- 
--	seq_printf(m, "file_mapped %lu\n",
--		   tree_stat(memcg, MEM_CGROUP_STAT_FILE_MAPPED) * PAGE_SIZE);
--	seq_printf(m, "file_dirty %lu\n",
--		   tree_stat(memcg, MEM_CGROUP_STAT_DIRTY) * PAGE_SIZE);
--	seq_printf(m, "file_writeback %lu\n",
--		   tree_stat(memcg, MEM_CGROUP_STAT_WRITEBACK) * PAGE_SIZE);
--
--	/* Memory management events */
-+	/* Accumulated memory events */
- 
- 	seq_printf(m, "pgfault %lu\n",
- 		   tree_events(memcg, MEM_CGROUP_EVENTS_PGFAULT));
--- 
-2.7.0
diff --git a/a/content_digest b/N1/content_digest
index 9d16916..e0929f7 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,16 +1,15 @@
  "ref\01452722469-24704-1-git-send-email-hannes@cmpxchg.org\0"
  "ref\020160113144916.03f03766e201b6b04a8a47cc@linux-foundation.org\0"
- "ref\020160113144916.03f03766e201b6b04a8a47cc-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org\0"
- "From\0Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>\0"
+ "From\0Johannes Weiner <hannes@cmpxchg.org>\0"
  "Subject\0Re: [PATCH 0/2] mm: memcontrol: cgroup2 memory statistics\0"
  "Date\0Thu, 14 Jan 2016 15:24:08 -0500\0"
- "To\0Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>\0"
- "Cc\0Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>"
-  Vladimir Davydov <vdavydov-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org>
-  linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org
-  cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
-  linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
- " kernel-team-b10kYP2dOMg@public.gmane.org\0"
+ "To\0Andrew Morton <akpm@linux-foundation.org>\0"
+ "Cc\0Michal Hocko <mhocko@suse.cz>"
+  Vladimir Davydov <vdavydov@virtuozzo.com>
+  linux-mm@kvack.org
+  cgroups@vger.kernel.org
+  linux-kernel@vger.kernel.org
+ " kernel-team@fb.com\0"
  "\00:1\0"
  "b\0"
  "On Wed, Jan 13, 2016 at 02:49:16PM -0800, Andrew Morton wrote:\n"
@@ -31,199 +30,6 @@
  "the file when adding new entries. It depends on whether people start\n"
  "relying on items staying at fixed offsets and what we tell them in\n"
  "response when that breaks. I hope that we can at least get the main\n"
- "memory consumers in before this is released, just in case.\n"
- "\n"
- "From 1be87db16a3895538ce65362b5234ef9c8af308d Mon Sep 17 00:00:00 2001\n"
- "From: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>\n"
- "Date: Thu, 14 Jan 2016 10:40:24 -0500\n"
- "Subject: [PATCH] mm: memcontrol: basic memory statistics in cgroup2 memory\n"
- " controller fix\n"
- "\n"
- "Fixlet addressing akpm's feedback:\n"
- "\n"
- "- Fix overflowing byte counters on 32-bit. Just like in the existing\n"
- "  interface files, bytes must be printed as u64 to work with highmem.\n"
- "\n"
- "- Add documentation in cgroup.txt that explains the memory.stat file\n"
- "  and its format.\n"
- "\n"
- "- Rethink item ordering to accomodate potential future additions. The\n"
- "  ordering now follows both 1) from big picture to detail and 2) from\n"
- "  stats that reflect on userspace behavior towards stats that reflect\n"
- "  on kernel heuristics. Both are gradients, and item-by-item ordering\n"
- "  will still require judgement calls (and some bike shed painting).\n"
- "\n"
- "Changelog addendum to the original patch:\n"
- "\n"
- "The output of this file looks as follows:\n"
- "\n"
- "$ cat memory.stat\n"
- "anon 167936\n"
- "file 87302144\n"
- "file_mapped 0\n"
- "file_dirty 0\n"
- "file_writeback 0\n"
- "inactive_anon 0\n"
- "active_anon 155648\n"
- "inactive_file 87298048\n"
- "active_file 4096\n"
- "unevictable 0\n"
- "pgfault 636\n"
- "pgmajfault 0\n"
- "\n"
- "The list consists of two sections: statistics reflecting the current\n"
- "state of the memory management subsystem, and statistics reflecting\n"
- "past events. The items themselves are sorted such that generic big\n"
- "picture items come before specific details, and items related to\n"
- "userspace activity come before items related to kernel heuristics.\n"
- "\n"
- "All memory counters are in bytes to eliminate all ambiguity with\n"
- "variable page sizes.\n"
- "\n"
- "There will be more items and statistics added in the future, but this\n"
- "is a good initial set to get a minimum of insight into how a cgroup is\n"
- "using memory, and the items chosen for now are likely to remain valid\n"
- "even with significant changes to the memory management implementation.\n"
- "\n"
- "Signed-off-by: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>\n"
- "---\n"
- " Documentation/cgroup.txt | 56 ++++++++++++++++++++++++++++++++++++++++++++++++\n"
- " mm/memcontrol.c          | 45 +++++++++++++++++++++++---------------\n"
- " 2 files changed, 84 insertions(+), 17 deletions(-)\n"
- "\n"
- "diff --git a/Documentation/cgroup.txt b/Documentation/cgroup.txt\n"
- "index f441564..65b3eac 100644\n"
- "--- a/Documentation/cgroup.txt\n"
- "+++ b/Documentation/cgroup.txt\n"
- "@@ -819,6 +819,62 @@ PAGE_SIZE multiple when read back.\n"
- " \t\tthe cgroup.  This may not exactly match the number of\n"
- " \t\tprocesses killed but should generally be close.\n"
- " \n"
- "+  memory.stat\n"
- "+\n"
- "+\tA read-only flat-keyed file which exists on non-root cgroups.\n"
- "+\n"
- "+\tThis breaks down the cgroup's memory footprint into different\n"
- "+\ttypes of memory, type-specific details, and other information\n"
- "+\ton the state and past events of the memory management system.\n"
- "+\n"
- "+\tAll memory amounts are in bytes.\n"
- "+\n"
- "+\tThe entries are ordered to be human readable, and new entries\n"
- "+\tcan show up in the middle. Don't rely on items remaining in a\n"
- "+\tfixed position; use the keys to look up specific values!\n"
- "+\n"
- "+\t  anon\n"
- "+\n"
- "+\t\tAmount of memory used in anonymous mappings such as\n"
- "+\t\tbrk(), sbrk(), and mmap(MAP_ANONYMOUS)\n"
- "+\n"
- "+\t  file\n"
- "+\n"
- "+\t\tAmount of memory used to cache filesystem data,\n"
- "+\t\tincluding tmpfs and shared memory.\n"
- "+\n"
- "+\t  file_mapped\n"
- "+\n"
- "+\t\tAmount of cached filesystem data mapped with mmap()\n"
- "+\n"
- "+\t  file_dirty\n"
- "+\n"
- "+\t\tAmount of cached filesystem data that was modified but\n"
- "+\t\tnot yet written back to disk\n"
- "+\n"
- "+\t  file_writeback\n"
- "+\n"
- "+\t\tAmount of cached filesystem data that was modified and\n"
- "+\t\tis currently being written back to disk\n"
- "+\n"
- "+\t  inactive_anon\n"
- "+\t  active_anon\n"
- "+\t  inactive_file\n"
- "+\t  active_file\n"
- "+\t  unevictable\n"
- "+\n"
- "+\t\tAmount of memory, swap-backed and filesystem-backed,\n"
- "+\t\ton the internal memory management lists used by the\n"
- "+\t\tpage reclaim algorithm\n"
- "+\n"
- "+\t  pgfault\n"
- "+\n"
- "+\t\tTotal number of page faults incurred\n"
- "+\n"
- "+\t  pgmajfault\n"
- "+\n"
- "+\t\tNumber of major page faults incurred\n"
- "+\n"
- "   memory.swap.current\n"
- " \n"
- " \tA read-only single value file which exists on non-root\n"
- "diff --git a/mm/memcontrol.c b/mm/memcontrol.c\n"
- "index 8645852..cdb51a9 100644\n"
- "--- a/mm/memcontrol.c\n"
- "+++ b/mm/memcontrol.c\n"
- "@@ -5112,32 +5112,43 @@ static int memory_stat_show(struct seq_file *m, void *v)\n"
- " \tstruct mem_cgroup *memcg = mem_cgroup_from_css(seq_css(m));\n"
- " \tint i;\n"
- " \n"
- "-\t/* Memory consumer totals */\n"
- "-\n"
- "-\tseq_printf(m, \"anon %lu\\n\",\n"
- "-\t\t   tree_stat(memcg, MEM_CGROUP_STAT_RSS) * PAGE_SIZE);\n"
- "-\tseq_printf(m, \"file %lu\\n\",\n"
- "-\t\t   tree_stat(memcg, MEM_CGROUP_STAT_CACHE) * PAGE_SIZE);\n"
- "+\t/*\n"
- "+\t * Provide statistics on the state of the memory subsystem as\n"
- "+\t * well as cumulative event counters that show past behavior.\n"
- "+\t *\n"
- "+\t * This list is ordered following a combination of these gradients:\n"
- "+\t * 1) generic big picture -> specifics and details\n"
- "+\t * 2) reflecting userspace activity -> reflecting kernel heuristics\n"
- "+\t *\n"
- "+\t * Current memory state:\n"
- "+\t */\n"
- " \n"
- "-\t/* Per-consumer breakdowns */\n"
- "+\tseq_printf(m, \"anon %llu\\n\",\n"
- "+\t\t   (u64)tree_stat(memcg, MEM_CGROUP_STAT_RSS) * PAGE_SIZE);\n"
- "+\tseq_printf(m, \"file %llu\\n\",\n"
- "+\t\t   (u64)tree_stat(memcg, MEM_CGROUP_STAT_CACHE) * PAGE_SIZE);\n"
- "+\n"
- "+\tseq_printf(m, \"file_mapped %llu\\n\",\n"
- "+\t\t   (u64)tree_stat(memcg, MEM_CGROUP_STAT_FILE_MAPPED) *\n"
- "+\t\t   PAGE_SIZE);\n"
- "+\tseq_printf(m, \"file_dirty %llu\\n\",\n"
- "+\t\t   (u64)tree_stat(memcg, MEM_CGROUP_STAT_DIRTY) *\n"
- "+\t\t   PAGE_SIZE);\n"
- "+\tseq_printf(m, \"file_writeback %llu\\n\",\n"
- "+\t\t   (u64)tree_stat(memcg, MEM_CGROUP_STAT_WRITEBACK) *\n"
- "+\t\t   PAGE_SIZE);\n"
- " \n"
- " \tfor (i = 0; i < NR_LRU_LISTS; i++) {\n"
- " \t\tstruct mem_cgroup *mi;\n"
- " \t\tunsigned long val = 0;\n"
- " \n"
- " \t\tfor_each_mem_cgroup_tree(mi, memcg)\n"
- "-\t\t\tval += mem_cgroup_nr_lru_pages(mi, BIT(i)) * PAGE_SIZE;\n"
- "-\t\tseq_printf(m, \"%s %lu\\n\", mem_cgroup_lru_names[i], val);\n"
- "+\t\t\tval += mem_cgroup_nr_lru_pages(mi, BIT(i));\n"
- "+\t\tseq_printf(m, \"%s %llu\\n\",\n"
- "+\t\t\t   mem_cgroup_lru_names[i], (u64)val * PAGE_SIZE);\n"
- " \t}\n"
- " \n"
- "-\tseq_printf(m, \"file_mapped %lu\\n\",\n"
- "-\t\t   tree_stat(memcg, MEM_CGROUP_STAT_FILE_MAPPED) * PAGE_SIZE);\n"
- "-\tseq_printf(m, \"file_dirty %lu\\n\",\n"
- "-\t\t   tree_stat(memcg, MEM_CGROUP_STAT_DIRTY) * PAGE_SIZE);\n"
- "-\tseq_printf(m, \"file_writeback %lu\\n\",\n"
- "-\t\t   tree_stat(memcg, MEM_CGROUP_STAT_WRITEBACK) * PAGE_SIZE);\n"
- "-\n"
- "-\t/* Memory management events */\n"
- "+\t/* Accumulated memory events */\n"
- " \n"
- " \tseq_printf(m, \"pgfault %lu\\n\",\n"
- " \t\t   tree_events(memcg, MEM_CGROUP_EVENTS_PGFAULT));\n"
- "-- \n"
- 2.7.0
+ memory consumers in before this is released, just in case.
 
-3f7f0e7e0e0b1dd7b1ebb5c60ebd2d6f1285f455ca580899cd92cdc20dd37aee
+82a641ca1d8bd4d1610a29d8f9693bbf5ce055feb25ebdebd053fa66cbb434c4

diff --git a/a/1.txt b/N2/1.txt
index 5224841..4a978ca 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -18,8 +18,8 @@ relying on items staying at fixed offsets and what we tell them in
 response when that breaks. I hope that we can at least get the main
 memory consumers in before this is released, just in case.
 
-From 1be87db16a3895538ce65362b5234ef9c8af308d Mon Sep 17 00:00:00 2001
-From: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
+>From 1be87db16a3895538ce65362b5234ef9c8af308d Mon Sep 17 00:00:00 2001
+From: Johannes Weiner <hannes@cmpxchg.org>
 Date: Thu, 14 Jan 2016 10:40:24 -0500
 Subject: [PATCH] mm: memcontrol: basic memory statistics in cgroup2 memory
  controller fix
@@ -70,7 +70,7 @@ is a good initial set to get a minimum of insight into how a cgroup is
 using memory, and the items chosen for now are likely to remain valid
 even with significant changes to the memory management implementation.
 
-Signed-off-by: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
+Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
 ---
  Documentation/cgroup.txt | 56 ++++++++++++++++++++++++++++++++++++++++++++++++
  mm/memcontrol.c          | 45 +++++++++++++++++++++++---------------
diff --git a/a/content_digest b/N2/content_digest
index 9d16916..43a32a5 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,16 +1,15 @@
  "ref\01452722469-24704-1-git-send-email-hannes@cmpxchg.org\0"
  "ref\020160113144916.03f03766e201b6b04a8a47cc@linux-foundation.org\0"
- "ref\020160113144916.03f03766e201b6b04a8a47cc-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org\0"
- "From\0Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>\0"
+ "From\0Johannes Weiner <hannes@cmpxchg.org>\0"
  "Subject\0Re: [PATCH 0/2] mm: memcontrol: cgroup2 memory statistics\0"
  "Date\0Thu, 14 Jan 2016 15:24:08 -0500\0"
- "To\0Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>\0"
- "Cc\0Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>"
-  Vladimir Davydov <vdavydov-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org>
-  linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org
-  cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
-  linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
- " kernel-team-b10kYP2dOMg@public.gmane.org\0"
+ "To\0Andrew Morton <akpm@linux-foundation.org>\0"
+ "Cc\0Michal Hocko <mhocko@suse.cz>"
+  Vladimir Davydov <vdavydov@virtuozzo.com>
+  linux-mm@kvack.org
+  cgroups@vger.kernel.org
+  linux-kernel@vger.kernel.org
+ " kernel-team@fb.com\0"
  "\00:1\0"
  "b\0"
  "On Wed, Jan 13, 2016 at 02:49:16PM -0800, Andrew Morton wrote:\n"
@@ -33,8 +32,8 @@
  "response when that breaks. I hope that we can at least get the main\n"
  "memory consumers in before this is released, just in case.\n"
  "\n"
- "From 1be87db16a3895538ce65362b5234ef9c8af308d Mon Sep 17 00:00:00 2001\n"
- "From: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>\n"
+ ">From 1be87db16a3895538ce65362b5234ef9c8af308d Mon Sep 17 00:00:00 2001\n"
+ "From: Johannes Weiner <hannes@cmpxchg.org>\n"
  "Date: Thu, 14 Jan 2016 10:40:24 -0500\n"
  "Subject: [PATCH] mm: memcontrol: basic memory statistics in cgroup2 memory\n"
  " controller fix\n"
@@ -85,7 +84,7 @@
  "using memory, and the items chosen for now are likely to remain valid\n"
  "even with significant changes to the memory management implementation.\n"
  "\n"
- "Signed-off-by: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>\n"
+ "Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>\n"
  "---\n"
  " Documentation/cgroup.txt | 56 ++++++++++++++++++++++++++++++++++++++++++++++++\n"
  " mm/memcontrol.c          | 45 +++++++++++++++++++++++---------------\n"
@@ -226,4 +225,4 @@
  "-- \n"
  2.7.0
 
-3f7f0e7e0e0b1dd7b1ebb5c60ebd2d6f1285f455ca580899cd92cdc20dd37aee
+568ffd42dfcbd9bd291c0b6087e39485cc807dddcec13fb8b126cc022cddb943

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.