From: Jens Axboe Date: Wed, 19 Jul 2006 12:56:28 +0000 (+0200) Subject: [PATCH] cfq-iosched: kill the empty_list X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=981a79730d586335ef8f942c83bdf2b1de6d4e3d;p=linux-beck.git [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 --- 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 @@ -81,11 +81,6 @@ struct cfq_data { struct list_head idle_rr; unsigned int busy_queues; - /* - * non-ordered list of empty cfqq's - */ - struct list_head empty_list; - /* * cfqq lookup 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);