aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2014-02-24 10:39:52 -0500
committerJens Axboe <axboe@fb.com>2014-02-24 17:46:32 -0500
commit8b4922d3173d2eee7b43be8e5caec3ab7d30feff (patch)
tree171fd625657933067d47b0ef0a29f10443a21c81 /block
parentbf36f9cfa6d3d129387b9d62f495d978ed4ade7c (diff)
block: Stop abusing csd.list for fifo_time
Block layer currently abuses rq->csd.list.next for storing fifo_time. That is a terrible hack and completely unnecessary as well. Union achieves the same space saving in a cleaner way. Signed-off-by: Jan Kara <jack@suse.cz> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Christoph Hellwig <hch@infradead.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jens Axboe <axboe@fb.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block')
-rw-r--r--block/cfq-iosched.c8
-rw-r--r--block/deadline-iosched.c8
2 files changed, 8 insertions, 8 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 744833b630c6..5873e4ada9eb 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -2367,10 +2367,10 @@ cfq_merged_requests(struct request_queue *q, struct request *rq,
2367 * reposition in fifo if next is older than rq 2367 * reposition in fifo if next is older than rq
2368 */ 2368 */
2369 if (!list_empty(&rq->queuelist) && !list_empty(&next->queuelist) && 2369 if (!list_empty(&rq->queuelist) && !list_empty(&next->queuelist) &&
2370 time_before(rq_fifo_time(next), rq_fifo_time(rq)) && 2370 time_before(next->fifo_time, rq->fifo_time) &&
2371 cfqq == RQ_CFQQ(next)) { 2371 cfqq == RQ_CFQQ(next)) {
2372 list_move(&rq->queuelist, &next->queuelist); 2372 list_move(&rq->queuelist, &next->queuelist);
2373 rq_set_fifo_time(rq, rq_fifo_time(next)); 2373 rq->fifo_time = next->fifo_time;
2374 } 2374 }
2375 2375
2376 if (cfqq->next_rq == next) 2376 if (cfqq->next_rq == next)
@@ -2814,7 +2814,7 @@ static struct request *cfq_check_fifo(struct cfq_queue *cfqq)
2814 return NULL; 2814 return NULL;
2815 2815
2816 rq = rq_entry_fifo(cfqq->fifo.next); 2816 rq = rq_entry_fifo(cfqq->fifo.next);
2817 if (time_before(jiffies, rq_fifo_time(rq))) 2817 if (time_before(jiffies, rq->fifo_time))
2818 rq = NULL; 2818 rq = NULL;
2819 2819
2820 cfq_log_cfqq(cfqq->cfqd, cfqq, "fifo=%p", rq); 2820 cfq_log_cfqq(cfqq->cfqd, cfqq, "fifo=%p", rq);
@@ -3927,7 +3927,7 @@ static void cfq_insert_request(struct request_queue *q, struct request *rq)
3927 cfq_log_cfqq(cfqd, cfqq, "insert_request"); 3927 cfq_log_cfqq(cfqd, cfqq, "insert_request");
3928 cfq_init_prio_data(cfqq, RQ_CIC(rq)); 3928 cfq_init_prio_data(cfqq, RQ_CIC(rq));
3929 3929
3930 rq_set_fifo_time(rq, jiffies + cfqd->cfq_fifo_expire[rq_is_sync(rq)]); 3930 rq->fifo_time = jiffies + cfqd->cfq_fifo_expire[rq_is_sync(rq)];
3931 list_add_tail(&rq->queuelist, &cfqq->fifo); 3931 list_add_tail(&rq->queuelist, &cfqq->fifo);
3932 cfq_add_rq_rb(rq); 3932 cfq_add_rq_rb(rq);
3933 cfqg_stats_update_io_add(RQ_CFQG(rq), cfqd->serving_group, 3933 cfqg_stats_update_io_add(RQ_CFQG(rq), cfqd->serving_group,
diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c
index 9ef66406c625..a753df2b3fc2 100644
--- a/block/deadline-iosched.c
+++ b/block/deadline-iosched.c
@@ -106,7 +106,7 @@ deadline_add_request(struct request_queue *q, struct request *rq)
106 /* 106 /*
107 * set expire time and add to fifo list 107 * set expire time and add to fifo list
108 */ 108 */
109 rq_set_fifo_time(rq, jiffies + dd->fifo_expire[data_dir]); 109 rq->fifo_time = jiffies + dd->fifo_expire[data_dir];
110 list_add_tail(&rq->queuelist, &dd->fifo_list[data_dir]); 110 list_add_tail(&rq->queuelist, &dd->fifo_list[data_dir]);
111} 111}
112 112
@@ -174,9 +174,9 @@ deadline_merged_requests(struct request_queue *q, struct request *req,
174 * and move into next position (next will be deleted) in fifo 174 * and move into next position (next will be deleted) in fifo
175 */ 175 */
176 if (!list_empty(&req->queuelist) && !list_empty(&next->queuelist)) { 176 if (!list_empty(&req->queuelist) && !list_empty(&next->queuelist)) {
177 if (time_before(rq_fifo_time(next), rq_fifo_time(req))) { 177 if (time_before(next->fifo_time, req->fifo_time)) {
178 list_move(&req->queuelist, &next->queuelist); 178 list_move(&req->queuelist, &next->queuelist);
179 rq_set_fifo_time(req, rq_fifo_time(next)); 179 req->fifo_time = next->fifo_time;
180 } 180 }
181 } 181 }
182 182
@@ -230,7 +230,7 @@ static inline int deadline_check_fifo(struct deadline_data *dd, int ddir)
230 /* 230 /*
231 * rq is expired! 231 * rq is expired!
232 */ 232 */
233 if (time_after_eq(jiffies, rq_fifo_time(rq))) 233 if (time_after_eq(jiffies, rq->fifo_time))
234 return 1; 234 return 1;
235 235
236 return 0; 236 return 0;