xfs: xfs_iomap_prealloc_size() tracepoint
Add a tracepoint to provide some feedback on preallocation size calculation. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
parent
76a4202a38
commit
19cb7e3854
|
@ -518,6 +518,9 @@ check_writeio:
|
|||
if (alloc_blocks < mp->m_writeio_blocks)
|
||||
alloc_blocks = mp->m_writeio_blocks;
|
||||
|
||||
trace_xfs_iomap_prealloc_size(ip, alloc_blocks, shift,
|
||||
mp->m_writeio_blocks);
|
||||
|
||||
return alloc_blocks;
|
||||
}
|
||||
|
||||
|
|
|
@ -619,6 +619,30 @@ DECLARE_EVENT_CLASS(xfs_iref_class,
|
|||
(char *)__entry->caller_ip)
|
||||
)
|
||||
|
||||
TRACE_EVENT(xfs_iomap_prealloc_size,
|
||||
TP_PROTO(struct xfs_inode *ip, xfs_fsblock_t blocks, int shift,
|
||||
unsigned int writeio_blocks),
|
||||
TP_ARGS(ip, blocks, shift, writeio_blocks),
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(xfs_ino_t, ino)
|
||||
__field(xfs_fsblock_t, blocks)
|
||||
__field(int, shift)
|
||||
__field(unsigned int, writeio_blocks)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->dev = VFS_I(ip)->i_sb->s_dev;
|
||||
__entry->ino = ip->i_ino;
|
||||
__entry->blocks = blocks;
|
||||
__entry->shift = shift;
|
||||
__entry->writeio_blocks = writeio_blocks;
|
||||
),
|
||||
TP_printk("dev %d:%d ino 0x%llx prealloc blocks %llu shift %d "
|
||||
"m_writeio_blocks %u",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino,
|
||||
__entry->blocks, __entry->shift, __entry->writeio_blocks)
|
||||
)
|
||||
|
||||
#define DEFINE_IREF_EVENT(name) \
|
||||
DEFINE_EVENT(xfs_iref_class, name, \
|
||||
TP_PROTO(struct xfs_inode *ip, unsigned long caller_ip), \
|
||||
|
|
Loading…
Reference in New Issue