Home
last modified time | relevance | path

Searched refs:rq_wait (Results 1 – 4 of 4) sorted by relevance

/linux/block/
H A Dblk-rq-qos.h22 struct rq_wait { struct
82 static inline void rq_wait_init(struct rq_wait *rq_wait) in rq_wait_init() argument
84 atomic_set(&rq_wait->inflight, 0); in rq_wait_init()
85 init_waitqueue_head(&rq_wait->wait); in rq_wait_init()
92 typedef bool (acquire_inflight_cb_t)(struct rq_wait *rqw, void *private_data);
93 typedef void (cleanup_cb_t)(struct rq_wait *rqw, void *private_data);
95 void rq_qos_wait(struct rq_wait *rqw, void *private_data,
98 bool rq_wait_inc_below(struct rq_wait *rq_wait, unsigned int limit);
H A Dblk-wbt.c92 struct rq_wait rq_wait[WBT_NUM_RWQ]; member
173 static inline struct rq_wait *get_rq_wait(struct rq_wb *rwb, in get_rq_wait()
177 return &rwb->rq_wait[WBT_RWQ_SWAP]; in get_rq_wait()
179 return &rwb->rq_wait[WBT_RWQ_DISCARD]; in get_rq_wait()
181 return &rwb->rq_wait[WBT_RWQ_BG]; in get_rq_wait()
189 struct rq_wait *rqw = &rwb->rq_wait[i]; in rwb_wake_all()
196 static void wbt_rqw_done(struct rq_wb *rwb, struct rq_wait *rqw, in wbt_rqw_done()
233 struct rq_wait *rqw; in __wbt_done()
293 ret += atomic_read(&rwb->rq_wait[i].inflight); in wbt_inflight()
570 static bool wbt_inflight_cb(struct rq_wait *rqw, void *private_data) in wbt_inflight_cb()
[all …]
H A Dblk-rq-qos.c21 bool rq_wait_inc_below(struct rq_wait *rq_wait, unsigned int limit) in rq_wait_inc_below() argument
23 return atomic_inc_below(&rq_wait->inflight, limit); in rq_wait_inc_below()
199 struct rq_wait *rqw;
254 void rq_qos_wait(struct rq_wait *rqw, void *private_data, in rq_qos_wait()
/linux/fs/
H A Daio.c133 struct ctx_rq_wait *rq_wait; member
634 if (ctx->rq_wait && atomic_dec_and_test(&ctx->rq_wait->count)) in free_ioctx_reqs()
635 complete(&ctx->rq_wait->comp); in free_ioctx_reqs()
879 ctx->rq_wait = wait; in kill_ioctx()