diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-28 12:25:44 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-28 12:25:44 -0500 |
commit | 7baf398f12585ae77748716fa77113c1f1831153 (patch) | |
tree | 492361d848d3dfc33563a1bdf0d0f61b454aac82 /include | |
parent | 78cd9e04e0acea4f622e84ca0c760c7eae0c6854 (diff) | |
parent | 206dc69b31ca05baac68c75b8ed2ba7dd857d273 (diff) |
Merge branch 'cfq-merge' of git://brick.kernel.dk/data/git/linux-2.6-block
* 'cfq-merge' of git://brick.kernel.dk/data/git/linux-2.6-block:
[BLOCK] cfq-iosched: seek and async performance fixes
[PATCH] ll_rw_blk: fix 80-col offender in put_io_context()
[PATCH] cfq-iosched: small cfq_choose_req() optimization
[PATCH] [BLOCK] cfq-iosched: change cfq io context linking from list to tree
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/blkdev.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index c179966f1a2f..d0cac8b58de7 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -55,25 +55,29 @@ struct as_io_context { | |||
55 | 55 | ||
56 | struct cfq_queue; | 56 | struct cfq_queue; |
57 | struct cfq_io_context { | 57 | struct cfq_io_context { |
58 | /* | 58 | struct rb_node rb_node; |
59 | * circular list of cfq_io_contexts belonging to a process io context | ||
60 | */ | ||
61 | struct list_head list; | ||
62 | struct cfq_queue *cfqq[2]; | ||
63 | void *key; | 59 | void *key; |
64 | 60 | ||
61 | struct cfq_queue *cfqq[2]; | ||
62 | |||
65 | struct io_context *ioc; | 63 | struct io_context *ioc; |
66 | 64 | ||
67 | unsigned long last_end_request; | 65 | unsigned long last_end_request; |
68 | unsigned long last_queue; | 66 | sector_t last_request_pos; |
67 | unsigned long last_queue; | ||
68 | |||
69 | unsigned long ttime_total; | 69 | unsigned long ttime_total; |
70 | unsigned long ttime_samples; | 70 | unsigned long ttime_samples; |
71 | unsigned long ttime_mean; | 71 | unsigned long ttime_mean; |
72 | 72 | ||
73 | unsigned int seek_samples; | ||
74 | u64 seek_total; | ||
75 | sector_t seek_mean; | ||
76 | |||
73 | struct list_head queue_list; | 77 | struct list_head queue_list; |
74 | 78 | ||
75 | void (*dtor)(struct cfq_io_context *); | 79 | void (*dtor)(struct io_context *); /* destructor */ |
76 | void (*exit)(struct cfq_io_context *); | 80 | void (*exit)(struct io_context *); /* called on task exit */ |
77 | }; | 81 | }; |
78 | 82 | ||
79 | /* | 83 | /* |
@@ -94,7 +98,7 @@ struct io_context { | |||
94 | int nr_batch_requests; /* Number of requests left in the batch */ | 98 | int nr_batch_requests; /* Number of requests left in the batch */ |
95 | 99 | ||
96 | struct as_io_context *aic; | 100 | struct as_io_context *aic; |
97 | struct cfq_io_context *cic; | 101 | struct rb_root cic_root; |
98 | }; | 102 | }; |
99 | 103 | ||
100 | void put_io_context(struct io_context *ioc); | 104 | void put_io_context(struct io_context *ioc); |