Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2389d1ef authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Jens Axboe
Browse files

cfq: fix IOPRIO_CLASS_IDLE accounting

Spotted by Nick <gentuu@gmail.com>, hopefully can explain the second trace in
http://bugzilla.kernel.org/show_bug.cgi?id=9180

.

If ->async_idle_cfqq != NULL cfq_put_async_queues() puts it IOPRIO_BE_NR times
in a loop. Fix this.

Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent dbeeb816
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2068,10 +2068,11 @@ static void cfq_put_async_queues(struct cfq_data *cfqd)
			cfq_put_queue(cfqd->async_cfqq[0][i]);
		if (cfqd->async_cfqq[1][i])
			cfq_put_queue(cfqd->async_cfqq[1][i]);
	}

	if (cfqd->async_idle_cfqq)
		cfq_put_queue(cfqd->async_idle_cfqq);
}
}

static void cfq_exit_queue(elevator_t *e)
{