Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1687078 > unrolled thread

Re: [PATCH] usb: gadget: functions: add ftrace export over USB

Started byPratyush Anand <panand@redhat.com>
First post2017-07-14 08:00 +0200
Last post2017-07-14 23:50 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] usb: gadget: functions: add ftrace export over USB Pratyush Anand <panand@redhat.com> - 2017-07-14 08:00 +0200
    Re: [PATCH] usb: gadget: functions: add ftrace export over USB Felipe Balbi <felipe.balbi@linux.intel.com> - 2017-07-14 09:00 +0200
    Re: [PATCH] usb: gadget: functions: add ftrace export over USB Steven Rostedt <rostedt@goodmis.org> - 2017-07-14 23:50 +0200

#1687078 — Re: [PATCH] usb: gadget: functions: add ftrace export over USB

FromPratyush Anand <panand@redhat.com>
Date2017-07-14 08:00 +0200
SubjectRe: [PATCH] usb: gadget: functions: add ftrace export over USB
Message-ID<u31NU-7vg-15@gated-at.bofh.it>
Hi Felipe,

On Friday 09 June 2017 03:58 PM, Felipe Balbi wrote:
> Felipe Balbi <felipe.balbi@linux.intel.com> writes:
>
>> Allow for ftrace data to be exported over a USB Gadget
>> Controller. With this, we have a potentially very fast pipe for
>> transmitting ftrace data to a Host PC for further analysis.
>>
>> Note that in order to decode the data, one needs access to kernel
>> symbols in order to convert binary data into function names and what
>> not.
>>
>> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
>> ---
>>
>> I wanted to take this through the gadget tree, but there is a
>> dependency with a previous patch of mine adding and extra argument to
>> the ->write() function. Hoping someone else will take it.
>
> just as an extra note here. In order for this to be really useful, it
> would be nice to be able to control what is going to be traced over USB

Probably you will also need to export *atleast* symbol information. In future, 
if this framework is extended to export tracepoint/kprobe/uprobe event data, 
then the information like event format etc will also need to be exported.

What tool do you use on host machine in order to extract information from this 
exported target ring buffer data?
IMHO, standard tools like trace-cmd will not be able to use it as it is.

> as well, but that means exporting a few extra functions to GPL drivers.
>
> Would that be okay? I could have a set of vendor-specific control
> requests to set buffer size and to read/write ftrace filter functions.
>
> The idea is that things like e.g. Android SDK could rely on this on
> debug builds and the SDK itself would make sure to keep a copy of
> vmlinux around to processing of the data coming through USB.
>

--
Pratyush

[toc] | [next] | [standalone]


#1687115

FromFelipe Balbi <felipe.balbi@linux.intel.com>
Date2017-07-14 09:00 +0200
Message-ID<u32JY-88H-13@gated-at.bofh.it>
In reply to#1687078

[Multipart message — attachments visible in raw view] — view raw

Hi,

Pratyush Anand <panand@redhat.com> writes:
> On Friday 09 June 2017 03:58 PM, Felipe Balbi wrote:
>> Felipe Balbi <felipe.balbi@linux.intel.com> writes:
>>
>>> Allow for ftrace data to be exported over a USB Gadget
>>> Controller. With this, we have a potentially very fast pipe for
>>> transmitting ftrace data to a Host PC for further analysis.
>>>
>>> Note that in order to decode the data, one needs access to kernel
>>> symbols in order to convert binary data into function names and what
>>> not.
>>>
>>> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
>>> ---
>>>
>>> I wanted to take this through the gadget tree, but there is a
>>> dependency with a previous patch of mine adding and extra argument to
>>> the ->write() function. Hoping someone else will take it.
>>
>> just as an extra note here. In order for this to be really useful, it
>> would be nice to be able to control what is going to be traced over USB
>
> Probably you will also need to export *atleast* symbol information. In future, 

just keep your vmlinux around. This is not supposed to be shipped on end
products, only debug builds.

> if this framework is extended to export tracepoint/kprobe/uprobe event data, 
> then the information like event format etc will also need to be exported.
>
> What tool do you use on host machine in order to extract information from this 
> exported target ring buffer data?
> IMHO, standard tools like trace-cmd will not be able to use it as it is.

I hacked something together with libusb for testing. Proper tooling is
needed, indeed.

-- 
balbi

[toc] | [prev] | [next] | [standalone]


#1687685

FromSteven Rostedt <rostedt@goodmis.org>
Date2017-07-14 23:50 +0200
Message-ID<u3gDg-Ox-23@gated-at.bofh.it>
In reply to#1687078
On Fri, 14 Jul 2017 11:22:51 +0530
Pratyush Anand <panand@redhat.com> wrote:

> Hi Felipe,
> 
> On Friday 09 June 2017 03:58 PM, Felipe Balbi wrote:
> > Felipe Balbi <felipe.balbi@linux.intel.com> writes:
> >  
> >> Allow for ftrace data to be exported over a USB Gadget
> >> Controller. With this, we have a potentially very fast pipe for
> >> transmitting ftrace data to a Host PC for further analysis.
> >>
> >> Note that in order to decode the data, one needs access to kernel
> >> symbols in order to convert binary data into function names and what
> >> not.
> >>
> >> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
> >> ---
> >>
> >> I wanted to take this through the gadget tree, but there is a
> >> dependency with a previous patch of mine adding and extra argument to
> >> the ->write() function. Hoping someone else will take it.  
> >
> > just as an extra note here. In order for this to be really useful, it
> > would be nice to be able to control what is going to be traced over USB  
> 
> Probably you will also need to export *atleast* symbol information. In future, 
> if this framework is extended to export tracepoint/kprobe/uprobe event data, 
> then the information like event format etc will also need to be exported.
> 
> What tool do you use on host machine in order to extract information from this 
> exported target ring buffer data?
> IMHO, standard tools like trace-cmd will not be able to use it as it is.
>

Have you looked at how trace-cmd does network transfers? Perhaps this
can do something similar. I'm also working on having trace-cmd work
through sockets for guest to host tracing.

See trace-cmd listen.

-- Steve

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web