cfq-iosched: don't pass unused preemption variable around
We don't use it anymore in the slice expiry handling. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
edd75ffd92
commit
6084cdda0e
1 changed files with 13 additions and 15 deletions
|
@ -752,7 +752,7 @@ __cfq_set_active_queue(struct cfq_data *cfqd, struct cfq_queue *cfqq)
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
__cfq_slice_expired(struct cfq_data *cfqd, struct cfq_queue *cfqq,
|
__cfq_slice_expired(struct cfq_data *cfqd, struct cfq_queue *cfqq,
|
||||||
int preempted, int timed_out)
|
int timed_out)
|
||||||
{
|
{
|
||||||
if (cfq_cfqq_wait_request(cfqq))
|
if (cfq_cfqq_wait_request(cfqq))
|
||||||
del_timer(&cfqd->idle_slice_timer);
|
del_timer(&cfqd->idle_slice_timer);
|
||||||
|
@ -761,8 +761,7 @@ __cfq_slice_expired(struct cfq_data *cfqd, struct cfq_queue *cfqq,
|
||||||
cfq_clear_cfqq_wait_request(cfqq);
|
cfq_clear_cfqq_wait_request(cfqq);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* store what was left of this slice, if the queue idled out
|
* store what was left of this slice, if the queue idled/timed out
|
||||||
* or was preempted
|
|
||||||
*/
|
*/
|
||||||
if (timed_out && !cfq_cfqq_slice_new(cfqq))
|
if (timed_out && !cfq_cfqq_slice_new(cfqq))
|
||||||
cfqq->slice_resid = cfqq->slice_end - jiffies;
|
cfqq->slice_resid = cfqq->slice_end - jiffies;
|
||||||
|
@ -780,13 +779,12 @@ __cfq_slice_expired(struct cfq_data *cfqd, struct cfq_queue *cfqq,
|
||||||
cfqd->dispatch_slice = 0;
|
cfqd->dispatch_slice = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void cfq_slice_expired(struct cfq_data *cfqd, int preempted,
|
static inline void cfq_slice_expired(struct cfq_data *cfqd, int timed_out)
|
||||||
int timed_out)
|
|
||||||
{
|
{
|
||||||
struct cfq_queue *cfqq = cfqd->active_queue;
|
struct cfq_queue *cfqq = cfqd->active_queue;
|
||||||
|
|
||||||
if (cfqq)
|
if (cfqq)
|
||||||
__cfq_slice_expired(cfqd, cfqq, preempted, timed_out);
|
__cfq_slice_expired(cfqd, cfqq, timed_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -995,7 +993,7 @@ static struct cfq_queue *cfq_select_queue(struct cfq_data *cfqd)
|
||||||
}
|
}
|
||||||
|
|
||||||
expire:
|
expire:
|
||||||
cfq_slice_expired(cfqd, 0, 0);
|
cfq_slice_expired(cfqd, 0);
|
||||||
new_queue:
|
new_queue:
|
||||||
cfqq = cfq_set_active_queue(cfqd);
|
cfqq = cfq_set_active_queue(cfqd);
|
||||||
keep_queue:
|
keep_queue:
|
||||||
|
@ -1049,7 +1047,7 @@ __cfq_dispatch_requests(struct cfq_data *cfqd, struct cfq_queue *cfqq,
|
||||||
cfqd->dispatch_slice >= cfq_prio_to_maxrq(cfqd, cfqq)) ||
|
cfqd->dispatch_slice >= cfq_prio_to_maxrq(cfqd, cfqq)) ||
|
||||||
cfq_class_idle(cfqq))) {
|
cfq_class_idle(cfqq))) {
|
||||||
cfqq->slice_end = jiffies + 1;
|
cfqq->slice_end = jiffies + 1;
|
||||||
cfq_slice_expired(cfqd, 0, 0);
|
cfq_slice_expired(cfqd, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return dispatched;
|
return dispatched;
|
||||||
|
@ -1083,7 +1081,7 @@ static int cfq_forced_dispatch(struct cfq_data *cfqd)
|
||||||
dispatched += __cfq_forced_dispatch_cfqq(cfqq);
|
dispatched += __cfq_forced_dispatch_cfqq(cfqq);
|
||||||
}
|
}
|
||||||
|
|
||||||
cfq_slice_expired(cfqd, 0, 0);
|
cfq_slice_expired(cfqd, 0);
|
||||||
|
|
||||||
BUG_ON(cfqd->busy_queues);
|
BUG_ON(cfqd->busy_queues);
|
||||||
|
|
||||||
|
@ -1153,7 +1151,7 @@ static void cfq_put_queue(struct cfq_queue *cfqq)
|
||||||
BUG_ON(cfq_cfqq_on_rr(cfqq));
|
BUG_ON(cfq_cfqq_on_rr(cfqq));
|
||||||
|
|
||||||
if (unlikely(cfqd->active_queue == cfqq)) {
|
if (unlikely(cfqd->active_queue == cfqq)) {
|
||||||
__cfq_slice_expired(cfqd, cfqq, 0, 0);
|
__cfq_slice_expired(cfqd, cfqq, 0);
|
||||||
cfq_schedule_dispatch(cfqd);
|
cfq_schedule_dispatch(cfqd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1210,7 +1208,7 @@ static void cfq_free_io_context(struct io_context *ioc)
|
||||||
static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq)
|
static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq)
|
||||||
{
|
{
|
||||||
if (unlikely(cfqq == cfqd->active_queue)) {
|
if (unlikely(cfqq == cfqd->active_queue)) {
|
||||||
__cfq_slice_expired(cfqd, cfqq, 0, 0);
|
__cfq_slice_expired(cfqd, cfqq, 0);
|
||||||
cfq_schedule_dispatch(cfqd);
|
cfq_schedule_dispatch(cfqd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1683,7 +1681,7 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq,
|
||||||
*/
|
*/
|
||||||
static void cfq_preempt_queue(struct cfq_data *cfqd, struct cfq_queue *cfqq)
|
static void cfq_preempt_queue(struct cfq_data *cfqd, struct cfq_queue *cfqq)
|
||||||
{
|
{
|
||||||
cfq_slice_expired(cfqd, 1, 1);
|
cfq_slice_expired(cfqd, 1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Put the new queue at the front of the of the current list,
|
* Put the new queue at the front of the of the current list,
|
||||||
|
@ -1784,7 +1782,7 @@ static void cfq_completed_request(request_queue_t *q, struct request *rq)
|
||||||
cfq_clear_cfqq_slice_new(cfqq);
|
cfq_clear_cfqq_slice_new(cfqq);
|
||||||
}
|
}
|
||||||
if (cfq_slice_used(cfqq))
|
if (cfq_slice_used(cfqq))
|
||||||
cfq_slice_expired(cfqd, 0, 1);
|
cfq_slice_expired(cfqd, 1);
|
||||||
else if (sync && RB_EMPTY_ROOT(&cfqq->sort_list))
|
else if (sync && RB_EMPTY_ROOT(&cfqq->sort_list))
|
||||||
cfq_arm_slice_timer(cfqd);
|
cfq_arm_slice_timer(cfqd);
|
||||||
}
|
}
|
||||||
|
@ -1979,7 +1977,7 @@ static void cfq_idle_slice_timer(unsigned long data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
expire:
|
expire:
|
||||||
cfq_slice_expired(cfqd, 0, timed_out);
|
cfq_slice_expired(cfqd, timed_out);
|
||||||
out_kick:
|
out_kick:
|
||||||
cfq_schedule_dispatch(cfqd);
|
cfq_schedule_dispatch(cfqd);
|
||||||
out_cont:
|
out_cont:
|
||||||
|
@ -2025,7 +2023,7 @@ static void cfq_exit_queue(elevator_t *e)
|
||||||
spin_lock_irq(q->queue_lock);
|
spin_lock_irq(q->queue_lock);
|
||||||
|
|
||||||
if (cfqd->active_queue)
|
if (cfqd->active_queue)
|
||||||
__cfq_slice_expired(cfqd, cfqd->active_queue, 0, 0);
|
__cfq_slice_expired(cfqd, cfqd->active_queue, 0);
|
||||||
|
|
||||||
while (!list_empty(&cfqd->cic_list)) {
|
while (!list_empty(&cfqd->cic_list)) {
|
||||||
struct cfq_io_context *cic = list_entry(cfqd->cic_list.next,
|
struct cfq_io_context *cic = list_entry(cfqd->cic_list.next,
|
||||||
|
|
Loading…
Reference in a new issue