mm: optimize do_wp_page() for fresh pages in local LRU pagevecs
[linux-2.6-microblaze.git] / block / blk-sysfs.c
index 2200851..85c4ba0 100644 (file)
@@ -739,20 +739,6 @@ static void blk_free_queue_rcu(struct rcu_head *rcu_head)
        kmem_cache_free(blk_get_queue_kmem_cache(blk_queue_has_srcu(q)), q);
 }
 
-/* Unconfigure the I/O scheduler and dissociate from the cgroup controller. */
-static void blk_exit_queue(struct request_queue *q)
-{
-       /*
-        * Since the I/O scheduler exit code may access cgroup information,
-        * perform I/O scheduler exit before disassociating from the block
-        * cgroup controller.
-        */
-       if (q->elevator) {
-               ioc_clear_queue(q);
-               elevator_exit(q);
-       }
-}
-
 /**
  * blk_release_queue - releases all allocated resources of the request_queue
  * @kobj: pointer to a kobject, whose container is a request_queue
@@ -780,12 +766,12 @@ static void blk_release_queue(struct kobject *kobj)
 
        might_sleep();
 
+       percpu_ref_exit(&q->q_usage_counter);
+
        if (q->poll_stat)
                blk_stat_remove_callback(q, q->poll_cb);
        blk_stat_free_callback(q->poll_cb);
 
-       blk_exit_queue(q);
-
        blk_free_queue_stats(q->stats);
        kfree(q->poll_stat);