Linux 3.1-rc1
[linux-kbuild.git] / block / cfq.h
blob2a155927e37ce50a936019cecab31805945c4e45
1 #ifndef _CFQ_H
2 #define _CFQ_H
3 #include "blk-cgroup.h"
5 #ifdef CONFIG_CFQ_GROUP_IOSCHED
6 static inline void cfq_blkiocg_update_io_add_stats(struct blkio_group *blkg,
7 struct blkio_group *curr_blkg, bool direction, bool sync)
9 blkiocg_update_io_add_stats(blkg, curr_blkg, direction, sync);
12 static inline void cfq_blkiocg_update_dequeue_stats(struct blkio_group *blkg,
13 unsigned long dequeue)
15 blkiocg_update_dequeue_stats(blkg, dequeue);
18 static inline void cfq_blkiocg_update_timeslice_used(struct blkio_group *blkg,
19 unsigned long time, unsigned long unaccounted_time)
21 blkiocg_update_timeslice_used(blkg, time, unaccounted_time);
24 static inline void cfq_blkiocg_set_start_empty_time(struct blkio_group *blkg)
26 blkiocg_set_start_empty_time(blkg);
29 static inline void cfq_blkiocg_update_io_remove_stats(struct blkio_group *blkg,
30 bool direction, bool sync)
32 blkiocg_update_io_remove_stats(blkg, direction, sync);
35 static inline void cfq_blkiocg_update_io_merged_stats(struct blkio_group *blkg,
36 bool direction, bool sync)
38 blkiocg_update_io_merged_stats(blkg, direction, sync);
41 static inline void cfq_blkiocg_update_idle_time_stats(struct blkio_group *blkg)
43 blkiocg_update_idle_time_stats(blkg);
46 static inline void
47 cfq_blkiocg_update_avg_queue_size_stats(struct blkio_group *blkg)
49 blkiocg_update_avg_queue_size_stats(blkg);
52 static inline void
53 cfq_blkiocg_update_set_idle_time_stats(struct blkio_group *blkg)
55 blkiocg_update_set_idle_time_stats(blkg);
58 static inline void cfq_blkiocg_update_dispatch_stats(struct blkio_group *blkg,
59 uint64_t bytes, bool direction, bool sync)
61 blkiocg_update_dispatch_stats(blkg, bytes, direction, sync);
64 static inline void cfq_blkiocg_update_completion_stats(struct blkio_group *blkg, uint64_t start_time, uint64_t io_start_time, bool direction, bool sync)
66 blkiocg_update_completion_stats(blkg, start_time, io_start_time,
67 direction, sync);
70 static inline void cfq_blkiocg_add_blkio_group(struct blkio_cgroup *blkcg,
71 struct blkio_group *blkg, void *key, dev_t dev) {
72 blkiocg_add_blkio_group(blkcg, blkg, key, dev, BLKIO_POLICY_PROP);
75 static inline int cfq_blkiocg_del_blkio_group(struct blkio_group *blkg)
77 return blkiocg_del_blkio_group(blkg);
80 #else /* CFQ_GROUP_IOSCHED */
81 static inline void cfq_blkiocg_update_io_add_stats(struct blkio_group *blkg,
82 struct blkio_group *curr_blkg, bool direction, bool sync) {}
84 static inline void cfq_blkiocg_update_dequeue_stats(struct blkio_group *blkg,
85 unsigned long dequeue) {}
87 static inline void cfq_blkiocg_update_timeslice_used(struct blkio_group *blkg,
88 unsigned long time, unsigned long unaccounted_time) {}
89 static inline void cfq_blkiocg_set_start_empty_time(struct blkio_group *blkg) {}
90 static inline void cfq_blkiocg_update_io_remove_stats(struct blkio_group *blkg,
91 bool direction, bool sync) {}
92 static inline void cfq_blkiocg_update_io_merged_stats(struct blkio_group *blkg,
93 bool direction, bool sync) {}
94 static inline void cfq_blkiocg_update_idle_time_stats(struct blkio_group *blkg)
97 static inline void
98 cfq_blkiocg_update_avg_queue_size_stats(struct blkio_group *blkg) {}
100 static inline void
101 cfq_blkiocg_update_set_idle_time_stats(struct blkio_group *blkg) {}
103 static inline void cfq_blkiocg_update_dispatch_stats(struct blkio_group *blkg,
104 uint64_t bytes, bool direction, bool sync) {}
105 static inline void cfq_blkiocg_update_completion_stats(struct blkio_group *blkg, uint64_t start_time, uint64_t io_start_time, bool direction, bool sync) {}
107 static inline void cfq_blkiocg_add_blkio_group(struct blkio_cgroup *blkcg,
108 struct blkio_group *blkg, void *key, dev_t dev) {}
109 static inline int cfq_blkiocg_del_blkio_group(struct blkio_group *blkg)
111 return 0;
114 #endif /* CFQ_GROUP_IOSCHED */
115 #endif