aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index f2385ee7c7b2..3816ce8a08fc 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -51,7 +51,9 @@ typedef void (rq_end_io_fn)(struct request *, int);
51 51
52struct request_list { 52struct request_list {
53 struct request_queue *q; /* the queue this rl belongs to */ 53 struct request_queue *q; /* the queue this rl belongs to */
54 54#ifdef CONFIG_BLK_CGROUP
55 struct blkcg_gq *blkg; /* blkg this request pool belongs to */
56#endif
55 /* 57 /*
56 * count[], starved[], and wait[] are indexed by 58 * count[], starved[], and wait[] are indexed by
57 * BLK_RW_SYNC/BLK_RW_ASYNC 59 * BLK_RW_SYNC/BLK_RW_ASYNC
@@ -143,6 +145,7 @@ struct request {
143 struct hd_struct *part; 145 struct hd_struct *part;
144 unsigned long start_time; 146 unsigned long start_time;
145#ifdef CONFIG_BLK_CGROUP 147#ifdef CONFIG_BLK_CGROUP
148 struct request_list *rl; /* rl this rq is alloced from */
146 unsigned long long start_time_ns; 149 unsigned long long start_time_ns;
147 unsigned long long io_start_time_ns; /* when passed to hardware */ 150 unsigned long long io_start_time_ns; /* when passed to hardware */
148#endif 151#endif
@@ -291,9 +294,12 @@ struct request_queue {
291 int nr_rqs_elvpriv; /* # allocated rqs w/ elvpriv */ 294 int nr_rqs_elvpriv; /* # allocated rqs w/ elvpriv */
292 295
293 /* 296 /*
294 * the queue request freelist, one for reads and one for writes 297 * If blkcg is not used, @q->root_rl serves all requests. If blkcg
298 * is used, root blkg allocates from @q->root_rl and all other
299 * blkgs from their own blkg->rl. Which one to use should be
300 * determined using bio_request_list().
295 */ 301 */
296 struct request_list rq; 302 struct request_list root_rl;
297 303
298 request_fn_proc *request_fn; 304 request_fn_proc *request_fn;
299 make_request_fn *make_request_fn; 305 make_request_fn *make_request_fn;