diff for duplicates of <4CB55CDD.9010908@kernel.org> diff --git a/a/2.txt b/N1/2.txt index 1834596..8b13789 100644 --- a/a/2.txt +++ b/N1/2.txt @@ -1,141 +1 @@ ->From 5e3e319b1c7a92fc58e6b7da0d20df823f93a9c8 Mon Sep 17 00:00:00 2001 -From: Pekka Enberg <penberg@kernel.org> -Date: Wed, 13 Oct 2010 10:10:44 +0300 -Subject: [PATCH] slub: Fix drain_alien_cache() redeclaration -This patch fixes drain_alien_caches() redeclaration that causes a compliation -warning on PPC: - - CC mm/slub.o -mm/slub.c:1477: warning: 'drain_alien_caches' declared inline after being called -mm/slub.c:1477: warning: previous declaration of 'drain_alien_caches' was here - -Reported-by: Mel Gorman <mel@csn.ul.ie> -Signed-off-by: Pekka Enberg <penberg@kernel.org> ---- - mm/slub.c | 102 +++++++++++++++++++++++++++++------------------------------- - 1 files changed, 49 insertions(+), 53 deletions(-) - -diff --git a/mm/slub.c b/mm/slub.c -index 9d9bb07..a23bf2b 100644 ---- a/mm/slub.c -+++ b/mm/slub.c -@@ -1472,9 +1472,56 @@ static inline int drain_shared_cache(struct kmem_cache *s, - } - return n; - } -+/* -+ * Alien caches which are also shared caches -+ */ -+ -+#ifdef CONFIG_NUMA -+ -+static inline struct kmem_cache_queue *__alien_cache(struct kmem_cache *s, -+ struct kmem_cache_queue *q, int node) -+{ -+ void *p = q; -+ -+ p -= (node << s->alien_shift); -+ -+ return (struct kmem_cache_queue *)p; -+} -+ -+/* Given an allocation context determine the alien queue to use */ -+static inline struct kmem_cache_queue *alien_cache(struct kmem_cache *s, -+ struct kmem_cache_cpu *c, int node) -+{ -+ /* If the cache does not have any alien caches return NULL */ -+ if (!c->q.shared || node == c->node) -+ return NULL; -+ -+ /* -+ * Map [0..(c->node - 1)] -> [1..c->node]. -+ * -+ * This effectively removes the current node (which is serviced by -+ * the shared cache) from the list and avoids hitting 0 (which would -+ * result in accessing the shared queue used for the cpu cache). -+ */ -+ if (node < c->node) -+ node++; - --static void drain_alien_caches(struct kmem_cache *s, -- struct kmem_cache_cpu *c); -+ return __alien_cache(s, c->q.shared, node); -+} -+ -+static inline void drain_alien_caches(struct kmem_cache *s, -+ struct kmem_cache_cpu *c) -+{ -+ int node; -+ -+ for_each_node_state(node, N_NORMAL_MEMORY) -+ drain_shared_cache(s, alien_cache(s, c, node)); -+} -+ -+#else -+static inline void drain_alien_caches(struct kmem_cache *s, -+ struct kmem_cache_cpu *c) {} -+#endif - - /* - * Drain all objects from a per cpu queue -@@ -1613,57 +1660,6 @@ struct kmem_cache_queue **shared_caches(struct kmem_cache *s, int node) - return caches; - } - --/* -- * Alien caches which are also shared caches -- */ -- --#ifdef CONFIG_NUMA -- --static inline struct kmem_cache_queue *__alien_cache(struct kmem_cache *s, -- struct kmem_cache_queue *q, int node) --{ -- void *p = q; -- -- p -= (node << s->alien_shift); -- -- return (struct kmem_cache_queue *)p; --} -- --/* Given an allocation context determine the alien queue to use */ --static inline struct kmem_cache_queue *alien_cache(struct kmem_cache *s, -- struct kmem_cache_cpu *c, int node) --{ -- /* If the cache does not have any alien caches return NULL */ -- if (!c->q.shared || node == c->node) -- return NULL; -- -- /* -- * Map [0..(c->node - 1)] -> [1..c->node]. -- * -- * This effectively removes the current node (which is serviced by -- * the shared cache) from the list and avoids hitting 0 (which would -- * result in accessing the shared queue used for the cpu cache). -- */ -- if (node < c->node) -- node++; -- -- return __alien_cache(s, c->q.shared, node); --} -- --static inline void drain_alien_caches(struct kmem_cache *s, -- struct kmem_cache_cpu *c) --{ -- int node; -- -- for_each_node_state(node, N_NORMAL_MEMORY) -- drain_shared_cache(s, alien_cache(s, c, node)); --} -- --#else --static inline void drain_alien_caches(struct kmem_cache *s, -- struct kmem_cache_cpu *c) {} --#endif -- - static struct kmem_cache *get_slab(size_t size, gfp_t flags); - - /* Map of cpus that have no siblings or where we have broken topolocy info */ --- -1.7.1 diff --git a/a/content_digest b/N1/content_digest index 380f2a2..c3ccf2d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -48,146 +48,5 @@ "\01:2\0" "fn\00001-slub-Fix-drain_alien_cache-redeclaration.patch\0" "b\0" - ">From 5e3e319b1c7a92fc58e6b7da0d20df823f93a9c8 Mon Sep 17 00:00:00 2001\n" - "From: Pekka Enberg <penberg@kernel.org>\n" - "Date: Wed, 13 Oct 2010 10:10:44 +0300\n" - "Subject: [PATCH] slub: Fix drain_alien_cache() redeclaration\n" - "\n" - "This patch fixes drain_alien_caches() redeclaration that causes a compliation\n" - "warning on PPC:\n" - "\n" - " CC mm/slub.o\n" - "mm/slub.c:1477: warning: 'drain_alien_caches' declared inline after being called\n" - "mm/slub.c:1477: warning: previous declaration of 'drain_alien_caches' was here\n" - "\n" - "Reported-by: Mel Gorman <mel@csn.ul.ie>\n" - "Signed-off-by: Pekka Enberg <penberg@kernel.org>\n" - "---\n" - " mm/slub.c | 102 +++++++++++++++++++++++++++++-------------------------------\n" - " 1 files changed, 49 insertions(+), 53 deletions(-)\n" - "\n" - "diff --git a/mm/slub.c b/mm/slub.c\n" - "index 9d9bb07..a23bf2b 100644\n" - "--- a/mm/slub.c\n" - "+++ b/mm/slub.c\n" - "@@ -1472,9 +1472,56 @@ static inline int drain_shared_cache(struct kmem_cache *s,\n" - " \t}\n" - " \treturn n;\n" - " }\n" - "+/*\n" - "+ * Alien caches which are also shared caches\n" - "+ */\n" - "+\n" - "+#ifdef CONFIG_NUMA\n" - "+\n" - "+static inline struct kmem_cache_queue *__alien_cache(struct kmem_cache *s,\n" - "+\t\t\tstruct kmem_cache_queue *q, int node)\n" - "+{\n" - "+\tvoid *p = q;\n" - "+\n" - "+\tp -= (node << s->alien_shift);\n" - "+\n" - "+\treturn (struct kmem_cache_queue *)p;\n" - "+}\n" - "+\n" - "+/* Given an allocation context determine the alien queue to use */\n" - "+static inline struct kmem_cache_queue *alien_cache(struct kmem_cache *s,\n" - "+\t\tstruct kmem_cache_cpu *c, int node)\n" - "+{\n" - "+\t/* If the cache does not have any alien caches return NULL */\n" - "+\tif (!c->q.shared || node == c->node)\n" - "+\t\treturn NULL;\n" - "+\n" - "+\t/*\n" - "+\t * Map [0..(c->node - 1)] -> [1..c->node].\n" - "+\t *\n" - "+\t * This effectively removes the current node (which is serviced by\n" - "+\t * the shared cache) from the list and avoids hitting 0 (which would\n" - "+\t * result in accessing the shared queue used for the cpu cache).\n" - "+\t */\n" - "+\tif (node < c->node)\n" - "+\t\tnode++;\n" - " \n" - "-static void drain_alien_caches(struct kmem_cache *s,\n" - "-\t\t\t\tstruct kmem_cache_cpu *c);\n" - "+\treturn __alien_cache(s, c->q.shared, node);\n" - "+}\n" - "+\n" - "+static inline void drain_alien_caches(struct kmem_cache *s,\n" - "+\t\t\t\t\t struct kmem_cache_cpu *c)\n" - "+{\n" - "+\tint node;\n" - "+\n" - "+\tfor_each_node_state(node, N_NORMAL_MEMORY)\n" - "+\t\tdrain_shared_cache(s, alien_cache(s, c, node));\n" - "+}\n" - "+\n" - "+#else\n" - "+static inline void drain_alien_caches(struct kmem_cache *s,\n" - "+\t\t\t\t struct kmem_cache_cpu *c) {}\n" - "+#endif\n" - " \n" - " /*\n" - " * Drain all objects from a per cpu queue\n" - "@@ -1613,57 +1660,6 @@ struct kmem_cache_queue **shared_caches(struct kmem_cache *s, int node)\n" - " \treturn caches;\n" - " }\n" - " \n" - "-/*\n" - "- * Alien caches which are also shared caches\n" - "- */\n" - "-\n" - "-#ifdef CONFIG_NUMA\n" - "-\n" - "-static inline struct kmem_cache_queue *__alien_cache(struct kmem_cache *s,\n" - "-\t\t\tstruct kmem_cache_queue *q, int node)\n" - "-{\n" - "-\tvoid *p = q;\n" - "-\n" - "-\tp -= (node << s->alien_shift);\n" - "-\n" - "-\treturn (struct kmem_cache_queue *)p;\n" - "-}\n" - "-\n" - "-/* Given an allocation context determine the alien queue to use */\n" - "-static inline struct kmem_cache_queue *alien_cache(struct kmem_cache *s,\n" - "-\t\tstruct kmem_cache_cpu *c, int node)\n" - "-{\n" - "-\t/* If the cache does not have any alien caches return NULL */\n" - "-\tif (!c->q.shared || node == c->node)\n" - "-\t\treturn NULL;\n" - "-\n" - "-\t/*\n" - "-\t * Map [0..(c->node - 1)] -> [1..c->node].\n" - "-\t *\n" - "-\t * This effectively removes the current node (which is serviced by\n" - "-\t * the shared cache) from the list and avoids hitting 0 (which would\n" - "-\t * result in accessing the shared queue used for the cpu cache).\n" - "-\t */\n" - "-\tif (node < c->node)\n" - "-\t\tnode++;\n" - "-\n" - "-\treturn __alien_cache(s, c->q.shared, node);\n" - "-}\n" - "-\n" - "-static inline void drain_alien_caches(struct kmem_cache *s,\n" - "-\t\t\t\t\t struct kmem_cache_cpu *c)\n" - "-{\n" - "-\tint node;\n" - "-\n" - "-\tfor_each_node_state(node, N_NORMAL_MEMORY)\n" - "-\t\tdrain_shared_cache(s, alien_cache(s, c, node));\n" - "-}\n" - "-\n" - "-#else\n" - "-static inline void drain_alien_caches(struct kmem_cache *s,\n" - "-\t\t\t\t struct kmem_cache_cpu *c) {}\n" - "-#endif\n" - "-\n" - " static struct kmem_cache *get_slab(size_t size, gfp_t flags);\n" - " \n" - " /* Map of cpus that have no siblings or where we have broken topolocy info */\n" - "-- \n" - 1.7.1 -23c9b9bb18735bd07a945645b9c38c177ed25daf4ba033ce8d7dc7a96bbcdabb +05802c16d81020a1f480f2a79d8a5dd6623889f450fda730311bf9af00511c3b
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.