On 06/18/2012 06:48 AM, Zheng Liu wrote: > Hi Jens, > > I meet a problem when I use ionice(1) to adjust a process's io priority. > I do the following operations: > > $ ionice -p${pid} > none: prio 0 > $ ionice -p${pid} -c2 -n4 > $ ionice -p${pid} > best-effort: prio 4 > $ ionice -p${pid} -c0 -n0 > $ ionice -p${pid} > best-effort: prio 0 > > So I cannot set scheduling class back to 'none'. If I call ioprio_set(2) > directly, it will be fine. But if I use ionice(1), I cannot change it. I > read the docs about ionice in [1]. I notice this code: > > switch (ioprio_class) { > case IOPRIO_CLASS_NONE: > ioprio_class = IOPRIO_CLASS_BE; > ^^^^^^^^^^^^^^^^ > *It means that we cannot set back to none.* > break; > case IOPRIO_CLASS_RT: > case IOPRIO_CLASS_BE: > break; > case IOPRIO_CLASS_IDLE: > ioprio = 7; > break; > default: > printf("bad prio class %d\n", ioprio_class); > return 1; > } > > My question is why we need to ban the user to set back to 'none'. Is there > some reasons? Thank you. Since I'm CC'd, I'll explicitly say I haven't a clue why it does this. Rob -- GNU/Linux isn't: Linux=GPLv2, GNU=GPLv3+, they can't share code. Either it's "mere aggregation", or a license violation. Pick one. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html