This is a simple crate for managing Linux-specific I/O priorities, which are usable with
interfaces such as
io_uring, Linux AIO, and can also be set globally for a single process or
Note that these priorities are Linux-specific, and the actual interpretation of what these
16-bit masks is only defined in
which is only available in the Linux source, despite the syscalls having documentation as man
pages. This library is based on Linux 5.10 interface and documentation, although the interface
has not changed much whatsoever since it was introduced in Linux 2.6.13.
Also, setting I/O priorities only has an effect when the Completely Fair I/O Scheduler is in use, which is the default I/O scheduler.
Refer to the ioprio_set(2) syscall man page for more information about these API:s.
I/O priority levels of the best-effort scheduling class, which range from 0-7, reversed.
An I/O priority, either associated with a class and per-class data, or the standard priority.
Real-time I/O priority levels, ranging from the numerical values 0-7, but reversed.
A priority class, being either real-time (
A target, consisting of one or more processes matching the given query.
An extension trait for
Get the I/O priority of the processes of the given target.
Set the I/O priority of the processes of the given target.