Get desktop application:
View/edit binary Protocol Buffers messages
Used in: ,
Block-layer operation (bio / request). Scope: limited to block-layer ops synchronously caused by an in-scope FS syscall via the page layer. Reads (page-cache-miss driven), writes (writeback driven by fsync/fdatasync/sync_file_range), and device cache flushes are in scope. Discard, secure erase, write-zeroes, and zone management originate from filesystem maintenance (trim, fstrim, fallocate) or zoned-storage management, not from the in-scope FS syscalls, and are intentionally excluded. References: - Linux block layer documentation: https://www.kernel.org/doc/html/latest/block/index.html - blk-mq / multi-queue block layer: https://www.kernel.org/doc/html/latest/block/blk-mq.html - REQ_OP_* definitions (include/linux/blk_types.h): https://elixir.bootlin.com/linux/latest/source/include/linux/blk_types.h - Tracepoint definitions (block lifecycle events Q/G/I/D/C): https://elixir.bootlin.com/linux/latest/source/include/trace/events/block.h - Runtime introspection on a live kernel: /sys/kernel/debug/tracing/events/block/*/format - blktrace event semantics (Q/G/I/D/C action identifiers): https://man7.org/linux/man-pages/man8/blktrace.8.html
Used in:
Producers populate whichever of lba / nr_sectors / req_op_flags their chosen tracepoint provides; for FLUSH ops, expect nr_sectors == 0 and lba == 0 since flushes carry no data payload.
logical block address (in sectors)
REQ_* flags (REQ_SYNC, REQ_FUA, ...)
Mirrors REQ_OP_* in include/linux/blk_types.h. The op type is carried by every block lifecycle tracepoint (bi_opf & REQ_OP_MASK on the bio); it is not itself a distinct tracepoint.
Used in:
REQ_OP_READ — issued on page-cache miss inside read/pread
REQ_OP_WRITE — issued by writeback (caused by fsync/fdatasync/sync_file_range)
REQ_OP_FLUSH — device cache flush (caused by fsync/fdatasync)
Request lifecycle event at which this node was observed. See blktrace(8) and include/trace/events/block.h.
Used in:
Q — tracepoint: block:block_bio_queue (bio submitted via submit_bio)
G — tracepoint: block:block_getrq (request struct allocated)
I — tracepoint: block:block_rq_insert (added to scheduler queue)
D — tracepoint: block:block_rq_issue (handed to driver)
C — tracepoint: block:block_rq_complete (completion received)
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
byte offset within the file
bytes requested / transferred
Used in:
flush file's dirty data + metadata to device
flush dirty data (+ metadata only if needed for retrieval)
flush a specified byte range of dirty data to device
Used in:
Used in:
Used in:
Control and data dependencies
Timing information
Type-specific info.
type == STORAGE_NODE
type == DATA_OP_NODE
Used in:
Page-cache operation. Scope: limited to page-cache events that are synchronously caused by an in-scope FS syscall and that can be causally attributed back to that syscall. Background-only events (eviction outside truncate, memory-pressure reclaim) and events with no FS syscall upstream (mmap page faults) are intentionally excluded. References: - Linux memory management concepts (page cache, writeback): https://www.kernel.org/doc/html/latest/admin-guide/mm/concepts.html - Tracepoint definitions (authoritative names, fields, print formats): filemap: https://elixir.bootlin.com/linux/latest/source/include/trace/events/filemap.h writeback: https://elixir.bootlin.com/linux/latest/source/include/trace/events/writeback.h - Runtime introspection on a live kernel: /sys/kernel/debug/tracing/events/{filemap,writeback}/*/format - Readahead kprobe targets (no dedicated tracepoint; kprobed directly): page_cache_sync_ra: https://elixir.bootlin.com/linux/latest/A/ident/page_cache_sync_ra page_cache_async_ra: https://elixir.bootlin.com/linux/latest/A/ident/page_cache_async_ra
Used in:
Producers populate whichever of inode / page_index / nr_pages their chosen tracepoint provides.
backing inode when applicable
page offset within the file (PAGE_SIZE units)
number of contiguous pages affected
Used in:
tracepoint: filemap:mm_filemap_add_to_page_cache
tracepoint: writeback:writeback_dirty_folio
Two readahead variants distinguished by who triggered them. SYNC: cache-miss-driven during a read syscall — the user needs these pages now, the kernel widens the request to also prefetch ahead.
kprobe: page_cache_sync_ra
ASYNC: tripwire-driven follow-up — a previous readahead marked a page with PG_readahead; when the user touches that page, the kernel kicks off the next prefetch without blocking the user.
kprobe: page_cache_async_ra
Used in:
Used in:
Used in:
Used in:
Used in:
STORAGE_LEVEL_DEVICE: no typed detail — use Node.attr.
Layer within the storage stack at which the operation is observed.
Used in:
VFS / filesystem syscalls
page cache / mm
block layer (bio / request)
device transport (NVMe/SCSI/ATA) and below; typed schema intentionally omitted
Used in:
An unique ID for the TensorImpl object.
An unique ID for the underlying storage object.
Offset to the storage memory.
Number of elements in the storage.
Number of bytes per element.
Tensor object device location.
Used in:
Used in: