Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
31e4c28d VG |
2 | #ifndef _BLK_CGROUP_H |
3 | #define _BLK_CGROUP_H | |
4 | /* | |
5 | * Common Block IO controller cgroup interface | |
6 | * | |
7 | * Based on ideas and code from CFQ, CFS and BFQ: | |
8 | * Copyright (C) 2003 Jens Axboe <axboe@kernel.dk> | |
9 | * | |
10 | * Copyright (C) 2008 Fabio Checconi <fabio@gandalf.sssup.it> | |
11 | * Paolo Valente <paolo.valente@unimore.it> | |
12 | * | |
13 | * Copyright (C) 2009 Vivek Goyal <vgoyal@redhat.com> | |
14 | * Nauman Rafique <nauman@google.com> | |
15 | */ | |
16 | ||
c97ab271 CH |
17 | #include <linux/types.h> |
18 | ||
19 | struct bio; | |
20 | struct cgroup_subsys_state; | |
21 | struct request_queue; | |
31e4c28d | 22 | |
d2bcbeab MK |
23 | #define FC_APPID_LEN 129 |
24 | ||
f48ec1d7 | 25 | #ifdef CONFIG_BLK_CGROUP |
496d5e75 | 26 | extern struct cgroup_subsys_state * const blkcg_root_css; |
0fe061b9 | 27 | |
672fdcf0 ML |
28 | void blkcg_schedule_throttle(struct request_queue *q, bool use_memdelay); |
29 | void blkcg_maybe_throttle_current(void); | |
216889aa | 30 | bool blk_cgroup_congested(void); |
397c9f46 CH |
31 | void blkcg_pin_online(struct cgroup_subsys_state *blkcg_css); |
32 | void blkcg_unpin_online(struct cgroup_subsys_state *blkcg_css); | |
dec223c9 | 33 | struct list_head *blkcg_get_cgwb_list(struct cgroup_subsys_state *css); |
bbb1ebe7 | 34 | struct cgroup_subsys_state *bio_blkcg_css(struct bio *bio); |
59b57717 | 35 | |
36558c8a TH |
36 | #else /* CONFIG_BLK_CGROUP */ |
37 | ||
496d5e75 TH |
38 | #define blkcg_root_css ((struct cgroup_subsys_state *)ERR_PTR(-EINVAL)) |
39 | ||
d09d8df3 JB |
40 | static inline void blkcg_maybe_throttle_current(void) { } |
41 | static inline bool blk_cgroup_congested(void) { return false; } | |
d09d8df3 | 42 | static inline void blkcg_schedule_throttle(struct request_queue *q, bool use_memdelay) { } |
bbb1ebe7 CH |
43 | static inline struct cgroup_subsys_state *bio_blkcg_css(struct bio *bio) |
44 | { | |
45 | return NULL; | |
46 | } | |
36558c8a | 47 | #endif /* CONFIG_BLK_CGROUP */ |
d2bcbeab | 48 | |
db056284 CH |
49 | int blkcg_set_fc_appid(char *app_id, u64 cgrp_id, size_t app_id_len); |
50 | char *blkcg_get_fc_appid(struct bio *bio); | |
d2bcbeab | 51 | |
36558c8a | 52 | #endif /* _BLK_CGROUP_H */ |