PROBE::IOBLOCK_TRACE.BOUNCE(3stap)
π PROBE::IOBLOCK_TRACE.BOUNCE π
okay bestie, gather round, because we're reading a SystemTap Tapset Reference page β that's the 3stap manual, section 3, tapset pages β and this one is filed under IO Scheduler and block IO Taps. It's giving kernel-nerd royalty, no cap. π
β¨ NAME β¨
probe::ioblock_trace.bounce β fires whenever a buffer bounce is needed for at least one page of a block IO request.
literally the moment the kernel is like "hm, this buffer needs to bounce" and it happens for even one single page of a block IO request. one page. that's all it takes. π
πΈ SYNOPSIS πΈ
probe ioblock_trace.bounce {}
that's it. no arguments, no nothing. she's lowkey minimalist. π
π¦ VALUES π¦
all the little goodies this probe hands you when she fires:
qβ the request queue on which this bio was queued.sizeβ total size in bytes.p_start_sectβ points to the start sector of the partition structure of the device.inoβ i-node number of the mapped file.bytes_doneβ number of bytes transferred.nameβ name of the probe point.vcntβ bio vector count, which represents the number of array elements (page, offset, length) that make up this I/O request.bdev_containsβ points to the device object which contains the partition (when the bio structure represents a partition).devnameβ device for which a buffer bounce was needed.idxβ offset into the bio vector arrayphys_segments- number of segments in this bio after physical address coalescing is performed.sectorβ beginning sector for the entire bio.rwβ binary trace for read/write request.flagsβ see below πBIO_UPTODATE0 β ok after I/O completionBIO_RW_BLOCK1 βRW_AHEADset, and read/write would blockBIO_EOF2 β out-out-bounds errorBIO_SEG_VALID3 βnr_hw_segvalidBIO_CLONED4 β doesn't own dataBIO_BOUNCED5 β bio is a bounce bioBIO_USER_MAPPED6 β contains user pagesBIO_EOPNOTSUPP7 β not supported
bdevβ target block device.opfβ operations and flags.
ok the flags bit is a whole mood board of bio states β memorise those numbers, bestie, they're doing numbers. π₯
π CONTEXT π
The process creating a block IO request.
(yes, that's the whole thing. she's concise. main character energy.) β¨
π SEE ALSO π
and that's the whole page, periodt. this was SystemTap Tapset Reference, Version, September 2026 β so like, mark your calendar, it's a whole era. π«ΆππΈ
π¦ where this page comes from
- centos-stream 10: systemtap-client 5.6-3.el10 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- centos-stream 9: systemtap-client 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 43: systemtap-client 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 44: systemtap-client 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms