Sample Header Ad - 728x90

What is ionice `none: prio 0` equivalent to?

7 votes
1 answer
2796 views
The ionice manual states that: > Note that before kernel 2.6.26 a process that has not asked for an io > priority formally uses "none" as scheduling class, but the io > scheduler will treat such processes as if it were in the best effort > class. The priority within the best effort class will be dynamically > derived from the cpu nice level of the process: io_priority = > (cpu_nice + 20) / 5. > > For kernels after 2.6.26 with CFQ io scheduler a process that has not asked for an io priority inherits CPU scheduling class. The io > priority is derived from the cpu nice level of the process (same as > before kernel 2.6.26). I am post 2.6.26, but that still leaves some open questions (I'm assuming CFQ): 1. What is the inheritance mapping for the scheduled class? Does TS SCHED_OTHER = Best Effort (io class 2)? 2. When using the ionice -p command to get the value, it returns none: prio 0. However, the formula mentioned in the ionice man would suggest that the same process (cpu nice of zero) would be best-effort: prio 4 since (0 + 20) / 5 = 4. So my assumption at this point is that none: prio 0 = best-effort: prio 4, but I'm hoping someone can cite some kernel source in order to prove that this is authoritatively true.
Asked by Kyle Brandt (872 rep)
Aug 7, 2013, 05:26 PM
Last activity: Aug 9, 2025, 06:01 PM