lkml.org 
[lkml]   [2012]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [GIT PULL] perf updates/fixes

* Ingo Molnar <mingo@kernel.org> wrote:

> Linus,
>
> Please pull the latest perf-urgent-for-linus git tree from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-urgent-for-linus
>
> HEAD: 95cf59ea72331d0093010543b8951bb43f262cac perf: Fix perf_cgroup_switch for sw-events

Note that if you merge it then there's a new semantic conflict
with recent rbtree.c changes in your tree, causing a tools/perf/
build failure:

../../lib/rbtree.c:24:36: fatal error: linux/rbtree_augmented.h: No such file or directory compilation terminated.

See the fix below.

( If the __maybe_unused annotations are too ugly for
lib/rbtree.c then we'll fix that in tools/perf in a cleaner
way, weakening the compiler checks for the rbtree build. We
are using stronger compiler checks in tools/perf/, which has
served us very well so far and is a big net win - the price is
the occasional extra annotation of dummy inline function
parameters. )

Thanks,

Ingo

Signed-off-by: Ingo Molnar <mingo@kernel.org>

---
lib/rbtree.c | 7 ++++---
tools/perf/util/include/linux/rbtree_augmented.h | 2 ++
2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/rbtree.c b/lib/rbtree.c
index 4f56a11..993ffcb 100644
--- a/lib/rbtree.c
+++ b/lib/rbtree.c
@@ -22,6 +22,7 @@
*/

#include <linux/rbtree_augmented.h>
+#include <linux/compiler.h>
#include <linux/export.h>

/*
@@ -364,9 +365,9 @@ EXPORT_SYMBOL(__rb_erase_color);
* out of the rb_insert_color() and rb_erase() function definitions.
*/

-static inline void dummy_propagate(struct rb_node *node, struct rb_node *stop) {}
-static inline void dummy_copy(struct rb_node *old, struct rb_node *new) {}
-static inline void dummy_rotate(struct rb_node *old, struct rb_node *new) {}
+static inline void dummy_propagate(struct rb_node *node __maybe_unused, struct rb_node *stop __maybe_unused) {}
+static inline void dummy_copy(struct rb_node *old __maybe_unused, struct rb_node *new __maybe_unused) {}
+static inline void dummy_rotate(struct rb_node *old __maybe_unused, struct rb_node *new __maybe_unused) {}

static const struct rb_augment_callbacks dummy_callbacks = {
dummy_propagate, dummy_copy, dummy_rotate
diff --git a/tools/perf/util/include/linux/rbtree_augmented.h b/tools/perf/util/include/linux/rbtree_augmented.h
new file mode 100644
index 0000000..9d6fcdf
--- /dev/null
+++ b/tools/perf/util/include/linux/rbtree_augmented.h
@@ -0,0 +1,2 @@
+#include <stdbool.h>
+#include "../../../../include/linux/rbtree_augmented.h"


\
 
 \ /
  Last update: 2012-10-12 11:21    [W:0.044 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site