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

From: Pratyush Anand
Date: Fri Jul 14 2017 - 01:53:13 EST

Hi Felipe,

On Friday 09 June 2017 03:58 PM, Felipe Balbi wrote:
Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> 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

Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>

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.