blkcg: factor out blkio_group creation
[GitHub/LineageOS/android_kernel_motorola_exynos9610.git] / block / cfq.h
1 #ifndef _CFQ_H
2 #define _CFQ_H
3 #include "blk-cgroup.h"
4
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)
8 {
9 blkiocg_update_io_add_stats(blkg, curr_blkg, direction, sync);
10 }
11
12 static inline void cfq_blkiocg_update_dequeue_stats(struct blkio_group *blkg,
13 unsigned long dequeue)
14 {
15 blkiocg_update_dequeue_stats(blkg, dequeue);
16 }
17
18 static inline void cfq_blkiocg_update_timeslice_used(struct blkio_group *blkg,
19 unsigned long time, unsigned long unaccounted_time)
20 {
21 blkiocg_update_timeslice_used(blkg, time, unaccounted_time);
22 }
23
24 static inline void cfq_blkiocg_set_start_empty_time(struct blkio_group *blkg)
25 {
26 blkiocg_set_start_empty_time(blkg);
27 }
28
29 static inline void cfq_blkiocg_update_io_remove_stats(struct blkio_group *blkg,
30 bool direction, bool sync)
31 {
32 blkiocg_update_io_remove_stats(blkg, direction, sync);
33 }
34
35 static inline void cfq_blkiocg_update_io_merged_stats(struct blkio_group *blkg,
36 bool direction, bool sync)
37 {
38 blkiocg_update_io_merged_stats(blkg, direction, sync);
39 }
40
41 static inline void cfq_blkiocg_update_idle_time_stats(struct blkio_group *blkg)
42 {
43 blkiocg_update_idle_time_stats(blkg);
44 }
45
46 static inline void
47 cfq_blkiocg_update_avg_queue_size_stats(struct blkio_group *blkg)
48 {
49 blkiocg_update_avg_queue_size_stats(blkg);
50 }
51
52 static inline void
53 cfq_blkiocg_update_set_idle_time_stats(struct blkio_group *blkg)
54 {
55 blkiocg_update_set_idle_time_stats(blkg);
56 }
57
58 static inline void cfq_blkiocg_update_dispatch_stats(struct blkio_group *blkg,
59 uint64_t bytes, bool direction, bool sync)
60 {
61 blkiocg_update_dispatch_stats(blkg, bytes, direction, sync);
62 }
63
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)
65 {
66 blkiocg_update_completion_stats(blkg, start_time, io_start_time,
67 direction, sync);
68 }
69
70 static inline int cfq_blkiocg_del_blkio_group(struct blkio_group *blkg)
71 {
72 return blkiocg_del_blkio_group(blkg);
73 }
74
75 #else /* CFQ_GROUP_IOSCHED */
76 static inline void cfq_blkiocg_update_io_add_stats(struct blkio_group *blkg,
77 struct blkio_group *curr_blkg, bool direction, bool sync) {}
78
79 static inline void cfq_blkiocg_update_dequeue_stats(struct blkio_group *blkg,
80 unsigned long dequeue) {}
81
82 static inline void cfq_blkiocg_update_timeslice_used(struct blkio_group *blkg,
83 unsigned long time, unsigned long unaccounted_time) {}
84 static inline void cfq_blkiocg_set_start_empty_time(struct blkio_group *blkg) {}
85 static inline void cfq_blkiocg_update_io_remove_stats(struct blkio_group *blkg,
86 bool direction, bool sync) {}
87 static inline void cfq_blkiocg_update_io_merged_stats(struct blkio_group *blkg,
88 bool direction, bool sync) {}
89 static inline void cfq_blkiocg_update_idle_time_stats(struct blkio_group *blkg)
90 {
91 }
92 static inline void
93 cfq_blkiocg_update_avg_queue_size_stats(struct blkio_group *blkg) {}
94
95 static inline void
96 cfq_blkiocg_update_set_idle_time_stats(struct blkio_group *blkg) {}
97
98 static inline void cfq_blkiocg_update_dispatch_stats(struct blkio_group *blkg,
99 uint64_t bytes, bool direction, bool sync) {}
100 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) {}
101
102 static inline int cfq_blkiocg_del_blkio_group(struct blkio_group *blkg)
103 {
104 return 0;
105 }
106
107 #endif /* CFQ_GROUP_IOSCHED */
108 #endif