Re: [RFC][PATCH 1/8] perf: Separate out trace-cmd parse-events fromperf files

From: David Ahern
Date: Thu Aug 18 2011 - 12:38:05 EST


On 08/18/2011 07:51 AM, Frederic Weisbecker wrote:
> On Tue, Aug 16, 2011 at 06:08:07PM -0600, David Ahern wrote:
>> On 08/15/2011 10:22 AM, Steven Rostedt wrote:
>>> On Mon, 2011-08-15 at 10:14 -0600, David Ahern wrote:
>>>> Hi Steve:
>>>>
>>>> On 08/05/2011 02:59 PM, Steven Rostedt wrote:
>>>>> From: Steven Rostedt <srostedt@xxxxxxxxxx>
>>>>>
>>>>> Move the trace-event-parse.c code that originally came from trace-cmd into
>>>>> their own files. The new file will be called trace-parse-events.c, as
>>>>> the name of trace-cmd's file was parse-events.c too, but it conflicted
>>>>> with the parse-events.c file in perf that parses the command line.
>>>>>
>>>>> This tries to update the code with mimimal changes.
>>>>>
>>>>> Perf specific code stays in the trace-event-parse.[ch] files and
>>>>> the common parsing code is now in trace-parse-events.c and
>>>>> trace-parse-events.h.
>>>>
>>>> What branch should these apply cleanly to?
>>>
>>> They are based off of v3.0. You can get these patches from my repo as
>>> described in the 0/8 announce email.
>>
>> Unfortunately I hastily deleted the 0/8 thread while on vacation last
>> week (gmail on Android thing), so I apologize for shifting the discussion.
>>
>> With a little bit of hacking on top of your patches I was able to get
>> the trace-cmd plugins working with perf. e.g.,
>> qemu-kvm 11971 [001] 30401.777391: kvm_apic_accept_irq: apicid 0
>> vec 239 (Fixed|edge)
>> qemu-kvm 11971 [001] 30401.777405: kvm_inj_virq: irq 239
>> qemu-kvm 11971 [001] 30401.777415: kvm_entry: vcpu 0
>> qemu-kvm 11971 [001] 30401.777430: kvm_exit: reason APIC_ACCESS
>> rip 0xffffffff8101dbe4 info 10b0 0
>>
>> So, what is the next step for making this a reality -- i.e., getting the
>> common code into a lib in tools?
>
> I hope. Otherwise we'll simply get stuck with a buggy format parsing in perf.

I guess to be more specific about next steps:
- should trace-cmd be moved to the tools directory in the kernel repo?
that would allow code movement to a lib directory and work to be done on
both trace-cmd and perf
- what's the conclusion about the name and path for the common parsing
code? seems like libtraceevent or libtraceparse had the fewest collisions
- should the plugin code be moved into its own directory - e.g.,
tools/lib/trace-plugins. I am working on plugin changes too (eg.,
resolving guest RIPs to symbols in the kvm plugin).

The current patch set from Steve needs some updates (in addition to what
is needed for perf to use the plugins) to handle trace-cmd and perf
differences, but this is getting far down the path.

David
--
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/