diff options
author | Jan Kara <jack@suse.cz> | 2014-02-24 10:39:52 -0500 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-02-24 17:46:32 -0500 |
commit | 8b4922d3173d2eee7b43be8e5caec3ab7d30feff (patch) | |
tree | 171fd625657933067d47b0ef0a29f10443a21c81 /block | |
parent | bf36f9cfa6d3d129387b9d62f495d978ed4ade7c (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.c | 8 | ||||
-rw-r--r-- | block/deadline-iosched.c | 8 |
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; |