mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 06:43:09 +00:00
xfs: pass the pag to the trace_xrep_calc_ag_resblks{,_btsize} trace points
This requires holding the pag refcount a little longer, but allows for the decoding to only happen when tracing is actually enabled, and cleans up the callsites a bit. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
parent
618a27a94d
commit
934dde65b2
@ -331,10 +331,8 @@ xrep_calc_ag_resblks(
|
||||
freelen = aglen;
|
||||
usedlen = aglen;
|
||||
}
|
||||
xfs_perag_put(pag);
|
||||
|
||||
trace_xrep_calc_ag_resblks(mp, sm->sm_agno, icount, aglen,
|
||||
freelen, usedlen);
|
||||
trace_xrep_calc_ag_resblks(pag, icount, aglen, freelen, usedlen);
|
||||
|
||||
/*
|
||||
* Figure out how many blocks we'd need worst case to rebuild
|
||||
@ -372,8 +370,9 @@ xrep_calc_ag_resblks(
|
||||
rmapbt_sz = 0;
|
||||
}
|
||||
|
||||
trace_xrep_calc_ag_resblks_btsize(mp, sm->sm_agno, bnobt_sz,
|
||||
inobt_sz, rmapbt_sz, refcbt_sz);
|
||||
trace_xrep_calc_ag_resblks_btsize(pag, bnobt_sz, inobt_sz, rmapbt_sz,
|
||||
refcbt_sz);
|
||||
xfs_perag_put(pag);
|
||||
|
||||
return max(max(bnobt_sz, inobt_sz), max(rmapbt_sz, refcbt_sz));
|
||||
}
|
||||
|
@ -2189,10 +2189,10 @@ TRACE_EVENT(xrep_findroot_block,
|
||||
__entry->level)
|
||||
)
|
||||
TRACE_EVENT(xrep_calc_ag_resblks,
|
||||
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno,
|
||||
xfs_agino_t icount, xfs_agblock_t aglen, xfs_agblock_t freelen,
|
||||
TP_PROTO(const struct xfs_perag *pag, xfs_agino_t icount,
|
||||
xfs_agblock_t aglen, xfs_agblock_t freelen,
|
||||
xfs_agblock_t usedlen),
|
||||
TP_ARGS(mp, agno, icount, aglen, freelen, usedlen),
|
||||
TP_ARGS(pag, icount, aglen, freelen, usedlen),
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(xfs_agnumber_t, agno)
|
||||
@ -2202,8 +2202,8 @@ TRACE_EVENT(xrep_calc_ag_resblks,
|
||||
__field(xfs_agblock_t, usedlen)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->dev = mp->m_super->s_dev;
|
||||
__entry->agno = agno;
|
||||
__entry->dev = pag->pag_mount->m_super->s_dev;
|
||||
__entry->agno = pag->pag_agno;
|
||||
__entry->icount = icount;
|
||||
__entry->aglen = aglen;
|
||||
__entry->freelen = freelen;
|
||||
@ -2218,10 +2218,10 @@ TRACE_EVENT(xrep_calc_ag_resblks,
|
||||
__entry->usedlen)
|
||||
)
|
||||
TRACE_EVENT(xrep_calc_ag_resblks_btsize,
|
||||
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno,
|
||||
xfs_agblock_t bnobt_sz, xfs_agblock_t inobt_sz,
|
||||
xfs_agblock_t rmapbt_sz, xfs_agblock_t refcbt_sz),
|
||||
TP_ARGS(mp, agno, bnobt_sz, inobt_sz, rmapbt_sz, refcbt_sz),
|
||||
TP_PROTO(const struct xfs_perag *pag, xfs_agblock_t bnobt_sz,
|
||||
xfs_agblock_t inobt_sz, xfs_agblock_t rmapbt_sz,
|
||||
xfs_agblock_t refcbt_sz),
|
||||
TP_ARGS(pag, bnobt_sz, inobt_sz, rmapbt_sz, refcbt_sz),
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(xfs_agnumber_t, agno)
|
||||
@ -2231,8 +2231,8 @@ TRACE_EVENT(xrep_calc_ag_resblks_btsize,
|
||||
__field(xfs_agblock_t, refcbt_sz)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->dev = mp->m_super->s_dev;
|
||||
__entry->agno = agno;
|
||||
__entry->dev = pag->pag_mount->m_super->s_dev;
|
||||
__entry->agno = pag->pag_agno;
|
||||
__entry->bnobt_sz = bnobt_sz;
|
||||
__entry->inobt_sz = inobt_sz;
|
||||
__entry->rmapbt_sz = rmapbt_sz;
|
||||
|
Loading…
Reference in New Issue
Block a user