mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 15:40:56 +07:00
cfq-iosched: reduce bit operations in cfq_choose_req()
Reduce the number of bit operations in cfq_choose_req() on average (and worst) cases. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
parent
b9f8ce0599
commit
229836bd63
@ -667,15 +667,11 @@ cfq_choose_req(struct cfq_data *cfqd, struct request *rq1, struct request *rq2,
|
||||
if (rq2 == NULL)
|
||||
return rq1;
|
||||
|
||||
if (rq_is_sync(rq1) && !rq_is_sync(rq2))
|
||||
return rq1;
|
||||
else if (rq_is_sync(rq2) && !rq_is_sync(rq1))
|
||||
return rq2;
|
||||
if ((rq1->cmd_flags & REQ_META) && !(rq2->cmd_flags & REQ_META))
|
||||
return rq1;
|
||||
else if ((rq2->cmd_flags & REQ_META) &&
|
||||
!(rq1->cmd_flags & REQ_META))
|
||||
return rq2;
|
||||
if (rq_is_sync(rq1) != rq_is_sync(rq2))
|
||||
return rq_is_sync(rq1) ? rq1 : rq2;
|
||||
|
||||
if ((rq1->cmd_flags ^ rq2->cmd_flags) & REQ_META)
|
||||
return rq1->cmd_flags & REQ_META ? rq1 : rq2;
|
||||
|
||||
s1 = blk_rq_pos(rq1);
|
||||
s2 = blk_rq_pos(rq2);
|
||||
|
Loading…
Reference in New Issue
Block a user