diff for duplicates of <20170123225449.GA29940@htj.duckdns.org>
diff --git a/a/1.txt b/N1/1.txt
index 35982f2..e69de29 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,111 +0,0 @@
->From 3b0cdd93b2d9bdea62ea6681e612bdae7a40d883 Mon Sep 17 00:00:00 2001
-From: Tejun Heo <tj@kernel.org>
-Date: Mon, 23 Jan 2017 17:53:18 -0500
-
-Separate out slub sysfs removal and release, and call the former
-earlier from __kmem_cache_shutdown(). There's no reason to defer
-sysfs removal through RCU and this will later allow us to remove sysfs
-files way earlier during memory cgroup offline instead of release.
-
-v2: Add slab_state >= FULL test to sysfs_slab_release() so that
- kobject_put() is skipped for caches which aren't fully initialized
- as before. This most likely leaks the kmem_cache on init failure
- as we're skipping the only release path. Let's fix that up later.
-
-Signed-off-by: Tejun Heo <tj@kernel.org>
-Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
-Cc: Christoph Lameter <cl@linux.com>
-Cc: Pekka Enberg <penberg@kernel.org>
-Cc: David Rientjes <rientjes@google.com>
-Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
-Cc: Andrew Morton <akpm@linux-foundation.org>
----
-v2 of the patch. Fixes boot failure reported by the test bot.
-
-Thanks.
-
- include/linux/slub_def.h | 4 ++--
- mm/slab_common.c | 2 +-
- mm/slub.c | 12 ++++++++++--
- 3 files changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h
-index 75f56c2..07ef550 100644
---- a/include/linux/slub_def.h
-+++ b/include/linux/slub_def.h
-@@ -113,9 +113,9 @@ struct kmem_cache {
-
- #ifdef CONFIG_SYSFS
- #define SLAB_SUPPORTS_SYSFS
--void sysfs_slab_remove(struct kmem_cache *);
-+void sysfs_slab_release(struct kmem_cache *);
- #else
--static inline void sysfs_slab_remove(struct kmem_cache *s)
-+static inline void sysfs_slab_release(struct kmem_cache *s)
- {
- }
- #endif
-diff --git a/mm/slab_common.c b/mm/slab_common.c
-index 46ff746..3bc4bb8 100644
---- a/mm/slab_common.c
-+++ b/mm/slab_common.c
-@@ -480,7 +480,7 @@ static void release_caches(struct list_head *release, bool need_rcu_barrier)
-
- list_for_each_entry_safe(s, s2, release, list) {
- #ifdef SLAB_SUPPORTS_SYSFS
-- sysfs_slab_remove(s);
-+ sysfs_slab_release(s);
- #else
- slab_kmem_cache_release(s);
- #endif
-diff --git a/mm/slub.c b/mm/slub.c
-index 68b84f9..59ca718 100644
---- a/mm/slub.c
-+++ b/mm/slub.c
-@@ -214,11 +214,13 @@ enum track_item { TRACK_ALLOC, TRACK_FREE };
- static int sysfs_slab_add(struct kmem_cache *);
- static int sysfs_slab_alias(struct kmem_cache *, const char *);
- static void memcg_propagate_slab_attrs(struct kmem_cache *s);
-+static void sysfs_slab_remove(struct kmem_cache *s);
- #else
- static inline int sysfs_slab_add(struct kmem_cache *s) { return 0; }
- static inline int sysfs_slab_alias(struct kmem_cache *s, const char *p)
- { return 0; }
- static inline void memcg_propagate_slab_attrs(struct kmem_cache *s) { }
-+static inline void sysfs_slab_remove(struct kmem_cache *s) { }
- #endif
-
- static inline void stat(const struct kmem_cache *s, enum stat_item si)
-@@ -3679,6 +3681,7 @@ int __kmem_cache_shutdown(struct kmem_cache *s)
- if (n->nr_partial || slabs_node(s, node))
- return 1;
- }
-+ sysfs_slab_remove(s);
- return 0;
- }
-
-@@ -5629,7 +5632,7 @@ static int sysfs_slab_add(struct kmem_cache *s)
- goto out;
- }
-
--void sysfs_slab_remove(struct kmem_cache *s)
-+static void sysfs_slab_remove(struct kmem_cache *s)
- {
- if (slab_state < FULL)
- /*
-@@ -5643,7 +5646,12 @@ void sysfs_slab_remove(struct kmem_cache *s)
- #endif
- kobject_uevent(&s->kobj, KOBJ_REMOVE);
- kobject_del(&s->kobj);
-- kobject_put(&s->kobj);
-+}
-+
-+void sysfs_slab_release(struct kmem_cache *s)
-+{
-+ if (slab_state >= FULL)
-+ kobject_put(&s->kobj);
- }
-
- /*
---
-2.9.3
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index 0568485..bb80515 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -35,118 +35,6 @@
[
"b\0"
]
-[
- ">From 3b0cdd93b2d9bdea62ea6681e612bdae7a40d883 Mon Sep 17 00:00:00 2001\n",
- "From: Tejun Heo <tj\@kernel.org>\n",
- "Date: Mon, 23 Jan 2017 17:53:18 -0500\n",
- "\n",
- "Separate out slub sysfs removal and release, and call the former\n",
- "earlier from __kmem_cache_shutdown(). There's no reason to defer\n",
- "sysfs removal through RCU and this will later allow us to remove sysfs\n",
- "files way earlier during memory cgroup offline instead of release.\n",
- "\n",
- "v2: Add slab_state >= FULL test to sysfs_slab_release() so that\n",
- " kobject_put() is skipped for caches which aren't fully initialized\n",
- " as before. This most likely leaks the kmem_cache on init failure\n",
- " as we're skipping the only release path. Let's fix that up later.\n",
- "\n",
- "Signed-off-by: Tejun Heo <tj\@kernel.org>\n",
- "Cc: Vladimir Davydov <vdavydov.dev\@gmail.com>\n",
- "Cc: Christoph Lameter <cl\@linux.com>\n",
- "Cc: Pekka Enberg <penberg\@kernel.org>\n",
- "Cc: David Rientjes <rientjes\@google.com>\n",
- "Cc: Joonsoo Kim <iamjoonsoo.kim\@lge.com>\n",
- "Cc: Andrew Morton <akpm\@linux-foundation.org>\n",
- "---\n",
- "v2 of the patch. Fixes boot failure reported by the test bot.\n",
- "\n",
- "Thanks.\n",
- "\n",
- " include/linux/slub_def.h | 4 ++--\n",
- " mm/slab_common.c | 2 +-\n",
- " mm/slub.c | 12 ++++++++++--\n",
- " 3 files changed, 13 insertions(+), 5 deletions(-)\n",
- "\n",
- "diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h\n",
- "index 75f56c2..07ef550 100644\n",
- "--- a/include/linux/slub_def.h\n",
- "+++ b/include/linux/slub_def.h\n",
- "\@\@ -113,9 +113,9 \@\@ struct kmem_cache {\n",
- " \n",
- " #ifdef CONFIG_SYSFS\n",
- " #define SLAB_SUPPORTS_SYSFS\n",
- "-void sysfs_slab_remove(struct kmem_cache *);\n",
- "+void sysfs_slab_release(struct kmem_cache *);\n",
- " #else\n",
- "-static inline void sysfs_slab_remove(struct kmem_cache *s)\n",
- "+static inline void sysfs_slab_release(struct kmem_cache *s)\n",
- " {\n",
- " }\n",
- " #endif\n",
- "diff --git a/mm/slab_common.c b/mm/slab_common.c\n",
- "index 46ff746..3bc4bb8 100644\n",
- "--- a/mm/slab_common.c\n",
- "+++ b/mm/slab_common.c\n",
- "\@\@ -480,7 +480,7 \@\@ static void release_caches(struct list_head *release, bool need_rcu_barrier)\n",
- " \n",
- " \tlist_for_each_entry_safe(s, s2, release, list) {\n",
- " #ifdef SLAB_SUPPORTS_SYSFS\n",
- "-\t\tsysfs_slab_remove(s);\n",
- "+\t\tsysfs_slab_release(s);\n",
- " #else\n",
- " \t\tslab_kmem_cache_release(s);\n",
- " #endif\n",
- "diff --git a/mm/slub.c b/mm/slub.c\n",
- "index 68b84f9..59ca718 100644\n",
- "--- a/mm/slub.c\n",
- "+++ b/mm/slub.c\n",
- "\@\@ -214,11 +214,13 \@\@ enum track_item { TRACK_ALLOC, TRACK_FREE };\n",
- " static int sysfs_slab_add(struct kmem_cache *);\n",
- " static int sysfs_slab_alias(struct kmem_cache *, const char *);\n",
- " static void memcg_propagate_slab_attrs(struct kmem_cache *s);\n",
- "+static void sysfs_slab_remove(struct kmem_cache *s);\n",
- " #else\n",
- " static inline int sysfs_slab_add(struct kmem_cache *s) { return 0; }\n",
- " static inline int sysfs_slab_alias(struct kmem_cache *s, const char *p)\n",
- " \t\t\t\t\t\t\t{ return 0; }\n",
- " static inline void memcg_propagate_slab_attrs(struct kmem_cache *s) { }\n",
- "+static inline void sysfs_slab_remove(struct kmem_cache *s) { }\n",
- " #endif\n",
- " \n",
- " static inline void stat(const struct kmem_cache *s, enum stat_item si)\n",
- "\@\@ -3679,6 +3681,7 \@\@ int __kmem_cache_shutdown(struct kmem_cache *s)\n",
- " \t\tif (n->nr_partial || slabs_node(s, node))\n",
- " \t\t\treturn 1;\n",
- " \t}\n",
- "+\tsysfs_slab_remove(s);\n",
- " \treturn 0;\n",
- " }\n",
- " \n",
- "\@\@ -5629,7 +5632,7 \@\@ static int sysfs_slab_add(struct kmem_cache *s)\n",
- " \tgoto out;\n",
- " }\n",
- " \n",
- "-void sysfs_slab_remove(struct kmem_cache *s)\n",
- "+static void sysfs_slab_remove(struct kmem_cache *s)\n",
- " {\n",
- " \tif (slab_state < FULL)\n",
- " \t\t/*\n",
- "\@\@ -5643,7 +5646,12 \@\@ void sysfs_slab_remove(struct kmem_cache *s)\n",
- " #endif\n",
- " \tkobject_uevent(&s->kobj, KOBJ_REMOVE);\n",
- " \tkobject_del(&s->kobj);\n",
- "-\tkobject_put(&s->kobj);\n",
- "+}\n",
- "+\n",
- "+void sysfs_slab_release(struct kmem_cache *s)\n",
- "+{\n",
- "+\tif (slab_state >= FULL)\n",
- "+\t\tkobject_put(&s->kobj);\n",
- " }\n",
- " \n",
- " /*\n",
- "-- \n",
- "2.9.3"
-]
+[]
-12c7b39eb60f5936dbd17e11cec78e3db1739c4043e74b412512b3afb957b7b4
+0eabd9bd083ba0679ff0b9bc2fc0f2dadda758c85d799f9a0c6b974b2bf1ee43
diff --git a/a/1.txt b/N2/1.txt
index 35982f2..9d4ef03 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,5 +1,5 @@
->From 3b0cdd93b2d9bdea62ea6681e612bdae7a40d883 Mon Sep 17 00:00:00 2001
-From: Tejun Heo <tj@kernel.org>
+From 3b0cdd93b2d9bdea62ea6681e612bdae7a40d883 Mon Sep 17 00:00:00 2001
+From: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Date: Mon, 23 Jan 2017 17:53:18 -0500
Separate out slub sysfs removal and release, and call the former
@@ -12,13 +12,13 @@ v2: Add slab_state >= FULL test to sysfs_slab_release() so that
as before. This most likely leaks the kmem_cache on init failure
as we're skipping the only release path. Let's fix that up later.
-Signed-off-by: Tejun Heo <tj@kernel.org>
-Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
-Cc: Christoph Lameter <cl@linux.com>
-Cc: Pekka Enberg <penberg@kernel.org>
-Cc: David Rientjes <rientjes@google.com>
-Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
-Cc: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
+Cc: Vladimir Davydov <vdavydov.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
+Cc: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
+Cc: Pekka Enberg <penberg-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
+Cc: David Rientjes <rientjes-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
+Cc: Joonsoo Kim <iamjoonsoo.kim-Hm3cg6mZ9cc@public.gmane.org>
+Cc: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
---
v2 of the patch. Fixes boot failure reported by the test bot.
diff --git a/a/content_digest b/N2/content_digest
index 0568485..3d3b1f7 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -5,7 +5,10 @@
"ref\00020170117235411.9408-3-tj\@kernel.org\0"
]
[
- "From\0Tejun Heo <tj\@kernel.org>\0"
+ "ref\00020170117235411.9408-3-tj-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org\0"
+]
+[
+ "From\0Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>\0"
]
[
"Subject\0[PATCH v2 02/10] slub: separate out sysfs_slab_release() from sysfs_slab_remove()\0"
@@ -14,20 +17,20 @@
"Date\0Mon, 23 Jan 2017 17:54:49 -0500\0"
]
[
- "To\0vdavydov.dev\@gmail.com",
- " cl\@linux.com",
- " penberg\@kernel.org",
- " rientjes\@google.com",
- " iamjoonsoo.kim\@lge.com",
- " akpm\@linux-foundation.org\0"
+ "To\0vdavydov.dev-Re5JQEeQqe8AvxtiuMwx3w\@public.gmane.org",
+ " cl-vYTEC60ixJUAvxtiuMwx3w\@public.gmane.org",
+ " penberg-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org",
+ " rientjes-hpIqsD4AKlfQT0dZR+AlfA\@public.gmane.org",
+ " iamjoonsoo.kim-Hm3cg6mZ9cc\@public.gmane.org",
+ " akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b\@public.gmane.org\0"
]
[
- "Cc\0jsvana\@fb.com",
- " hannes\@cmpxchg.org",
- " linux-kernel\@vger.kernel.org",
- " linux-mm\@kvack.org",
- " cgroups\@vger.kernel.org",
- " kernel-team\@fb.com\0"
+ "Cc\0jsvana-b10kYP2dOMg\@public.gmane.org",
+ " hannes-druUgvl0LCNAfugRpC6u6w\@public.gmane.org",
+ " linux-kernel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+ " linux-mm-Bw31MaZKKs3YtjvyW6yDsg\@public.gmane.org",
+ " cgroups-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+ " kernel-team-b10kYP2dOMg\@public.gmane.org\0"
]
[
"\0000:1\0"
@@ -36,8 +39,8 @@
"b\0"
]
[
- ">From 3b0cdd93b2d9bdea62ea6681e612bdae7a40d883 Mon Sep 17 00:00:00 2001\n",
- "From: Tejun Heo <tj\@kernel.org>\n",
+ "From 3b0cdd93b2d9bdea62ea6681e612bdae7a40d883 Mon Sep 17 00:00:00 2001\n",
+ "From: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>\n",
"Date: Mon, 23 Jan 2017 17:53:18 -0500\n",
"\n",
"Separate out slub sysfs removal and release, and call the former\n",
@@ -50,13 +53,13 @@
" as before. This most likely leaks the kmem_cache on init failure\n",
" as we're skipping the only release path. Let's fix that up later.\n",
"\n",
- "Signed-off-by: Tejun Heo <tj\@kernel.org>\n",
- "Cc: Vladimir Davydov <vdavydov.dev\@gmail.com>\n",
- "Cc: Christoph Lameter <cl\@linux.com>\n",
- "Cc: Pekka Enberg <penberg\@kernel.org>\n",
- "Cc: David Rientjes <rientjes\@google.com>\n",
- "Cc: Joonsoo Kim <iamjoonsoo.kim\@lge.com>\n",
- "Cc: Andrew Morton <akpm\@linux-foundation.org>\n",
+ "Signed-off-by: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>\n",
+ "Cc: Vladimir Davydov <vdavydov.dev-Re5JQEeQqe8AvxtiuMwx3w\@public.gmane.org>\n",
+ "Cc: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w\@public.gmane.org>\n",
+ "Cc: Pekka Enberg <penberg-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>\n",
+ "Cc: David Rientjes <rientjes-hpIqsD4AKlfQT0dZR+AlfA\@public.gmane.org>\n",
+ "Cc: Joonsoo Kim <iamjoonsoo.kim-Hm3cg6mZ9cc\@public.gmane.org>\n",
+ "Cc: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b\@public.gmane.org>\n",
"---\n",
"v2 of the patch. Fixes boot failure reported by the test bot.\n",
"\n",
@@ -149,4 +152,4 @@
"2.9.3"
]
-12c7b39eb60f5936dbd17e11cec78e3db1739c4043e74b412512b3afb957b7b4
+0dd62f5a1dc2e2e1b613711d58e59229743fb530bb3cfebf34597ca651596da8
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.