Skip to content

Commit

Permalink
block: Optimize ioprio_best()
Browse files Browse the repository at this point in the history
Since ioprio_best() translates IOPRIO_CLASS_NONE into IOPRIO_CLASS_BE
and since lower numerical priority values represent a higher priority
a simple numerical comparison is sufficient.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Adam Manzanares <adam.manzanares@wdc.com>
Tested-by: Adam Manzanares <adam.manzanares@wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
  • Loading branch information
Bart Van Assche authored and axboe committed Apr 19, 2017
1 parent 0be0dee commit 9a87182
Showing 1 changed file with 1 addition and 11 deletions.
12 changes: 1 addition & 11 deletions block/ioprio.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,22 +163,12 @@ static int get_task_ioprio(struct task_struct *p)

int ioprio_best(unsigned short aprio, unsigned short bprio)
{
unsigned short aclass;
unsigned short bclass;

if (!ioprio_valid(aprio))
aprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, IOPRIO_NORM);
if (!ioprio_valid(bprio))
bprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, IOPRIO_NORM);

aclass = IOPRIO_PRIO_CLASS(aprio);
bclass = IOPRIO_PRIO_CLASS(bprio);
if (aclass == bclass)
return min(aprio, bprio);
if (aclass > bclass)
return bprio;
else
return aprio;
return min(aprio, bprio);
}

SYSCALL_DEFINE2(ioprio_get, int, which, int, who)
Expand Down

0 comments on commit 9a87182

Please sign in to comment.