blob: 8a029e138f7ace62e8f99222150ccbe6595a99ec [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Jens Axboee34cbd32016-11-09 12:36:15 -07002#ifndef WB_THROTTLE_H
3#define WB_THROTTLE_H
4
Jens Axboee34cbd32016-11-09 12:36:15 -07005#ifdef CONFIG_BLK_WBT
6
Christoph Hellwig958f2962023-02-03 16:03:50 +01007int wbt_init(struct gendisk *disk);
Christoph Hellwig04aad372023-02-03 16:03:49 +01008void wbt_disable_default(struct gendisk *disk);
9void wbt_enable_default(struct gendisk *disk);
Jens Axboee34cbd32016-11-09 12:36:15 -070010
Josef Bacika7905042018-07-03 09:32:35 -060011u64 wbt_get_min_lat(struct request_queue *q);
12void wbt_set_min_lat(struct request_queue *q, u64 val);
Yu Kuai3642ef42022-10-19 20:15:16 +080013bool wbt_disabled(struct request_queue *);
Josef Bacika7905042018-07-03 09:32:35 -060014
Josef Bacika7905042018-07-03 09:32:35 -060015void wbt_set_write_cache(struct request_queue *, bool);
Jens Axboee34cbd32016-11-09 12:36:15 -070016
Jens Axboe80e091d2016-11-28 09:22:47 -070017u64 wbt_default_latency_nsec(struct request_queue *);
18
Jens Axboee34cbd32016-11-09 12:36:15 -070019#else
20
Christoph Hellwig04aad372023-02-03 16:03:49 +010021static inline void wbt_disable_default(struct gendisk *disk)
Jens Axboee34cbd32016-11-09 12:36:15 -070022{
23}
Christoph Hellwig04aad372023-02-03 16:03:49 +010024static inline void wbt_enable_default(struct gendisk *disk)
Jan Kara8330cdb2017-04-19 11:33:27 +020025{
26}
Josef Bacika7905042018-07-03 09:32:35 -060027static inline void wbt_set_write_cache(struct request_queue *q, bool wc)
28{
29}
Jens Axboee34cbd32016-11-09 12:36:15 -070030
31#endif /* CONFIG_BLK_WBT */
32
33#endif