Re: [PATCH 5/7] perf, tool: Fix 32 bit values endianity swap forsample_id_all header

From: David Ahern
Date: Tue May 22 2012 - 00:38:10 EST


On 5/16/12 12:59 AM, Jiri Olsa wrote:
We swap the sample_id_all header by u64 pointers. Some members
of the header happen to be 32 bit values. We need to handle them
separatelly.

Note, running following to test perf endianity handling:
test 1)
- origin system:
# perf record -a -- sleep 10 (any perf record will do)
# perf report> report.origin
# perf archive perf.data

- copy the perf.data, report.origin and perf.data.tar.bz2
to a target system and run:
# tar xjvf perf.data.tar.bz2 -C ~/.debug
# perf report> report.target
# diff -u report.origin report.target

- the diff should produce no output
(besides some white space stuff and possibly different
date/TZ output)

test 2)
- origin system:
# perf record -ag -fo /tmp/perf.data -- sleep 1
- mount origin system root to the target system on /mnt/origin
- target system:
# perf script --symfs /mnt/origin -I -i /mnt/origin/tmp/perf.data \
--kallsyms /mnt/origin/proc/kallsyms
- complete perf.data header is displayed

Signed-off-by: Jiri Olsa<jolsa@xxxxxxxxxx>

Same comment as the last - the commit log could use some words about command line arguments you are running and how the output is affected. As I mentioned perf-report/script on x86 processes data files and parses samples from 32-bit ppc just fine -- including tid, pid, comm, filenames, symbols, etc. So is the sample_id_all path run and how does this patch change it.

Code wise:
Reviewed-by and Tested-by: David Ahern <dsahern@xxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/