Messages in this thread | | | Date | Mon, 18 Jun 2012 19:48:41 +0800 | From | Zheng Liu <> | Subject | Why does ionice(1) ban the user to set back to 'none' class? |
| |
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.
[Sorry, I don't subscribe linux-doc and linux-kernel mailing list. Please CC to me.]
1. ${linux_src}/Documentation/block/ioprio.txt.
Regards, Zheng
| |