ioprio: move io priority from task_struct to io_context

This is where it belongs and then it doesn't take up space for a
process that doesn't do IO.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Jens Axboe 2008-01-24 08:52:45 +01:00
parent 91525300ba
commit fd0928df98
9 changed files with 178 additions and 122 deletions

View file

@ -2,6 +2,7 @@
#define IOPRIO_H
#include <linux/sched.h>
#include <linux/iocontext.h>
/*
* Gives us 8 prio classes with 13-bits of data for each class
@ -45,18 +46,18 @@ enum {
* the cpu scheduler nice value to an io priority
*/
#define IOPRIO_NORM (4)
static inline int task_ioprio(struct task_struct *task)
static inline int task_ioprio(struct io_context *ioc)
{
if (ioprio_valid(task->ioprio))
return IOPRIO_PRIO_DATA(task->ioprio);
if (ioprio_valid(ioc->ioprio))
return IOPRIO_PRIO_DATA(ioc->ioprio);
return IOPRIO_NORM;
}
static inline int task_ioprio_class(struct task_struct *task)
static inline int task_ioprio_class(struct io_context *ioc)
{
if (ioprio_valid(task->ioprio))
return IOPRIO_PRIO_CLASS(task->ioprio);
if (ioprio_valid(ioc->ioprio))
return IOPRIO_PRIO_CLASS(ioc->ioprio);
return IOPRIO_CLASS_BE;
}