Why do we use cpu nice priority for ioprio?

From: Justin TerAvest
Date: Thu Mar 24 2011 - 22:39:18 EST


It's not clear why the cpu nice value should be mapped to the ioprio
for a task when none is picked.

Internally, at cfq_init_prio_data(), we just set:
ioprio = IOPRIO_NORM;
ioprio_class = IOPRIO_CLASS_BE;
if ioprio_class is IOPRIO_CLASS_NONE.


The problem is that today, SCHED_RR and SCHED_FIFO threads
automatically get bumped up to RT class. This all happens behind the
curtains and the io_class of the thread is still shown as NONE with
sys_ioprio_get(). What's the motivation behind this promotion of
ioprio class?

I'd be happy to send a patch to change the behavior, but I'm curious
why the code promotes based on task nice values today.

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/