kernel-janitors.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' declared
@ 2012-09-14  2:59 Fengguang Wu
  2012-09-14 21:10 ` [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' decla Andrew Morton
  2012-09-14 21:13 ` Andrew Morton
  0 siblings, 2 replies; 3+ messages in thread
From: Fengguang Wu @ 2012-09-14  2:59 UTC (permalink / raw)
  To: kernel-janitors

Hi Michel,

FYI, there are new compile warnings show up in

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git since-3.5
head:   d64f22e5761b1e367ba5d1e04d2fe5e0283aecbc
commit: 20710551fa2659c765f88380f3b40a0e714000b1 [93/137] rbtree: move augmented rbtree functionality to rbtree_augmented.h
config: avr32-atngw100_defconfig

All error/warnings:

include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' declared inline after being called
include/linux/rbtree_augmented.h:123: warning: previous declaration of '__rb_erase_color' was here

vim +123 include/linux/rbtree_augmented.h
   113		if (parent) {
   114			if (parent->rb_left = old)
   115				parent->rb_left = new;
   116			else
   117				parent->rb_right = new;
   118		} else
   119			root->rb_node = new;
   120	}
   121	
   122	extern void __rb_erase_color(struct rb_node *parent, struct rb_root *root,
 > 123		void (*augment_rotate)(struct rb_node *old, struct rb_node *new));
   124	
   125	static __always_inline void
   126	rb_erase_augmented(struct rb_node *node, struct rb_root *root,
   127			   const struct rb_augment_callbacks *augment)
   128	{
   129		struct rb_node *child = node->rb_right, *tmp = node->rb_left;
   130		struct rb_node *parent, *rebalance;
   131		unsigned long pc;
   132	
   133		if (!tmp) {

---
0-DAY kernel build testing backend         Open Source Technology Centre
Fengguang Wu <wfg@linux.intel.com>                     Intel Corporation

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

* Re: [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' decla
  2012-09-14  2:59 [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' declared Fengguang Wu
@ 2012-09-14 21:10 ` Andrew Morton
  2012-09-14 21:13 ` Andrew Morton
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Morton @ 2012-09-14 21:10 UTC (permalink / raw)
  To: kernel-janitors

On Fri, 14 Sep 2012 10:59:22 +0800
Fengguang Wu <fengguang.wu@intel.com> wrote:

> Hi Michel,
> 
> FYI, there are new compile warnings show up in
> 
> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git since-3.5
> head:   d64f22e5761b1e367ba5d1e04d2fe5e0283aecbc
> commit: 20710551fa2659c765f88380f3b40a0e714000b1 [93/137] rbtree: move augmented rbtree functionality to rbtree_augmented.h
> config: avr32-atngw100_defconfig
> 
> All error/warnings:
> 
> include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' declared inline after being called
> include/linux/rbtree_augmented.h:123: warning: previous declaration of '__rb_erase_color' was here
> 

Yes, that is a bit screwed up.

What is more screwed up is that the insanely huge rb_erase_augmented()
is inlined.

Looky:

--- a/lib/rbtree_test.c~a
+++ a/lib/rbtree_test.c
@@ -90,6 +90,7 @@ static void insert_augmented(struct test
 static void erase_augmented(struct test_node *node, struct rb_root *root)
 {
 	rb_erase_augmented(&node->rb, root, &augment_callbacks);
+	rb_erase_augmented(&node->rb, root, &augment_callbacks);
 }
 
 static void init(void)

akpm:/usr/src/25> size lib/rbtree_test.o
   text    data     bss     dec     hex filename
   3599     117    5224    8940    22ec lib/rbtree_test.o	(before)
   4176     117    5384    9677    25cd lib/rbtree_test.o	(after)

that's crazy!

<wonders why bss got larger>

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

* Re: [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' decla
  2012-09-14  2:59 [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' declared Fengguang Wu
  2012-09-14 21:10 ` [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' decla Andrew Morton
@ 2012-09-14 21:13 ` Andrew Morton
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Morton @ 2012-09-14 21:13 UTC (permalink / raw)
  To: kernel-janitors

On Fri, 14 Sep 2012 14:10:04 -0700
Andrew Morton <akpm@linux-foundation.org> wrote:

> akpm:/usr/src/25> size lib/rbtree_test.o
>    text    data     bss     dec     hex filename
>    3599     117    5224    8940    22ec lib/rbtree_test.o	(before)
>    4176     117    5384    9677    25cd lib/rbtree_test.o	(after)
> 
> that's crazy!

Although the changelog and Documentation/rbtree.txt do explain the
situation. Nobody ever reads them.  This explanation should be in a
big fat comment at the rb_erase_augmented() site, please.

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

end of thread, other threads:[~2012-09-14 21:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-14  2:59 [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' declared Fengguang Wu
2012-09-14 21:10 ` [memcg:since-3.5 93/137] include/linux/rbtree_augmented.h:123: warning: '__rb_erase_color' decla Andrew Morton
2012-09-14 21:13 ` Andrew Morton

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).