as-iosched: fix write batch start point
New write batches currently start from where the last one completed. We have no idea where the head is after switching batches, so this makes little sense. Instead, start the next batch from the request with the earliest deadline in the hope that we avoid a deadline expiry later on. Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au> Acked-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
8896f3c039
commit
49565124b1
1 changed files with 2 additions and 1 deletions
|
@ -1097,7 +1097,8 @@ static int as_dispatch_request(struct request_queue *q, int force)
|
|||
ad->batch_data_dir = REQ_ASYNC;
|
||||
ad->current_write_count = ad->write_batch_count;
|
||||
ad->write_batch_idled = 0;
|
||||
rq = ad->next_rq[ad->batch_data_dir];
|
||||
rq = rq_entry_fifo(ad->fifo_list[REQ_ASYNC].next);
|
||||
ad->last_check_fifo[REQ_ASYNC] = jiffies;
|
||||
goto dispatch_request;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue