linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the slab tree with the ftrace tree
@ 2009-02-20  5:57 Stephen Rothwell
  2009-02-20  8:25 ` Pekka Enberg
  2009-02-20  8:59 ` Stephen Rothwell
  0 siblings, 2 replies; 12+ messages in thread
From: Stephen Rothwell @ 2009-02-20  5:57 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: linux-next, Eduard - Gabriel Munteanu, Pekka Enberg,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin

Hi all,

Today's linux-next merge of the slab tree got a conflict in mm/slub.c
between commit 5b882be4e00e53a44f47ad7eb997cac2938848bf ("kmemtrace: SLUB
hooks") from the ftrace tree and commit
8573e12414365585bfd601dc8c093b3efbef8854 ("SLUB: Do not pass 8k objects
through to the page allocator") from the slab tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff --cc mm/slub.c
index e6bf32f,23115bd..0000000
--- a/mm/slub.c
+++ b/mm/slub.c
@@@ -2689,9 -2661,8 +2693,9 @@@ static struct kmem_cache *get_slab(size
  void *__kmalloc(size_t size, gfp_t flags)
  {
  	struct kmem_cache *s;
 +	void *ret;
  
- 	if (unlikely(size > PAGE_SIZE))
+ 	if (unlikely(size > SLUB_MAX_SIZE))
  		return kmalloc_large(size, flags);
  
  	s = get_slab(size, flags);
@@@ -2723,18 -2689,9 +2727,19 @@@ static void *kmalloc_large_node(size_t 
  void *__kmalloc_node(size_t size, gfp_t flags, int node)
  {
  	struct kmem_cache *s;
 +	void *ret;
  
 -	if (unlikely(size > SLUB_MAX_SIZE))
 -		return kmalloc_large_node(size, flags, node);
++	if (unlikely(size > SLUB_MAX_SIZE)) {
 +	if (unlikely(size > PAGE_SIZE)) {
 +		ret = kmalloc_large_node(size, flags, node);
 +
 +		kmemtrace_mark_alloc_node(KMEMTRACE_TYPE_KMALLOC,
 +					  _RET_IP_, ret,
 +					  size, PAGE_SIZE << get_order(size),
 +					  flags, node);
 +
 +		return ret;
 +	}
  
  	s = get_slab(size, flags);
  
@@@ -3276,9 -3225,8 +3281,9 @@@ static struct notifier_block __cpuinitd
  void *__kmalloc_track_caller(size_t size, gfp_t gfpflags, unsigned long caller)
  {
  	struct kmem_cache *s;
 +	void *ret;
  
- 	if (unlikely(size > PAGE_SIZE))
+ 	if (unlikely(size > SLUB_MAX_SIZE))
  		return kmalloc_large(size, gfpflags);
  
  	s = get_slab(size, gfpflags);
@@@ -3299,9 -3241,8 +3304,9 @@@ void *__kmalloc_node_track_caller(size_
  					int node, unsigned long caller)
  {
  	struct kmem_cache *s;
 +	void *ret;
  
- 	if (unlikely(size > PAGE_SIZE))
+ 	if (unlikely(size > SLUB_MAX_SIZE))
  		return kmalloc_large_node(size, gfpflags, node);
  
  	s = get_slab(size, gfpflags);

^ permalink raw reply	[flat|nested] 12+ messages in thread
* linux-next: manual merge of the slab tree with the ftrace tree
@ 2009-01-20  3:57 Stephen Rothwell
  2009-01-20  6:01 ` Matt Mackall
  0 siblings, 1 reply; 12+ messages in thread
From: Stephen Rothwell @ 2009-01-20  3:57 UTC (permalink / raw)
  To: Pekka Enberg, Christoph Lameter
  Cc: linux-next, "Américo Wang", Matt Mackall,
	Eduard - Gabriel Munteanu, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin

Hi all,

Today's linux-next merge of the slab tree got a conflict in mm/slob.c
between commit 3eae2cb24a96509e0a38cc48dc1538a2826f4e33 ("kmemtrace: SLOB
hooks") from the ftrace tree and commit
6e9ed0cc4b963fde66ab47d9fb19147631e44555 ("slob: clean up the code") from
the slab tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff --cc mm/slob.c
index 4d1c0fc,c9cd31d..0000000
--- a/mm/slob.c
+++ b/mm/slob.c
@@@ -475,15 -482,11 +485,15 @@@ void *__kmalloc_node(size_t size, gfp_
  		if (!m)
  			return NULL;
  		*m = size;
 -		return (void *)m + align;
 +		ret = (void *)m + align;
 +
 +		kmemtrace_mark_alloc_node(KMEMTRACE_TYPE_KMALLOC,
 +					  _RET_IP_, ret,
 +					  size, size + align, gfp, node);
  	} else {
 -		void *ret;
 +		unsigned int order = get_order(size);
  
- 		ret = slob_new_page(gfp | __GFP_COMP, order, node);
 -		ret = slob_new_pages(gfp | __GFP_COMP, get_order(size), node);
++		ret = slob_new_pages(gfp | __GFP_COMP, order, node);
  		if (ret) {
  			struct page *page;
  			page = virt_to_page(ret);
@@@ -583,19 -579,10 +593,19 @@@ void *kmem_cache_alloc_node(struct kmem
  {
  	void *b;
  
 -	if (c->size < PAGE_SIZE)
 +	if (c->size < PAGE_SIZE) {
  		b = slob_alloc(c->size, flags, c->align, node);
 -	else
 +		kmemtrace_mark_alloc_node(KMEMTRACE_TYPE_CACHE,
 +					  _RET_IP_, b, c->size,
 +					  SLOB_UNITS(c->size) * SLOB_UNIT,
 +					  flags, node);
 +	} else {
- 		b = slob_new_page(flags, get_order(c->size), node);
+ 		b = slob_new_pages(flags, get_order(c->size), node);
 +		kmemtrace_mark_alloc_node(KMEMTRACE_TYPE_CACHE,
 +					  _RET_IP_, b, c->size,
 +					  PAGE_SIZE << get_order(c->size),
 +					  flags, node);
 +	}
  
  	if (c->ctor)
  		c->ctor(b);

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-02-20 23:07 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-20  5:57 linux-next: manual merge of the slab tree with the ftrace tree Stephen Rothwell
2009-02-20  8:25 ` Pekka Enberg
2009-02-20  8:59 ` Stephen Rothwell
2009-02-20  9:37   ` Ingo Molnar
2009-02-20  9:41     ` Pekka Enberg
2009-02-20  9:53       ` Ingo Molnar
2009-02-20 11:12         ` Pekka Enberg
2009-02-20 11:16           ` Ingo Molnar
2009-02-20 23:07             ` Stephen Rothwell
2009-02-20 22:58     ` Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2009-01-20  3:57 Stephen Rothwell
2009-01-20  6:01 ` Matt Mackall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).