On 08-05-2026 22:55, Steven Rostedt wrote:
On Wed, 06 May 2026 22:54:44 +0530
Praveen Talari <[email protected]> wrote:

+TRACE_EVENT(geni_serial_tx_data,
+           TP_PROTO(struct device *dev, const u8 *buf, unsigned int len),
+           TP_ARGS(dev, buf, len),
+
+           TP_STRUCT__entry(__string(name, dev_name(dev))
+                            __field(unsigned int, len)
+                            __dynamic_array(u8, data, len)
+           ),
+
+           TP_fast_assign(__assign_str(name);
+                          __entry->len = len;
+                          memcpy(__get_dynamic_array(data), buf, len);
+           ),
+
+           TP_printk("%s: tx_len=%u data=%s",
+                     __get_str(name), __entry->len,
+                     __print_hex(__get_dynamic_array(data), __entry->len))
+);
+
+TRACE_EVENT(geni_serial_rx_data,
+           TP_PROTO(struct device *dev, const u8 *buf, unsigned int len),
+           TP_ARGS(dev, buf, len),
+
+           TP_STRUCT__entry(__string(name, dev_name(dev))
+                            __field(unsigned int, len)
+                            __dynamic_array(u8, data, len)
+           ),
+
+           TP_fast_assign(__assign_str(name);
+                          __entry->len = len;
+                          memcpy(__get_dynamic_array(data), buf, len);
+           ),
+
+           TP_printk("%s: rx_len=%u data=%s",
Do you really need to say "tx_len" and "rx_len", could it just be "len" and
have the name of the tracepoint show what it is?
Sure. I will review and update next patch.

Each TRACE_EVENT() is really just a:

   DECLARE_EVENT_CLASS() followed by a DEFINE_EVENT()

underneath.

And each TRACE_EVENT() costs around 5K in size, where most of that is in
the DECLARE_EVENT_CLASS() portion. Thus, you can save some memory by using
DECLARE_EVENT_CLASS() and then define the above two events with
DEFINE_EVENT().

Thank you for suggestion and will update in next patch.

Thanks,

Praveen Talari


-- Steve


+                     __get_str(name), __entry->len,
+                     __print_hex(__get_dynamic_array(data), __entry->len))
+);
+

Reply via email to