kernel_optimize_test/tools/perf/util
David Ahern d327fa4359 perf tools: handle endianness of feature bitmap
Feature bitmap is declared as an array of unsigned longs -- not good
since its size can differ between the host that generated the data file
and the host analyzing the file.

We need to handle endianness, but we don't know the size of the unsigned
long where the file was generated. Take a best guess at determining it:
try 64-bit swap first (ie., file created on a 64-bit host), and check if
the hostname feature bit is set (this feature bit is forced on as of
fbe96f2).  If the bit is not, undo the 64-bit swap and try a 32-bit
swap. If the hostname bit is still not set (e.g., older data file), punt
and fallback to the original behavior -- clearing all feature bits and
setting buildid.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1318980841-12616-1-git-send-email-dsahern@gmail.com
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2011-10-19 13:14:35 -02:00
..
include perf tools: Fix build against newer glibc 2011-08-18 07:24:53 -03:00
scripting-engines perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
ui perf hists: Move the dso and thread filters from hist_browser 2011-10-19 09:28:19 -02:00
abspath.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
alias.c
annotate.c perf: Support setting the disassembler style 2011-09-29 17:10:00 -03:00
annotate.h perf annotate browser: Allow navigation to called functions 2011-10-07 17:00:09 -03:00
bitmap.c perf tools: Don't use code surrounded by __KERNEL__ 2010-05-02 12:00:44 -03:00
build-id.c perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
build-id.h perf annotate: Use build-ids to find the right DSO 2010-05-20 12:15:33 -03:00
cache.h perf tools: Don't fallback to setup_pager unconditionally 2011-01-31 18:08:39 -02:00
callchain.c perf tools: Kill event_t typedef, use 'union perf_event' instead 2011-01-29 16:25:37 -02:00
callchain.h perf tools: Add inverted call graph report support. 2011-06-30 00:24:30 +02:00
cgroup.c perf: Fix a build error with some GCC versions 2011-04-08 17:40:21 +02:00
cgroup.h perf tool: Add cgroup support 2011-02-16 13:30:48 +01:00
color.c perf stat: Add -o and --append options 2011-08-18 07:46:13 -03:00
color.h perf hist: Replace ->print() routines by ->snprintf() equivalents 2010-04-02 16:28:15 -03:00
config.c perf tools: Check $HOME/.perfconfig ownership 2011-08-09 12:42:13 -03:00
cpumap.c perf tools: Add missing cpu_map__delete() 2011-01-22 19:56:30 -02:00
cpumap.h perf tools: Add missing cpu_map__delete() 2011-01-22 19:56:30 -02:00
ctype.c perf tools: Move graph_line and graph_dotted_line from top 2009-11-23 21:55:20 +01:00
debug.c perf tools: Fixup exit path when not able to open events 2011-03-29 13:40:27 -03:00
debug.h perf tools: Fixup exit path when not able to open events 2011-03-29 13:40:27 -03:00
debugfs.c perf trace: Clean up find_debugfs() 2009-12-28 10:36:36 +01:00
debugfs.h perf tools: Mount debugfs automatically 2009-12-28 10:36:36 +01:00
dwarf-aux.c perf probe: Filter out redundant inline-instances 2011-08-12 09:34:35 -03:00
dwarf-aux.h perf probe: Search concrete out-of-line instances 2011-08-12 09:32:10 -03:00
environment.c
event.c perf symbols: Synthesize anonymous mmap events 2011-09-23 14:37:06 -03:00
event.h perf tool: Fix endianness handling of u32 data in samples 2011-09-23 14:37:27 -03:00
evlist.c perf browsers: Add live mode to the hists, annotate browsers 2011-10-07 12:12:51 -03:00
evlist.h perf browsers: Add live mode to the hists, annotate browsers 2011-10-07 12:12:51 -03:00
evsel.c perf hists: Threaded addition and sorting of entries 2011-10-07 12:12:29 -03:00
evsel.h perf evlist: Don't die if sample_{id_all|type} is invalid 2011-06-03 10:07:52 -03:00
exec_cmd.c perf tools: Makefile: Remove various and sundry cruft 2011-02-18 07:43:06 -02:00
exec_cmd.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
generate-cmdlist.sh
header.c perf tools: handle endianness of feature bitmap 2011-10-19 13:14:35 -02:00
header.h perf tools: Make perf.data more self-descriptive (v8) 2011-10-07 17:01:24 -03:00
help.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
help.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
hist.c perf hists browser: Apply the dso and thread filters when merging new batches 2011-10-19 13:09:10 -02:00
hist.h perf hists: Move the dso and thread filters from hist_browser 2011-10-19 09:28:19 -02:00
hweight.c perf tools: Don't use code surrounded by __KERNEL__ 2010-05-02 12:00:44 -03:00
levenshtein.c
levenshtein.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
map.c perf tools: Add prelink suggestion to dso update message 2011-10-19 13:13:43 -02:00
map.h perf symbols: Stop using 'self' in map_groups__ methods 2011-09-29 16:41:36 -03:00
pager.c
parse-events.c perf tools: Fix error handling of unknown events 2011-08-18 07:21:13 -03:00
parse-events.h perf tools: De-opt the parse_events function 2011-07-21 10:41:11 +02:00
parse-options.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
parse-options.h perf options: add OPT_CALLBACK_DEFAULT_NOOPT 2010-12-06 15:33:29 -02:00
path.c perf tools: add test for strlcpy() 2010-08-21 11:22:47 -03:00
PERF-VERSION-GEN perf: clear out make flags when calling kernel make kernelver 2011-06-15 22:12:55 +02:00
probe-event.c perf probe: Fix to show correct error string 2011-10-10 15:13:23 -04:00
probe-event.h perf probe: Add probed module in front of function 2011-07-15 16:19:08 -04:00
probe-finder.c perf probe: Fix regression of variable finder 2011-09-23 14:33:19 -03:00
probe-finder.h perf probe: Fix to search local variables in appropriate scope 2011-08-12 09:28:45 -03:00
pstack.c perf newt: Make <- zoom out filters 2010-05-14 20:05:21 -03:00
pstack.h perf ui: Move hists browser to util/ui/browsers/ 2010-08-10 16:11:08 -03:00
python.c perf python: Add missing perf_event__parse_sample 'swapped' parm 2011-09-23 15:38:53 -03:00
quote.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
quote.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
run-command.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
run-command.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
session.c perf tools: Make perf.data more self-descriptive (v8) 2011-10-07 17:01:24 -03:00
session.h perf tools: Make perf.data more self-descriptive (v8) 2011-10-07 17:01:24 -03:00
setup.py perf tools: Add support to install perf python extension 2011-08-08 12:54:26 -03:00
sigchain.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sigchain.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sort.c perf sort: Fix symbol sort output by separating unresolved samples by type 2011-09-23 14:37:17 -03:00
sort.h perf hists: Don't free decayed entries if in the annotation browser 2011-10-13 08:01:33 -03:00
strbuf.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
strbuf.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
strfilter.c perf: Fix missing strndup declaration 2011-03-04 01:17:18 +01:00
strfilter.h perf tools: Add strfilter for general purpose string filter 2011-01-28 09:19:38 -02:00
string.c perf probe: Move strtailcmp to string.c 2011-07-15 16:00:47 -04:00
strlist.c perf probe: Fix --del to update current event list 2009-12-15 20:22:01 +01:00
strlist.h perf tools: Add for_each macros for strlist 2009-12-15 20:22:02 +01:00
svghelper.c perf timechart: Fix black idle boxes in the title 2011-02-28 08:56:14 +01:00
svghelper.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
symbol.c perf tools: Make --no-asm-raw the default 2011-10-07 17:01:32 -03:00
symbol.h perf report: Add option to show total period 2011-10-07 12:12:13 -03:00
thread_map.c perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
thread_map.h perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
thread.c perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
thread.h perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
top.c perf top: Reuse the 'report' hist_entry/hists classes 2011-10-07 16:56:44 -03:00
top.h perf top: Reuse the 'report' hist_entry/hists classes 2011-10-07 16:56:44 -03:00
trace-event-info.c perf: Robustify proc and debugfs file recording 2011-07-14 15:53:01 -04:00
trace-event-parse.c rcu: Use softirq to address performance regression 2011-06-14 15:25:39 -07:00
trace-event-read.c perf: Use read() instead of lseek() in trace_event_read.c:skip() 2010-05-20 08:37:17 +02:00
trace-event-scripting.c perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
trace-event.h perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
types.h perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
usage.c
util.c perf util: Move do_read from session to util 2011-01-03 16:50:55 -02:00
util.h perf probe: Move strtailcmp to string.c 2011-07-15 16:00:47 -04:00
values.c perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
values.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
wrapper.c perf tools: remove xstrndup, xmalloc, xzalloc 2010-05-18 23:05:28 -03:00
xyarray.c perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00
xyarray.h perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00