mdflush.bt - Trace md flush events. Uses bpftrace/eBPF.
Contents
Description
This tool traces flush events by md, the Linux multiple device driver (software RAID). The timestamp and
md device for the flush are printed. Knowing when these flushes happen can be useful for correlation
with unexplained spikes in disk latency.
This works by tracing the kernel md_flush_request() function using kernel dynamic tracing, and will need
updating to match any changes to this function.
Note that the flushes themselves are likely to originate from higher in the I/O stack, such as from the
file systems.
Since this uses BPF, only the root user can use this tool.
Examples
Trace md flush events:
# mdflush.btFields
TIME Time of the flush event (HH:MM:SS).
PID The process ID that was on-CPU when the event was issued. This may identify the cause of the flush
(eg, the "sync" command), but will often identify a kernel worker thread that was managing I/O.
COMM The command name for the PID.
DEVICE The md device name.
Name
mdflush.bt - Trace md flush events. Uses bpftrace/eBPF.
Os
Linux
Overhead
Expected to be negligible.
Requirements
CONFIG_BPF and bpftrace.
See Also
biosnoop.bt(8) USER COMMANDS 2018-09-07 mdflush.bt(8)
Source
This is from bpftrace.
https://github.com/bpftrace/bpftrace
Also look in the bpftrace distribution for a companion _examples.txt file containing example usage,
output, and commentary for this tool.
This is a bpftrace version of the bcc tool of the same name. The bcc tool may provide more options and
customizations.
https://github.com/iovisor/bcc
Stability
Unstable - in development.
Synopsis
mdflush.bt
