include/trace/events/block.h
Source file repositories/reference/linux-study-clean/include/trace/events/block.h
File Facts
- System
- Linux kernel
- Corpus path
include/trace/events/block.h- Extension
.h- Size
- 20153 bytes
- Lines
- 744
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/blktrace_api.hlinux/blkdev.hlinux/buffer_head.hlinux/tracepoint.huapi/linux/ioprio.htrace/define_trace.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
if (__entry->is_reserved) {
__entry->nr_tags = is_sched_tag ?
hctx->sched_tags->nr_reserved_tags :
hctx->tags->nr_reserved_tags;
} else {
if (is_sched_tag)
__entry->nr_tags = hctx->sched_tags->nr_tags -
hctx->sched_tags->nr_reserved_tags;
else
__entry->nr_tags = hctx->tags->nr_tags -
hctx->tags->nr_reserved_tags;
}
),
TP_printk("%d,%d hctx=%u starved on %s%s tags (depth=%u)",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->hctx_id,
__entry->is_sched_tag ? "scheduler" : "hardware",
__entry->is_reserved ? " reserved" : "",
__entry->nr_tags)
);
/**
* block_rq_insert - insert block operation request into queue
* @rq: block IO operation request
*
* Called immediately before block operation request @rq is inserted
* into queue @q. The fields in the operation request @rq struct can
* be examined to determine which device and sectors the pending
* operation would access.
*/
DEFINE_EVENT(block_rq, block_rq_insert,
TP_PROTO(struct request *rq),
TP_ARGS(rq)
);
/**
* block_rq_issue - issue pending block IO request operation to device driver
* @rq: block IO operation request
*
* Called when block operation request @rq from queue @q is sent to a
* device driver for processing.
*/
DEFINE_EVENT(block_rq, block_rq_issue,
TP_PROTO(struct request *rq),
TP_ARGS(rq)
);
/**
* block_rq_merge - merge request with another one in the elevator
* @rq: block IO operation request
*
* Called when block operation request @rq from queue @q is merged to another
* request queued in the elevator.
*/
DEFINE_EVENT(block_rq, block_rq_merge,
TP_PROTO(struct request *rq),
TP_ARGS(rq)
);
/**
* block_io_start - insert a request for execution
* @rq: block IO operation request
*
* Called when block operation request @rq is queued for execution
*/
DEFINE_EVENT(block_rq, block_io_start,
TP_PROTO(struct request *rq),
TP_ARGS(rq)
);
/**
* block_io_done - block IO operation request completed
* @rq: block IO operation request
*
* Called when block operation request @rq is completed
*/
DEFINE_EVENT(block_rq, block_io_done,
TP_PROTO(struct request *rq),
Annotation
- Immediate include surface: `linux/blktrace_api.h`, `linux/blkdev.h`, `linux/buffer_head.h`, `linux/tracepoint.h`, `uapi/linux/ioprio.h`, `trace/define_trace.h`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.