ioprio_set(2) System Calls Manual ioprio_set(2) ioprio_get, ioprio_set - / / (libc -lc) #include /* IOPRIO_* */ #include /* SYS_* */ #include int syscall(SYS_ioprio_get, int which, int who); int syscall(SYS_ioprio_set, int which, int who, int ioprio); : glibc syscall(2). ioprio_get() ioprio_set() / . which who () . which who : IOPRIO_WHO_PROCESS who . who 0 . IOPRIO_WHO_PGRP who . who 0 . IOPRIO_WHO_USER who UID . which IOPRIO_WHO_PGRP IOPRIO_WHO_USER ioprio_get() who . (IOPRIO_CLASS_RT IOPRIO_CLASS_IDLE ) ( ). ioprio ioprio_set() () . ioprio: IOPRIO_PRIO_VALUE(class, data) class (data) ioprio . IOPRIO_PRIO_CLASS(mask) mask ( ioprio) / IOPRIO_CLASS_RT IOPRIO_CLASS_BE IOPRIO_CLASS_IDLE. IOPRIO_PRIO_DATA(mask) mask ( ioprio) (data) . NOTES ioprio 0. / (O_DIRECT O_SYNC). / . ioprio_get() ioprio / which who. -1 errno . ioprio_set() 0. -1 errno . EINVAL which ioprio. NOTES ioprio. EPERM ioprio () . NOTES ioprio_set(). ESRCH () which who. . 2.6.13. /. clone(2) CLONE_IO. /. / ioprio_set() . gettid(2) clone(2). / /. 2.6.17 / (CFQ). / / nice (setpriority(2)). Linux 2.6.24 / ioprio_set() / . Linux 2.6.24 ioprio 0 / . / / /sys/block/device/queue/scheduler. / /sys. : $ cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] (sda ). . sda cfq: $ su Password: # echo cfq > /sys/block/sda/queue/scheduler / (CFQ) 3 ( CFQ Time Sliced) CFQ nice / . nice : IOPRIO_CLASS_RT (1) / . : . / : / . 8 () . 0 7. . IOPRIO_CLASS_BE (2) / . () / . nice ( getpriority(2)). . 0 () 7 (). IOPRIO_CLASS_IDLE (3) . / . . . Documentation/block/ioprio.rst / CFQ . / : / UID UID . CAP_SYS_NICE . (IOPRIO_CLASS_RT) CAP_SYS_ADMIN. Linux 2.6.24 CAP_SYS_ADMIN (IOPRIO_CLASS_IDLE) Linux 2.6.25 . ioprio_set() EPERM. glibc . linux/ioprio.h. ionice(1), getpriority(2), open(2), capabilities(7), cgroups(7) Documentation/block/ioprio.rst Linux 3 . . : . 6.18 8 2026 ioprio_set(2)