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
);
47 cfq_blkiocg_update_avg_queue_size_stats(struct blkio_group
*blkg
)
49 blkiocg_update_avg_queue_size_stats(blkg
);
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
,
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
)
98 cfq_blkiocg_update_avg_queue_size_stats(struct blkio_group
*blkg
) {}
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
)
114 #endif /* CFQ_GROUP_IOSCHED */