Commit a07405b7802691d29ab3b23bdc76ee6d006aad0b
Committed by
Jens Axboe
1 parent
316cc67d5e
Exists in
master
and in
4 other branches
cfq: Remove special treatment for metadata rqs.
There is no consistency among filesystems from what bios (or requests) are marked as being metadata. It's interesting to expose this in traces, but we shouldn't schedule the requests differently based on whether or not they're marked as being metadata. Signed-off-by: Justin TerAvest <teravest@google.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Showing 1 changed file with 0 additions and 18 deletions Side-by-side Diff
block/cfq-iosched.c
... | ... | @@ -129,8 +129,6 @@ |
129 | 129 | unsigned long slice_end; |
130 | 130 | long slice_resid; |
131 | 131 | |
132 | - /* pending metadata requests */ | |
133 | - int meta_pending; | |
134 | 132 | /* number of requests that are on the dispatch list or inside driver */ |
135 | 133 | int dispatched; |
136 | 134 | |
... | ... | @@ -670,9 +668,6 @@ |
670 | 668 | if (rq_is_sync(rq1) != rq_is_sync(rq2)) |
671 | 669 | return rq_is_sync(rq1) ? rq1 : rq2; |
672 | 670 | |
673 | - if ((rq1->cmd_flags ^ rq2->cmd_flags) & REQ_META) | |
674 | - return rq1->cmd_flags & REQ_META ? rq1 : rq2; | |
675 | - | |
676 | 671 | s1 = blk_rq_pos(rq1); |
677 | 672 | s2 = blk_rq_pos(rq2); |
678 | 673 | |
... | ... | @@ -1593,10 +1588,6 @@ |
1593 | 1588 | cfqq->cfqd->rq_queued--; |
1594 | 1589 | cfq_blkiocg_update_io_remove_stats(&(RQ_CFQG(rq))->blkg, |
1595 | 1590 | rq_data_dir(rq), rq_is_sync(rq)); |
1596 | - if (rq->cmd_flags & REQ_META) { | |
1597 | - WARN_ON(!cfqq->meta_pending); | |
1598 | - cfqq->meta_pending--; | |
1599 | - } | |
1600 | 1591 | } |
1601 | 1592 | |
1602 | 1593 | static int cfq_merge(struct request_queue *q, struct request **req, |
... | ... | @@ -3335,13 +3326,6 @@ |
3335 | 3326 | return true; |
3336 | 3327 | |
3337 | 3328 | /* |
3338 | - * So both queues are sync. Let the new request get disk time if | |
3339 | - * it's a metadata request and the current queue is doing regular IO. | |
3340 | - */ | |
3341 | - if ((rq->cmd_flags & REQ_META) && !cfqq->meta_pending) | |
3342 | - return true; | |
3343 | - | |
3344 | - /* | |
3345 | 3329 | * Allow an RT request to pre-empt an ongoing non-RT cfqq timeslice. |
3346 | 3330 | */ |
3347 | 3331 | if (cfq_class_rt(new_cfqq) && !cfq_class_rt(cfqq)) |
... | ... | @@ -3405,8 +3389,6 @@ |
3405 | 3389 | struct cfq_io_context *cic = RQ_CIC(rq); |
3406 | 3390 | |
3407 | 3391 | cfqd->rq_queued++; |
3408 | - if (rq->cmd_flags & REQ_META) | |
3409 | - cfqq->meta_pending++; | |
3410 | 3392 | |
3411 | 3393 | cfq_update_io_thinktime(cfqd, cic); |
3412 | 3394 | cfq_update_io_seektime(cfqd, cfqq, rq); |