As the task nice value is in [-20, 19] and the io priority is in [0, 7], and the convert method from niceval to ioprio is implemented with an opened code in task_nice_ioprio().
This patch move the implementation to a macro NICE_TO_IOPRIO, making it more readable and modular. Signed-off-by: Dongsheng Yang <yangds.f...@cn.fujitsu.com> --- include/linux/ioprio.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/linux/ioprio.h b/include/linux/ioprio.h index beb9ce1..0164584 100644 --- a/include/linux/ioprio.h +++ b/include/linux/ioprio.h @@ -18,6 +18,11 @@ #define ioprio_valid(mask) (IOPRIO_PRIO_CLASS((mask)) != IOPRIO_CLASS_NONE) /* + * Convert the nice value [19,-20] to io priority value [0,7]. + */ +#define NICE_TO_IOPRIO(nice) (NICE_TO_RLIMIT(nice) / 5) + +/* * These are the io priority groups as implemented by CFQ. RT is the realtime * class, it always gets premium service. BE is the best-effort scheduling * class, the default for any process. IDLE is the idle scheduling class, it @@ -52,7 +57,7 @@ enum { */ static inline int task_nice_ioprio(struct task_struct *task) { - return (task_nice(task) + 20) / 5; + return NICE_TO_IOPRIO(task_nice(task)); } /* -- 1.8.2.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/