Merge tag 'devdax-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm...
[linux-2.6-microblaze.git] / block / bfq-iosched.h
index 0b02bf3..062e1c4 100644 (file)
@@ -501,10 +501,11 @@ struct bfq_data {
        unsigned int num_groups_with_pending_reqs;
 
        /*
-        * Number of bfq_queues containing requests (including the
-        * queue in service, even if it is idling).
+        * Per-class (RT, BE, IDLE) number of bfq_queues containing
+        * requests (including the queue in service, even if it is
+        * idling).
         */
-       int busy_queues;
+       unsigned int busy_queues[3];
        /* number of weight-raised busy @bfq_queues */
        int wr_busy_queues;
        /* number of queued requests */
@@ -537,6 +538,9 @@ struct bfq_data {
        /* on-disk position of the last served request */
        sector_t last_position;
 
+       /* position of the last served request for the in-service queue */
+       sector_t in_serv_last_pos;
+
        /* time of last request completion (ns) */
        u64 last_completion;
 
@@ -974,6 +978,7 @@ extern struct blkcg_policy blkcg_policy_bfq;
 
 struct bfq_group *bfq_bfqq_to_bfqg(struct bfq_queue *bfqq);
 struct bfq_queue *bfq_entity_to_bfqq(struct bfq_entity *entity);
+unsigned int bfq_tot_busy_queues(struct bfq_data *bfqd);
 struct bfq_service_tree *bfq_entity_service_tree(struct bfq_entity *entity);
 struct bfq_entity *bfq_entity_of(struct rb_node *node);
 unsigned short bfq_ioprio_to_weight(int ioprio);