ioprio_get - get the I/O priority of a process, process group, or user
This system call returns the I/O priority of a process, process group, or user. It takes two parameters, which and who, which specify the entity for which the I/O priority is queried. The which parameter can be set to IOPRIO_WHO_PROCESS to query a process identified by the ID passed in the who parameter, IOPRIO_WHO_PGRP to query all processes in the process group specified by the who parameter, or IOPRIO_WHO_USER to query for all processes belonging to the user specified by the who parameter. The return value contains both the I/O priority class and the I/O priority value.
The I/O priorities are used to order operations from I/O-bound processes so that I/O load on a system is distributed in an equitable manner.
int- Specifies the entity for which the I/O priority is queried.
int- Specifies the process, process group, or user ID to query.
- K - Originated from kernel-space.
- U - Originated from user space (for example, pointer to user space memory used to get it)
- TOCTOU - Vulnerable to TOCTOU (time of check, time of use)
- OPT - Optional argument - might not always be available (passed with null value)
Kprobe + Kretprobe.
To measure the I/O priority of a process, process group, or user.
To record the process ID of all processes passed to the I/O priority getter.
Example Use Case¶
The ioprio_get syscall can be used to measure the efficiency of I/O load balancing in real-world workloads in order to optimize system performance.
No known issues.
- ioprio_set - set the I/O priority of a process, process group, or user
This document was automatically generated by OpenAI and needs review. It might not be accurate and might contain errors. The authors of Tracee recommend that the user reads the "events.go" source file to understand the events and their arguments better.