From: Christoph Lameter <cl@linux.com>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: linux-mm@kvack.org
Subject: [RFC V2 SLEB 01/14] slab: Introduce a constant for a unspecified node.
Date: Fri, 21 May 2010 16:14:53 -0500 [thread overview]
Message-ID: <20100521211537.530913777@quilx.com> (raw)
In-Reply-To: 20100521211452.659982351@quilx.com
[-- Attachment #1: slab_node_unspecified --]
[-- Type: text/plain, Size: 2752 bytes --]
kmalloc_node() and friends can be passed a constant -1 to indicate
that no choice was made for the node from which the object needs to
come.
Add a constant for this.
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
---
include/linux/slab.h | 2 ++
mm/slub.c | 10 +++++-----
2 files changed, 7 insertions(+), 5 deletions(-)
Index: linux-2.6/include/linux/slab.h
===================================================================
--- linux-2.6.orig/include/linux/slab.h 2010-04-27 12:31:57.000000000 -0500
+++ linux-2.6/include/linux/slab.h 2010-04-27 12:32:26.000000000 -0500
@@ -92,6 +92,8 @@
#define ZERO_OR_NULL_PTR(x) ((unsigned long)(x) <= \
(unsigned long)ZERO_SIZE_PTR)
+#define SLAB_NODE_UNSPECIFIED (-1L)
+
/*
* struct kmem_cache related prototypes
*/
Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c 2010-04-27 12:32:30.000000000 -0500
+++ linux-2.6/mm/slub.c 2010-04-27 12:33:37.000000000 -0500
@@ -1081,7 +1081,7 @@ static inline struct page *alloc_slab_pa
flags |= __GFP_NOTRACK;
- if (node == -1)
+ if (node == SLAB_NODE_UNSPECIFIED)
return alloc_pages(flags, order);
else
return alloc_pages_node(node, flags, order);
@@ -1731,7 +1731,7 @@ static __always_inline void *slab_alloc(
void *kmem_cache_alloc(struct kmem_cache *s, gfp_t gfpflags)
{
- void *ret = slab_alloc(s, gfpflags, -1, _RET_IP_);
+ void *ret = slab_alloc(s, gfpflags, SLAB_NODE_UNSPECIFIED, _RET_IP_);
trace_kmem_cache_alloc(_RET_IP_, ret, s->objsize, s->size, gfpflags);
@@ -1742,7 +1742,7 @@ EXPORT_SYMBOL(kmem_cache_alloc);
#ifdef CONFIG_TRACING
void *kmem_cache_alloc_notrace(struct kmem_cache *s, gfp_t gfpflags)
{
- return slab_alloc(s, gfpflags, -1, _RET_IP_);
+ return slab_alloc(s, gfpflags, SLAB_NODE_UNSPECIFIED, _RET_IP_);
}
EXPORT_SYMBOL(kmem_cache_alloc_notrace);
#endif
@@ -2740,7 +2740,7 @@ void *__kmalloc(size_t size, gfp_t flags
if (unlikely(ZERO_OR_NULL_PTR(s)))
return s;
- ret = slab_alloc(s, flags, -1, _RET_IP_);
+ ret = slab_alloc(s, flags, SLAB_NODE_UNSPECIFIED, _RET_IP_);
trace_kmalloc(_RET_IP_, ret, size, s->size, flags);
@@ -3324,7 +3324,7 @@ void *__kmalloc_track_caller(size_t size
if (unlikely(ZERO_OR_NULL_PTR(s)))
return s;
- ret = slab_alloc(s, gfpflags, -1, caller);
+ ret = slab_alloc(s, gfpflags, SLAB_NODE_UNSPECIFIED, caller);
/* Honor the call site pointer we recieved. */
trace_kmalloc(caller, ret, size, s->size, gfpflags);
--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2010-05-21 21:18 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-21 21:14 [RFC V2 SLEB 00/14] The Enhanced(hopefully) Slab Allocator Christoph Lameter
2010-05-21 21:14 ` Christoph Lameter [this message]
2010-06-07 21:44 ` [RFC V2 SLEB 01/14] slab: Introduce a constant for a unspecified node David Rientjes
2010-06-07 22:30 ` Christoph Lameter
2010-06-08 5:41 ` Pekka Enberg
2010-06-08 6:20 ` David Rientjes
2010-06-08 6:34 ` Pekka Enberg
2010-06-08 23:35 ` David Rientjes
2010-06-09 5:55 ` Pekka Enberg
2010-06-09 5:55 ` Pekka Enberg
2010-06-09 6:20 ` David Rientjes
2010-06-09 6:20 ` David Rientjes
2010-05-21 21:14 ` [RFC V2 SLEB 02/14] SLUB: Constants need UL Christoph Lameter
2010-05-21 21:14 ` [RFC V2 SLEB 03/14] SLUB: Use kmem_cache flags to detect if Slab is in debugging mode Christoph Lameter
2010-06-08 3:57 ` David Rientjes
2010-05-21 21:14 ` [RFC V2 SLEB 04/14] SLUB: discard_slab_unlock Christoph Lameter
2010-05-21 21:14 ` [RFC V2 SLEB 05/14] SLUB: is_kmalloc_cache Christoph Lameter
2010-06-08 8:54 ` David Rientjes
2010-05-21 21:14 ` [RFC V2 SLEB 06/14] SLUB: Get rid of the kmalloc_node slab Christoph Lameter
2010-06-09 6:14 ` David Rientjes
2010-06-09 16:14 ` Christoph Lameter
2010-06-09 16:26 ` Pekka Enberg
2010-06-10 6:07 ` Pekka Enberg
2010-05-21 21:14 ` [RFC V2 SLEB 07/14] SLEB: The Enhanced Slab Allocator Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 08/14] SLEB: Resize cpu queue Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 09/14] SLED: Get rid of useless function Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 10/14] SLEB: Remove MAX_OBJS limitation Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 11/14] SLEB: Add per node cache (with a fixed size for now) Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 12/14] SLEB: Make the size of the shared cache configurable Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 13/14] SLEB: Enhanced NUMA support Christoph Lameter
2010-05-21 21:15 ` [RFC V2 SLEB 14/14] SLEB: Allocate off node objects from remote shared caches Christoph Lameter
2010-05-22 8:37 ` [RFC V2 SLEB 00/14] The Enhanced(hopefully) Slab Allocator Pekka Enberg
2010-05-24 7:03 ` Nick Piggin
2010-05-24 15:06 ` Christoph Lameter
2010-05-25 2:06 ` Nick Piggin
2010-05-25 6:55 ` Pekka Enberg
2010-05-25 7:07 ` Nick Piggin
2010-05-25 8:03 ` Pekka Enberg
2010-05-25 8:03 ` Pekka Enberg
2010-05-25 8:16 ` Nick Piggin
2010-05-25 8:16 ` Nick Piggin
2010-05-25 9:19 ` Pekka Enberg
2010-05-25 9:19 ` Pekka Enberg
2010-05-25 9:34 ` Nick Piggin
2010-05-25 9:34 ` Nick Piggin
2010-05-25 9:53 ` Pekka Enberg
2010-05-25 9:53 ` Pekka Enberg
2010-05-25 10:19 ` Nick Piggin
2010-05-25 10:19 ` Nick Piggin
2010-05-25 10:45 ` Pekka Enberg
2010-05-25 10:45 ` Pekka Enberg
2010-05-25 11:06 ` Nick Piggin
2010-05-25 11:06 ` Nick Piggin
2010-05-25 15:13 ` Linus Torvalds
2010-05-25 15:13 ` Linus Torvalds
2010-05-25 15:43 ` Nick Piggin
2010-05-25 15:43 ` Nick Piggin
2010-05-25 17:02 ` Pekka Enberg
2010-05-25 17:02 ` Pekka Enberg
2010-05-25 17:19 ` Nick Piggin
2010-05-25 17:19 ` Nick Piggin
2010-05-25 17:35 ` Pekka Enberg
2010-05-25 17:35 ` Pekka Enberg
2010-05-25 17:40 ` Nick Piggin
2010-05-25 17:40 ` Nick Piggin
2010-05-25 10:07 ` David Rientjes
2010-05-25 10:07 ` David Rientjes
2010-05-25 10:02 ` David Rientjes
2010-05-25 10:02 ` David Rientjes
2010-05-25 10:47 ` Pekka Enberg
2010-05-25 10:47 ` Pekka Enberg
2010-05-25 19:57 ` David Rientjes
2010-05-25 19:57 ` David Rientjes
2010-05-25 14:13 ` Christoph Lameter
2010-05-25 14:34 ` Nick Piggin
2010-05-25 14:43 ` Nick Piggin
2010-05-25 14:48 ` Christoph Lameter
2010-05-25 15:11 ` Nick Piggin
2010-05-25 15:28 ` Christoph Lameter
2010-05-25 15:37 ` Nick Piggin
2010-05-27 14:24 ` Christoph Lameter
2010-05-27 14:37 ` Nick Piggin
2010-05-27 15:52 ` Christoph Lameter
2010-05-27 16:07 ` Nick Piggin
2010-05-27 16:57 ` Christoph Lameter
2010-05-28 8:39 ` Nick Piggin
2010-05-25 14:40 ` Nick Piggin
2010-05-25 14:48 ` Christoph Lameter
2010-05-25 15:12 ` Nick Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100521211537.530913777@quilx.com \
--to=cl@linux.com \
--cc=linux-mm@kvack.org \
--cc=penberg@cs.helsinki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.