lkml.org 
[lkml]   [2011]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] perf: make perf.data more self-descriptive (v5)
From
On Thu, Sep 22, 2011 at 11:20 PM, Andi Kleen <andi@firstfloor.org> wrote:
> Stephane Eranian <eranian@google.com> writes:
>
>> The goal of this patch is to include more information
>> about the host environment into the perf.data so it is
>> more self-descriptive. Overtime, profiles are captured
>> on various machines and it becomes hard to track what
>> was recorded, on what machine and when.
>
> I read it near completely.
>
> The only weird thing were the .byte coded push/pops
> in CPUID.
>
That's because it needs to compile for both 32 and 64
bit ABIs. I cloned my code in libpfm4. Here is the
comment I have in libpfm4:
/*
* .byte 0x53 == push ebx. it's universal for 32 and 64 bit
* .byte 0x5b == pop ebx.
* Some gcc's (4.1.2 on Core2) object to pairing push/pop and ebx in
64 bit mode.
* Using the opcode directly avoids this problem.
*/
But that may not be true anymore.
> Also the /proc parser doesn't seem very robust,
> e.g. strstr is not a good way to check for a field.
>
> And the code reading /proc lines with fgets should
> likely use getline()
>
Good point, I will fix that.

> Then the bswap code would be much nicer inside a macro.
>
> Other than that it looks good.
>
Thanks.


\
 
 \ /
  Last update: 2011-09-22 23:27    [from the cache]
©2003-2011 Jasper Spaans