diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 21:18:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 21:18:55 -0400 |
commit | 2ff2b289a695807e291e1ed9f639d8a3ba5f4254 (patch) | |
tree | e4b7f44e5cc1582ba2be8aeba221f4841f4c86a6 /tools/lib/traceevent/event-utils.h | |
parent | 88d6ae8dc33af12fe1c7941b1fae2767374046fd (diff) | |
parent | 73787190d04a34e6da745da893b3ae8bedde418f (diff) |
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf changes from Ingo Molnar:
"Lots of changes:
- (much) improved assembly annotation support in perf report, with
jump visualization, searching, navigation, visual output
improvements and more.
- kernel support for AMD IBS PMU hardware features. Notably 'perf
record -e cycles:p' and 'perf top -e cycles:p' should work without
skid now, like PEBS does on the Intel side, because it takes
advantage of IBS transparently.
- the libtracevents library: it is the first step towards unifying
tracing tooling and perf, and it also gives a tracing library for
external tools like powertop to rely on.
- infrastructure: various improvements and refactoring of the UI
modules and related code
- infrastructure: cleanup and simplification of the profiling
targets code (--uid, --pid, --tid, --cpu, --all-cpus, etc.)
- tons of robustness fixes all around
- various ftrace updates: speedups, cleanups, robustness
improvements.
- typing 'make' in tools/ will now give you a menu of projects to
build and a short help text to explain what each does.
- ... and lots of other changes I forgot to list.
The perf record make bzImage + perf report regression you reported
should be fixed."
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (166 commits)
tracing: Remove kernel_lock annotations
tracing: Fix initial buffer_size_kb state
ring-buffer: Merge separate resize loops
perf evsel: Create events initially disabled -- again
perf tools: Split term type into value type and term type
perf hists: Fix callchain ip printf format
perf target: Add uses_mmap field
ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER
ftrace/x86: Have x86 ftrace use the ftrace_modify_all_code()
ftrace: Make ftrace_modify_all_code() global for archs to use
ftrace: Return record ip addr for ftrace_location()
ftrace: Consolidate ftrace_location() and ftrace_text_reserved()
ftrace: Speed up search by skipping pages by address
ftrace: Remove extra helper functions
ftrace: Sort all function addresses, not just per page
tracing: change CPU ring buffer state from tracing_cpumask
tracing: Check return value of tracing_dentry_percpu()
ring-buffer: Reset head page before running self test
ring-buffer: Add integrity check at end of iter read
ring-buffer: Make addition of pages in ring buffer atomic
...
Diffstat (limited to 'tools/lib/traceevent/event-utils.h')
-rw-r--r-- | tools/lib/traceevent/event-utils.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/tools/lib/traceevent/event-utils.h b/tools/lib/traceevent/event-utils.h new file mode 100644 index 000000000000..08296383d1e6 --- /dev/null +++ b/tools/lib/traceevent/event-utils.h | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com> | ||
3 | * | ||
4 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU Lesser General Public | ||
7 | * License as published by the Free Software Foundation; | ||
8 | * version 2.1 of the License (not later!) | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU Lesser General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU Lesser General Public | ||
16 | * License along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
18 | * | ||
19 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
20 | */ | ||
21 | #ifndef __UTIL_H | ||
22 | #define __UTIL_H | ||
23 | |||
24 | #include <ctype.h> | ||
25 | |||
26 | /* Can be overridden */ | ||
27 | void die(const char *fmt, ...); | ||
28 | void *malloc_or_die(unsigned int size); | ||
29 | void warning(const char *fmt, ...); | ||
30 | void pr_stat(const char *fmt, ...); | ||
31 | void vpr_stat(const char *fmt, va_list ap); | ||
32 | |||
33 | /* Always available */ | ||
34 | void __die(const char *fmt, ...); | ||
35 | void __warning(const char *fmt, ...); | ||
36 | void __pr_stat(const char *fmt, ...); | ||
37 | |||
38 | void __vdie(const char *fmt, ...); | ||
39 | void __vwarning(const char *fmt, ...); | ||
40 | void __vpr_stat(const char *fmt, ...); | ||
41 | |||
42 | static inline char *strim(char *string) | ||
43 | { | ||
44 | char *ret; | ||
45 | |||
46 | if (!string) | ||
47 | return NULL; | ||
48 | while (*string) { | ||
49 | if (!isspace(*string)) | ||
50 | break; | ||
51 | string++; | ||
52 | } | ||
53 | ret = string; | ||
54 | |||
55 | string = ret + strlen(ret) - 1; | ||
56 | while (string > ret) { | ||
57 | if (!isspace(*string)) | ||
58 | break; | ||
59 | string--; | ||
60 | } | ||
61 | string[1] = 0; | ||
62 | |||
63 | return ret; | ||
64 | } | ||
65 | |||
66 | static inline int has_text(const char *text) | ||
67 | { | ||
68 | if (!text) | ||
69 | return 0; | ||
70 | |||
71 | while (*text) { | ||
72 | if (!isspace(*text)) | ||
73 | return 1; | ||
74 | text++; | ||
75 | } | ||
76 | |||
77 | return 0; | ||
78 | } | ||
79 | |||
80 | #endif | ||