summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2006-07-19 14:56:28 +0200
committerJens Axboe <axboe@nelson.home.kernel.dk>2006-09-30 20:29:40 +0200
commit981a79730d586335ef8f942c83bdf2b1de6d4e3d (patch)
tree0dec9ba389ed1fbfb8adb842f86a27e9be643559 /block
parent53b03744e5699832e6c5b04f2ec506d8b0c50c38 (diff)
downloadlinux-981a79730d586335ef8f942c83bdf2b1de6d4e3d.tar.bz2
[PATCH] cfq-iosched: kill the empty_list
No point in having a place holder list just for empty queues, so remove it. It's not used for anything other than to keep ->cfq_list busy. Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'block')
-rw-r--r--block/cfq-iosched.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index c6e649f3cae7..6fb1613d44d7 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -82,11 +82,6 @@ struct cfq_data {
unsigned int busy_queues;
/*
- * non-ordered list of empty cfqq's
- */
- struct list_head empty_list;
-
- /*
* cfqq lookup hash
*/
struct hlist_head *cfq_hash;
@@ -136,7 +131,7 @@ struct cfq_queue {
struct hlist_node cfq_hash;
/* hash key */
unsigned int key;
- /* on either rr or empty list of cfqd */
+ /* member of the rr/busy/cur/idle cfqd list */
struct list_head cfq_list;
/* sorted list of pending requests */
struct rb_root sort_list;
@@ -417,7 +412,7 @@ cfq_del_cfqq_rr(struct cfq_data *cfqd, struct cfq_queue *cfqq)
{
BUG_ON(!cfq_cfqq_on_rr(cfqq));
cfq_clear_cfqq_on_rr(cfqq);
- list_move(&cfqq->cfq_list, &cfqd->empty_list);
+ list_del_init(&cfqq->cfq_list);
BUG_ON(!cfqd->busy_queues);
cfqd->busy_queues--;
@@ -1959,7 +1954,6 @@ static void *cfq_init_queue(request_queue_t *q, elevator_t *e)
INIT_LIST_HEAD(&cfqd->busy_rr);
INIT_LIST_HEAD(&cfqd->cur_rr);
INIT_LIST_HEAD(&cfqd->idle_rr);
- INIT_LIST_HEAD(&cfqd->empty_list);
INIT_LIST_HEAD(&cfqd->cic_list);
cfqd->cfq_hash = kmalloc_node(sizeof(struct hlist_head) * CFQ_QHASH_ENTRIES, GFP_KERNEL, q->node);