diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-08 11:19:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-08 11:19:16 -0500 |
commit | 6035ccd8e9e40bb654fbfdef325902ab531679a5 (patch) | |
tree | c1810d8a4d4ef150cdf14af72e6087dfc3f4b6e0 /include/linux/iocontext.h | |
parent | 23eb3b64b5e44680c867e165fe1cd18e57fba255 (diff) | |
parent | 878eaddd05d251cefa9632c2b8046833c5eead66 (diff) |
Merge branch 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block: (113 commits)
cfq-iosched: Do not access cfqq after freeing it
block: include linux/err.h to use ERR_PTR
cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit
blkio: Allow CFQ group IO scheduling even when CFQ is a module
blkio: Implement dynamic io controlling policy registration
blkio: Export some symbols from blkio as its user CFQ can be a module
block: Fix io_context leak after failure of clone with CLONE_IO
block: Fix io_context leak after clone with CLONE_IO
cfq-iosched: make nonrot check logic consistent
io controller: quick fix for blk-cgroup and modular CFQ
cfq-iosched: move IO controller declerations to a header file
cfq-iosched: fix compile problem with !CONFIG_CGROUP
blkio: Documentation
blkio: Wait on sync-noidle queue even if rq_noidle = 1
blkio: Implement group_isolation tunable
blkio: Determine async workload length based on total number of queues
blkio: Wait for cfq queue to get backlogged if group is empty
blkio: Propagate cgroup weight updation to cfq groups
blkio: Drop the reference to queue once the task changes cgroup
blkio: Provide some isolation between groups
...
Diffstat (limited to 'include/linux/iocontext.h')
-rw-r--r-- | include/linux/iocontext.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h index 4da4a75c3f1e..a63235996309 100644 --- a/include/linux/iocontext.h +++ b/include/linux/iocontext.h | |||
@@ -40,16 +40,11 @@ struct cfq_io_context { | |||
40 | struct io_context *ioc; | 40 | struct io_context *ioc; |
41 | 41 | ||
42 | unsigned long last_end_request; | 42 | unsigned long last_end_request; |
43 | sector_t last_request_pos; | ||
44 | 43 | ||
45 | unsigned long ttime_total; | 44 | unsigned long ttime_total; |
46 | unsigned long ttime_samples; | 45 | unsigned long ttime_samples; |
47 | unsigned long ttime_mean; | 46 | unsigned long ttime_mean; |
48 | 47 | ||
49 | unsigned int seek_samples; | ||
50 | u64 seek_total; | ||
51 | sector_t seek_mean; | ||
52 | |||
53 | struct list_head queue_list; | 48 | struct list_head queue_list; |
54 | struct hlist_node cic_list; | 49 | struct hlist_node cic_list; |
55 | 50 | ||
@@ -73,6 +68,10 @@ struct io_context { | |||
73 | unsigned short ioprio; | 68 | unsigned short ioprio; |
74 | unsigned short ioprio_changed; | 69 | unsigned short ioprio_changed; |
75 | 70 | ||
71 | #ifdef CONFIG_BLK_CGROUP | ||
72 | unsigned short cgroup_changed; | ||
73 | #endif | ||
74 | |||
76 | /* | 75 | /* |
77 | * For request batching | 76 | * For request batching |
78 | */ | 77 | */ |
@@ -99,14 +98,15 @@ static inline struct io_context *ioc_task_link(struct io_context *ioc) | |||
99 | return NULL; | 98 | return NULL; |
100 | } | 99 | } |
101 | 100 | ||
101 | struct task_struct; | ||
102 | #ifdef CONFIG_BLOCK | 102 | #ifdef CONFIG_BLOCK |
103 | int put_io_context(struct io_context *ioc); | 103 | int put_io_context(struct io_context *ioc); |
104 | void exit_io_context(void); | 104 | void exit_io_context(struct task_struct *task); |
105 | struct io_context *get_io_context(gfp_t gfp_flags, int node); | 105 | struct io_context *get_io_context(gfp_t gfp_flags, int node); |
106 | struct io_context *alloc_io_context(gfp_t gfp_flags, int node); | 106 | struct io_context *alloc_io_context(gfp_t gfp_flags, int node); |
107 | void copy_io_context(struct io_context **pdst, struct io_context **psrc); | 107 | void copy_io_context(struct io_context **pdst, struct io_context **psrc); |
108 | #else | 108 | #else |
109 | static inline void exit_io_context(void) | 109 | static inline void exit_io_context(struct task_struct *task) |
110 | { | 110 | { |
111 | } | 111 | } |
112 | 112 | ||