From: David Ahern <dsahern@gmail.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: acme@redhat.com, a.p.zijlstra@chello.nl, mingo@elte.hu,
paulus@samba.org, cjashfor@linux.vnet.ibm.com,
fweisbec@gmail.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 6/7] perf, tool: Fix endianity trick for adds_features bitmask
Date: Mon, 21 May 2012 22:38:17 -0600 [thread overview]
Message-ID: <4FBB1839.6000606@gmail.com> (raw)
In-Reply-To: <1337151548-2396-7-git-send-email-jolsa@redhat.com>
On 5/16/12 12:59 AM, Jiri Olsa wrote:
> Addons bitmask is stored as array of unsigned long values. The size
> of the unsigned long is same as pointer size for architecture, so it
> could differ for each architecture.
>
> To handle the endianity for adds_features bitmask, we first swap the
> bitmaks as u64 values and check for HEADER_HOSTNAME bit. If not set we
> want to unswap the u64 values and swap the adds_features as u32 values.
>
> This is currently buggy, since we swap just first 32bits of each u64
> value. Adding swap of the next 32 bits as well. Also adding& using
> BITS_TO_U64 instead of BITS_TO_LONGS as counter max due to the different
> size of unsigned longs per architecture.
>
> 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@redhat.com>
32-bit ppc reading 64-bit x86 still does not work:
# ========
# captured on: Sun May 20 19:23:23 2012
# ========
#
Why not? It suggests there is still a bug in the processing of the
adds_feature bitmap.
David
next prev parent reply other threads:[~2012-05-22 4:38 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-16 6:59 [PATCHv4 0/7] perf, tool: Fix endian issues Jiri Olsa
2012-05-16 6:59 ` [PATCH 1/7] perf, tool: Handle different endians properly during symbol load Jiri Olsa
2012-05-22 3:26 ` David Ahern
2012-05-16 6:59 ` [PATCH 2/7] perf, tool: Carry perf_event_attr bitfield throught different endians Jiri Olsa
2012-05-22 3:29 ` David Ahern
2012-05-23 15:26 ` [tip:perf/core] perf tools: " tip-bot for Jiri Olsa
2012-05-16 6:59 ` [PATCH 3/7] perf, tool: Add union u64_swap type for swapping u64 data Jiri Olsa
2012-05-22 3:29 ` David Ahern
2012-05-23 15:27 ` [tip:perf/core] perf tools: " tip-bot for Jiri Olsa
2012-05-16 6:59 ` [PATCH 4/7] perf, tool: Handle endianity swap on sample_id_all header data Jiri Olsa
2012-05-22 3:35 ` David Ahern
2012-05-16 6:59 ` [PATCH 5/7] perf, tool: Fix 32 bit values endianity swap for sample_id_all header Jiri Olsa
2012-05-22 4:38 ` David Ahern
2012-05-22 15:53 ` Arnaldo Carvalho de Melo
2012-05-16 6:59 ` [PATCH 6/7] perf, tool: Fix endianity trick for adds_features bitmask Jiri Olsa
2012-05-22 4:38 ` David Ahern [this message]
2012-05-22 8:41 ` Jiri Olsa
2012-05-22 15:48 ` David Ahern
2012-05-23 17:59 ` Jiri Olsa
2012-05-24 15:32 ` David Ahern
2012-05-24 19:48 ` Jiri Olsa
2012-06-15 19:10 ` [tip:perf/urgent] perf tools: Fix endianity swapping " tip-bot for David Ahern
2012-05-16 6:59 ` [PATCH 7/7] perf, tool: Fix callchain ip printf Jiri Olsa
2012-05-21 7:39 ` [tip:perf/core] perf hists: Fix callchain ip printf format tip-bot for Jiri Olsa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FBB1839.6000606@gmail.com \
--to=dsahern@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=cjashfor@linux.vnet.ibm.com \
--cc=fweisbec@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.