Messages in this thread |  | | Date | Thu, 5 Dec 2013 11:49:06 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH 4/4] perf trace: Add option to specify machine type |
| |
Em Thu, Dec 05, 2013 at 07:33:20AM -0700, David Ahern escreveu: > On 12/5/13, 6:50 AM, Arnaldo Carvalho de Melo wrote: > >Em Wed, Dec 04, 2013 at 07:41:42PM -0700, David Ahern escreveu: > >>Perhaps there is a better way to do this; I could not think of one and > >>I don't see any field in the tracepoint that can be leveraged. So ... > >> > >>perf-trace autodetects the machine type (e.g., i386, x86_64, etc) via > >>libaudit. > > > >And that means that using perf.data files from another machine, say, > >ARM, will produce completely bogus results :-\ > > Indeed all offline analysis of trace data is wrong because it uses > the arch of the machine running perf. I am not hitting that problem, > but analysis on box. > > > > >We need a way to store this info in the perf.data header, i.e. use the > >same algorithm that libaudit uses in audit_detect_machine() (and set the > >open_id as well, btw) at 'perf record' time and store it somewhere. > > > >What we have now that could be used? > > > >Lets see: > > > >[acme@zoo linux]$ perf report | grep 'arch' > ># arch : x86_64 > >[acme@zoo linux]$ > > > >Would that be enough? Stephane? > > That fixes one part -- using the arch in the file to translate > system calls in the file. > > But it is a per process problem: Some are 32-bit; others are 64-bit. > I was hoping there was some option at the syscall entry level to tag > the bitness. And then there is the problem of needing a solution
We need to look at how compat syscalls work and how that translates to our raw_syscalls tracing needs :-\
> that works from RHEL6 forward. This patch at least allows me to have > sensible data until something more clever is thought of. > > David
|  |