mbox series

[0/8] usb: gadget: reduce usb gadget trace event buffer usage

Message ID 20230914100302.30274-1-quic_linyyuan@quicinc.com (mailing list archive)
Headers show
Series usb: gadget: reduce usb gadget trace event buffer usage | expand

Message

Linyu Yuan Sept. 14, 2023, 10:02 a.m. UTC
some trace event use an interger to to save a bit field info of gadget,
also some trace save endpoint name in string forat, it all can be
chagned to other way at trace event store phase.

bit field can be replace with a union interger member which include
multiple bit fields.

ep name stringe can be replace to a interger which contaion number
and dir info.

to allow trace output stage can get bit info from save interger,
add DECLARE_EVENT_CLASS_PRINT_INIT() clas which allow user defined
operation before print.

v1: https://lore.kernel.org/linux-usb/20230911042843.2711-1-quic_linyyuan@quicinc.com/
v2: fix two compile issues that COMPILE_TEST not covered
    https://lore.kernel.org/linux-usb/20230911112446.1791-1-quic_linyyuan@quicinc.com/
v3: fix reviewer comments, allow bit fields work on both little and big endian
    https://lore.kernel.org/linux-usb/20230912104455.7737-1-quic_linyyuan@quicinc.com/
v4: add DECLARE_EVENT_CLASS_PRINT_INIT() new trace class and use it

Linyu Yuan (8):
  trace: add new DECLARE_EVENT_CLASS_PRINT_INIT class type
  usb: gadget: add anonymous definition in some struct for trace purpose
  usb: udc: trace: reduce buffer usage of trace event
  usb: cdns3: trace: reduce buffer usage of trace event
  usb: dwc3: trace: reduce buffer usage of trace event
  usb: cdns2: trace: reduce buffer usage of trace event
  usb: mtu3: trace: reduce buffer usage of trace event
  usb: musb: trace: reduce buffer usage of trace event

 drivers/usb/cdns3/cdns3-trace.h            | 201 ++++++++++++++-------
 drivers/usb/cdns3/cdnsp-trace.h            | 105 +++++++----
 drivers/usb/dwc3/trace.h                   |  99 ++++++----
 drivers/usb/gadget/udc/cdns2/cdns2-trace.h | 175 ++++++++++++------
 drivers/usb/gadget/udc/trace.h             | 154 +++++++---------
 drivers/usb/mtu3/mtu3_trace.h              |  76 +++++---
 drivers/usb/musb/musb_trace.h              |  20 +-
 include/linux/tracepoint.h                 |  22 +++
 include/linux/usb/gadget.h                 | 113 +++++++-----
 include/trace/bpf_probe.h                  |   4 +
 include/trace/perf.h                       |  43 +++++
 include/trace/stages/stage3_trace_output.h |   3 +
 include/trace/trace_events.h               | 118 ++++++++++++
 13 files changed, 784 insertions(+), 349 deletions(-)

Comments

Steven Rostedt Sept. 14, 2023, 4:42 p.m. UTC | #1
On Thu, 14 Sep 2023 18:02:54 +0800
Linyu Yuan <quic_linyyuan@quicinc.com> wrote:

> some trace event use an interger to to save a bit field info of gadget,
> also some trace save endpoint name in string forat, it all can be
> chagned to other way at trace event store phase.
> 
> bit field can be replace with a union interger member which include
> multiple bit fields.
> 
> ep name stringe can be replace to a interger which contaion number
> and dir info.
> 
> to allow trace output stage can get bit info from save interger,
> add DECLARE_EVENT_CLASS_PRINT_INIT() clas which allow user defined
> operation before print.
> 
> v1: https://lore.kernel.org/linux-usb/20230911042843.2711-1-quic_linyyuan@quicinc.com/
> v2: fix two compile issues that COMPILE_TEST not covered
>     https://lore.kernel.org/linux-usb/20230911112446.1791-1-quic_linyyuan@quicinc.com/
> v3: fix reviewer comments, allow bit fields work on both little and big endian
>     https://lore.kernel.org/linux-usb/20230912104455.7737-1-quic_linyyuan@quicinc.com/
> v4: add DECLARE_EVENT_CLASS_PRINT_INIT() new trace class and use it
> 

All these changes make it useless for user space. :-(

-- Steve

> Linyu Yuan (8):
>   trace: add new DECLARE_EVENT_CLASS_PRINT_INIT class type
>   usb: gadget: add anonymous definition in some struct for trace purpose
>   usb: udc: trace: reduce buffer usage of trace event
>   usb: cdns3: trace: reduce buffer usage of trace event
>   usb: dwc3: trace: reduce buffer usage of trace event
>   usb: cdns2: trace: reduce buffer usage of trace event
>   usb: mtu3: trace: reduce buffer usage of trace event
>   usb: musb: trace: reduce buffer usage of trace event
> 
>  drivers/usb/cdns3/cdns3-trace.h            | 201 ++++++++++++++-------
>  drivers/usb/cdns3/cdnsp-trace.h            | 105 +++++++----
>  drivers/usb/dwc3/trace.h                   |  99 ++++++----
>  drivers/usb/gadget/udc/cdns2/cdns2-trace.h | 175 ++++++++++++------
>  drivers/usb/gadget/udc/trace.h             | 154 +++++++---------
>  drivers/usb/mtu3/mtu3_trace.h              |  76 +++++---
>  drivers/usb/musb/musb_trace.h              |  20 +-
>  include/linux/tracepoint.h                 |  22 +++
>  include/linux/usb/gadget.h                 | 113 +++++++-----
>  include/trace/bpf_probe.h                  |   4 +
>  include/trace/perf.h                       |  43 +++++
>  include/trace/stages/stage3_trace_output.h |   3 +
>  include/trace/trace_events.h               | 118 ++++++++++++
>  13 files changed, 784 insertions(+), 349 deletions(-)
>