Home
last modified time | relevance | path

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

/linux/block/
H A Dblk-rq-qos.c199 struct rq_wait *rqw; member
216 if (!data->cb(data->rqw, data->private_data)) in rq_qos_wake_function()
254 void rq_qos_wait(struct rq_wait *rqw, void *private_data, in rq_qos_wait() argument
259 .rqw = rqw, in rq_qos_wait()
271 if (!waitqueue_active(&rqw->wait) && acquire_inflight_cb(rqw, private_data)) in rq_qos_wait()
275 first_waiter = prepare_to_wait_exclusive(&rqw->wait, &data.wq, in rq_qos_wait()
286 if (!data.got_token && first_waiter && acquire_inflight_cb(rqw, private_data)) { in rq_qos_wait()
287 finish_wait(&rqw->wait, &data.wq); in rq_qos_wait()
299 cleanup_cb(rqw, private_data); in rq_qos_wait()
310 finish_wait(&rqw->wait, &data.wq); in rq_qos_wait()
H A Dblk-wbt.c191 struct rq_wait *rqw = &rwb->rq_wait[i]; in rwb_wake_all() local
193 if (wq_has_sleeper(&rqw->wait)) in rwb_wake_all()
194 wake_up_all(&rqw->wait); in rwb_wake_all()
198 static void wbt_rqw_done(struct rq_wb *rwb, struct rq_wait *rqw, in wbt_rqw_done() argument
203 inflight = atomic_dec_return(&rqw->inflight); in wbt_rqw_done()
224 if (wq_has_sleeper(&rqw->wait)) { in wbt_rqw_done()
228 wake_up_all(&rqw->wait); in wbt_rqw_done()
235 struct rq_wait *rqw; in __wbt_done() local
240 rqw = get_rq_wait(rwb, wb_acct); in __wbt_done()
241 wbt_rqw_done(rwb, rqw, wb_acct); in __wbt_done()
[all …]
H A Dblk-iolatency.c274 static void iolat_cleanup_cb(struct rq_wait *rqw, void *private_data) in iolat_cleanup_cb() argument
276 atomic_dec(&rqw->inflight); in iolat_cleanup_cb()
277 wake_up(&rqw->wait); in iolat_cleanup_cb()
280 static bool iolat_acquire_inflight(struct rq_wait *rqw, void *private_data) in iolat_acquire_inflight() argument
283 return rq_wait_inc_below(rqw, iolat->max_depth); in iolat_acquire_inflight()
291 struct rq_wait *rqw = &iolat->rq_wait; in __blkcg_iolatency_throttle() local
305 atomic_inc(&rqw->inflight); in __blkcg_iolatency_throttle()
309 rq_qos_wait(rqw, iolat, iolat_acquire_inflight, iolat_cleanup_cb); in __blkcg_iolatency_throttle()
586 struct rq_wait *rqw; in blkcg_iolatency_done_bio() local
611 rqw = &iolat->rq_wait; in blkcg_iolatency_done_bio()
[all …]
H A Dblk-rq-qos.h92 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,