#include "blk-rq-qos.h"
static bool atomic_inc_below(atomic_t *v, unsigned int below)
{ … }
bool rq_wait_inc_below(struct rq_wait *rq_wait, unsigned int limit)
{ … }
void __rq_qos_cleanup(struct rq_qos *rqos, struct bio *bio)
{ … }
void __rq_qos_done(struct rq_qos *rqos, struct request *rq)
{ … }
void __rq_qos_issue(struct rq_qos *rqos, struct request *rq)
{ … }
void __rq_qos_requeue(struct rq_qos *rqos, struct request *rq)
{ … }
void __rq_qos_throttle(struct rq_qos *rqos, struct bio *bio)
{ … }
void __rq_qos_track(struct rq_qos *rqos, struct request *rq, struct bio *bio)
{ … }
void __rq_qos_merge(struct rq_qos *rqos, struct request *rq, struct bio *bio)
{ … }
void __rq_qos_done_bio(struct rq_qos *rqos, struct bio *bio)
{ … }
void __rq_qos_queue_depth_changed(struct rq_qos *rqos)
{ … }
bool rq_depth_calc_max_depth(struct rq_depth *rqd)
{ … }
bool rq_depth_scale_up(struct rq_depth *rqd)
{ … }
bool rq_depth_scale_down(struct rq_depth *rqd, bool hard_throttle)
{ … }
struct rq_qos_wait_data { … };
static int rq_qos_wake_function(struct wait_queue_entry *curr,
unsigned int mode, int wake_flags, void *key)
{ … }
void rq_qos_wait(struct rq_wait *rqw, void *private_data,
acquire_inflight_cb_t *acquire_inflight_cb,
cleanup_cb_t *cleanup_cb)
{ … }
void rq_qos_exit(struct request_queue *q)
{ … }
int rq_qos_add(struct rq_qos *rqos, struct gendisk *disk, enum rq_qos_id id,
const struct rq_qos_ops *ops)
{ … }
void rq_qos_del(struct rq_qos *rqos)
{ … }