1154
#define XFS_BUSY_SYNC \
1158
TRACE_EVENT(xfs_alloc_busy,
1159
TP_PROTO(struct xfs_trans *trans, xfs_agnumber_t agno,
1160
xfs_agblock_t agbno, xfs_extlen_t len, int sync),
1161
TP_ARGS(trans, agno, agbno, len, sync),
1164
__field(struct xfs_trans *, tp)
1166
__field(xfs_agnumber_t, agno)
1167
__field(xfs_agblock_t, agbno)
1168
__field(xfs_extlen_t, len)
1172
__entry->dev = trans->t_mountp->m_super->s_dev;
1173
__entry->tp = trans;
1174
__entry->tid = trans->t_ticket->t_tid;
1175
__entry->agno = agno;
1176
__entry->agbno = agbno;
1178
__entry->sync = sync;
1180
TP_printk("dev %d:%d trans 0x%p tid 0x%x agno %u agbno %u len %u %s",
1181
MAJOR(__entry->dev), MINOR(__entry->dev),
1187
__print_symbolic(__entry->sync, XFS_BUSY_SYNC))
1191
TRACE_EVENT(xfs_alloc_unbusy,
1154
DECLARE_EVENT_CLASS(xfs_busy_class,
1192
1155
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno,
1193
1156
xfs_agblock_t agbno, xfs_extlen_t len),
1194
1157
TP_ARGS(mp, agno, agbno, len),
1210
1173
__entry->agbno,
1214
#define XFS_BUSY_STATES \
1218
TRACE_EVENT(xfs_alloc_busysearch,
1176
#define DEFINE_BUSY_EVENT(name) \
1177
DEFINE_EVENT(xfs_busy_class, name, \
1178
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, \
1179
xfs_agblock_t agbno, xfs_extlen_t len), \
1180
TP_ARGS(mp, agno, agbno, len))
1181
DEFINE_BUSY_EVENT(xfs_alloc_busy);
1182
DEFINE_BUSY_EVENT(xfs_alloc_busy_enomem);
1183
DEFINE_BUSY_EVENT(xfs_alloc_busy_force);
1184
DEFINE_BUSY_EVENT(xfs_alloc_busy_reuse);
1185
DEFINE_BUSY_EVENT(xfs_alloc_busy_clear);
1187
TRACE_EVENT(xfs_alloc_busy_trim,
1219
1188
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno,
1220
xfs_agblock_t agbno, xfs_extlen_t len, int found),
1221
TP_ARGS(mp, agno, agbno, len, found),
1189
xfs_agblock_t agbno, xfs_extlen_t len,
1190
xfs_agblock_t tbno, xfs_extlen_t tlen),
1191
TP_ARGS(mp, agno, agbno, len, tbno, tlen),
1222
1192
TP_STRUCT__entry(
1223
1193
__field(dev_t, dev)
1224
1194
__field(xfs_agnumber_t, agno)
1225
1195
__field(xfs_agblock_t, agbno)
1226
1196
__field(xfs_extlen_t, len)
1197
__field(xfs_agblock_t, tbno)
1198
__field(xfs_extlen_t, tlen)
1229
1200
TP_fast_assign(
1230
1201
__entry->dev = mp->m_super->s_dev;
1231
1202
__entry->agno = agno;
1232
1203
__entry->agbno = agbno;
1233
1204
__entry->len = len;
1234
__entry->found = found;
1205
__entry->tbno = tbno;
1206
__entry->tlen = tlen;
1236
TP_printk("dev %d:%d agno %u agbno %u len %u %s",
1208
TP_printk("dev %d:%d agno %u agbno %u len %u tbno %u tlen %u",
1237
1209
MAJOR(__entry->dev), MINOR(__entry->dev),
1239
1211
__entry->agbno,
1241
__print_symbolic(__entry->found, XFS_BUSY_STATES))
1244
1217
TRACE_EVENT(xfs_trans_commit_lsn,
1433
1406
DEFINE_ALLOC_EVENT(xfs_alloc_near_greater);
1434
1407
DEFINE_ALLOC_EVENT(xfs_alloc_near_lesser);
1435
1408
DEFINE_ALLOC_EVENT(xfs_alloc_near_error);
1409
DEFINE_ALLOC_EVENT(xfs_alloc_near_noentry);
1410
DEFINE_ALLOC_EVENT(xfs_alloc_near_busy);
1436
1411
DEFINE_ALLOC_EVENT(xfs_alloc_size_neither);
1437
1412
DEFINE_ALLOC_EVENT(xfs_alloc_size_noentry);
1438
1413
DEFINE_ALLOC_EVENT(xfs_alloc_size_nominleft);
1439
1414
DEFINE_ALLOC_EVENT(xfs_alloc_size_done);
1440
1415
DEFINE_ALLOC_EVENT(xfs_alloc_size_error);
1416
DEFINE_ALLOC_EVENT(xfs_alloc_size_busy);
1441
1417
DEFINE_ALLOC_EVENT(xfs_alloc_small_freelist);
1442
1418
DEFINE_ALLOC_EVENT(xfs_alloc_small_notenough);
1443
1419
DEFINE_ALLOC_EVENT(xfs_alloc_small_done);