dm cache policy mq: remove queue_shift_down()
authorJoe Thornber <ejt@redhat.com>
Fri, 20 Feb 2015 13:01:22 +0000 (13:01 +0000)
committerMike Snitzer <snitzer@redhat.com>
Tue, 31 Mar 2015 16:03:48 +0000 (12:03 -0400)
queue_shift_down() didn't adjust the hit_counts to the new levels, so it
just had the effect of scrambling levels.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-cache-policy-mq.c

index ca05d69191e89843ac27bec5e20e0637f23fbf6a..3c86b5efe78f9b6cde142123668a5422997a787d 100644 (file)
@@ -159,18 +159,6 @@ static void queue_remove(struct queue *q, struct list_head *elt)
        list_del(elt);
 }
 
-/*
- * Shifts all regions down one level.  This has no effect on the order of
- * the queue.
- */
-static void queue_shift_down(struct queue *q)
-{
-       unsigned level;
-
-       for (level = 1; level < NR_QUEUE_LEVELS; level++)
-               list_splice_init(q->qs + level, q->qs + level - 1);
-}
-
 /*
  * Gives us the oldest entry of the lowest popoulated level.  If the first
  * level is emptied then we shift down one level.
@@ -193,10 +181,6 @@ static struct list_head *queue_pop(struct queue *q)
        if (r) {
                q->nr_elts--;
                list_del(r);
-
-               /* have we just emptied the bottom level? */
-               if (list_empty(q->qs))
-                       queue_shift_down(q);
        }
 
        return r;