Chapter 7. IO Scheduler and block IO Tapset

Table of Contents

ioscheduler.elv_next_request - Fires when a request is retrieved from the request queue
ioscheduler.elv_next_request.return - Fires when a request retrieval issues a return signal
ioscheduler.elv_add_request.kp - kprobe based probe to indicate that a request was added to the request queue
ioscheduler.elv_completed_request - Fires when a request is completed
ioscheduler.elv_add_request.tp - tracepoint based probe to indicate a request is added to the request queue.
ioscheduler.elv_add_request - probe to indicate request is added to the request queue.
ioscheduler_trace.elv_completed_request - Fires when a request is
ioscheduler_trace.elv_issue_request - Fires when a request is
ioscheduler_trace.elv_requeue_request - Fires when a request is
ioscheduler_trace.elv_abort_request - Fires when a request is aborted.
ioscheduler_trace.plug - Fires when a request queue is plugged;
ioscheduler_trace.unplug_io - Fires when a request queue is unplugged;
ioscheduler_trace.unplug_timer - Fires when unplug timer associated
ioblock.request - Fires whenever making a generic block I/O request.
ioblock.end - Fires whenever a block I/O transfer is complete.
ioblock_trace.bounce - Fires whenever a buffer bounce is needed for at least one page of a block IO request.
ioblock_trace.request - Fires just as a generic block I/O request is created for a bio.
ioblock_trace.end - Fires whenever a block I/O transfer is complete.

This family of probe points is used to probe block IO layer and IO scheduler activities. It contains the following probe points: