From 12f02ec497ad4ceb2c7b2696f4bde50d385b880d Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 1 Jun 2006 18:53:43 +0200 Subject: [PATCH] --- yaml --- r: 27076 b: refs/heads/master c: b52a834892f17b6c54c34ab65f1fad1a9229e764 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/block/cfq-iosched.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 3b51a330fade..4a2481d2388f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ae818a38d4755ba4c16a22a8eacec859511a5393 +refs/heads/master: b52a834892f17b6c54c34ab65f1fad1a9229e764 diff --git a/trunk/block/cfq-iosched.c b/trunk/block/cfq-iosched.c index 85d188a30f82..8e9d84825e1c 100644 --- a/trunk/block/cfq-iosched.c +++ b/trunk/block/cfq-iosched.c @@ -501,10 +501,13 @@ static void cfq_resort_rr_list(struct cfq_queue *cfqq, int preempted) /* * if queue was preempted, just add to front to be fair. busy_rr - * isn't sorted. + * isn't sorted, but insert at the back for fairness. */ if (preempted || list == &cfqd->busy_rr) { - list_add(&cfqq->cfq_list, list); + if (preempted) + list = list->prev; + + list_add_tail(&cfqq->cfq_list, list); return; }