Re: [External Mail]Re: [PATCH v8] dma-buf: add some tracepoints to debug.
From: Steven Rostedt <rostedt@goodmis.org>
Date: 2025-12-22 17:03:22
Also in:
dri-devel, linux-media, lkml
On Mon, 22 Dec 2025 01:41:28 +0000 高翔 [off-list ref] wrote:
quoted
there was some whitespace issues with the macro.I check the patch with checkpatch.pl, couldn't find whitespace issues.
quoted
+DECLARE_EVENT_CLASS(dma_buf, + + TP_PROTO(struct dma_buf *dmabuf), + + TP_ARGS(dmabuf), + + TP_STRUCT__entry( + __string(exp_name, dmabuf->exp_name) + __field(size_t, size) + __field(ino_t, ino) + ),
These don't follow checkpatch recommendations for whitespace, because they
are "special". Please update these to look more like a structure:
TP_STRUCT__entry(
__string( exp_name, dmabuf->exp_name)
__field( size_t, size)
__field( ino_t, ino)
),
quoted
+ + TP_fast_assign( + __assign_str(exp_name); + __entry->size = dmabuf->size; + __entry->ino = dmabuf->file->f_inode->i_ino; + ), + + TP_printk("exp_name=%s size=%zu ino=%lu", + __get_str(exp_name), + __entry->size, + __entry->ino) +); + +DECLARE_EVENT_CLASS(dma_buf_attach_dev, + + TP_PROTO(struct dma_buf *dmabuf, struct dma_buf_attachment *attach, + bool is_dynamic, struct device *dev), + + TP_ARGS(dmabuf, attach, is_dynamic, dev), + + TP_STRUCT__entry( + __string(dev_name, dev_name(dev)) + __string(exp_name, dmabuf->exp_name) + __field(size_t, size) + __field(ino_t, ino) + __field(struct dma_buf_attachment *, attach) + __field(bool, is_dynamic) + ),
Same here too:
TP_STRUCT__entry(
__string( dev_name, dev_name(dev))
__string( exp_name, dmabuf->exp_name)
__field( size_t, size)
__field( ino_t, ino)
__field( struct dma_buf_attachment *, attach)
__field( bool, is_dynamic)
),
quoted
+ + TP_fast_assign( + __assign_str(dev_name); + __assign_str(exp_name); + __entry->size = dmabuf->size; + __entry->ino = dmabuf->file->f_inode->i_ino; + __entry->is_dynamic = is_dynamic; + __entry->attach = attach; + ), + + TP_printk("exp_name=%s size=%zu ino=%lu attachment:%p is_dynamic=%d dev_name=%s", + __get_str(exp_name), + __entry->size, + __entry->ino, + __entry->attach, + __entry->is_dynamic, + __get_str(dev_name)) +); + +DECLARE_EVENT_CLASS(dma_buf_fd, + + TP_PROTO(struct dma_buf *dmabuf, int fd), + + TP_ARGS(dmabuf, fd), + + TP_STRUCT__entry( + __string(exp_name, dmabuf->exp_name) + __field(size_t, size) + __field(ino_t, ino) + __field(int, fd) + ),
And the above. -- Steve
quoted
+ + TP_fast_assign( + __assign_str(exp_name); + __entry->size = dmabuf->size; + __entry->ino = dmabuf->file->f_inode->i_ino; + __entry->fd = fd; + ), + + TP_printk("exp_name=%s size=%zu ino=%lu fd=%d", + __get_str(exp_name), + __entry->size, + __entry->ino, + __entry->fd) +); +