Skip to content

Commit

Permalink
cfq-iosched: Do not idle if slice_idle=0
Browse files Browse the repository at this point in the history
Do not idle either on cfq queue or service tree if slice_idle=0. User does
not want any queue or service tree idling. Currently even if slice_idle=0,
we were waiting for request to finish before expiring the queue and that
can lead to lower queue depths.

Acked-by: Jeff Moyer <[email protected]>
Signed-off-by: Vivek Goyal <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
rhvgoyal authored and Jens Axboe committed Aug 23, 2010
1 parent 75230ff commit b6508c1
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion block/cfq-iosched.c
Original file line number Diff line number Diff line change
Expand Up @@ -1839,6 +1839,9 @@ static bool cfq_should_idle(struct cfq_data *cfqd, struct cfq_queue *cfqq)
BUG_ON(!service_tree);
BUG_ON(!service_tree->count);

if (!cfqd->cfq_slice_idle)
return false;

/* We never do for idle class queues. */
if (prio == IDLE_WORKLOAD)
return false;
Expand Down Expand Up @@ -1879,7 +1882,7 @@ static void cfq_arm_slice_timer(struct cfq_data *cfqd)
/*
* idle is disabled, either manually or by past process history
*/
if (!cfqd->cfq_slice_idle || !cfq_should_idle(cfqd, cfqq))
if (!cfq_should_idle(cfqd, cfqq))
return;

/*
Expand Down

0 comments on commit b6508c1

Please sign in to comment.