Re: [RFC] Allowing modules to control tracing subsystem

From: Felipe Balbi
Date: Tue Apr 02 2019 - 01:44:47 EST



Hi,

Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> writes:
> Hi guys,
>
> I've been thinking about turning my f-trace.c USB function [1] into an
> implementation of the USB Debug Class [2]. In order to support all
> requests, I would need means to control parts of the tracing subsystem,
> for example enabling and disabling tracing, flushing the trace buffer,
> changing trace buffer size, choose which trace events to enable, etc.
>
> Some of those functions (e.g. print_trace_line()) are available for
> things like trace_kdb.c [3], but they're not available for modules;
> i.e. they're not exported symbols.
>
> This will involve a rather large change to tracing subsystem however we
> could rely on such infrastructure for remote debugging of e.g. IVIs,
> phones, etc.
>
> The USB Debug Class already predicts the presence of JTAG access and
> Hardware tracing modules to be exported over USB. It also allows for
> GDB-type access. Adding our linux kernel tracing would make it into a
> complete tracing solution.
>
> In order to fully support this we would need, not only to expose some
> internal trace functions for modules, but I suppose the trace format
> would have to be slightly better defined so that it be decoded remotely
> give access to vmlinux.
>
> What do you guys think about this? Would this be something that folks
> would be interested in? Currently we can only export ftrace data, not
> trace events or anything else. Ideally we would export raw trace buffer
> entries to be decoded at a later moment.
>
> cheers
>
> [1] https://marc.info/?i=20190321094748.7031-1-felipe.balbi@xxxxxxxxxxxxxxx
> [2] https://www.usb.org/sites/default/files/documents/usb_debug_class_rev_1_0_final_0.pdf
> [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/trace/trace_kdb.c#n20

A gentle reminder here.

--
balbi

Attachment: signature.asc
Description: PGP signature