/kernel/linux/linux-6.6/block/ |
H A D | blk-rq-qos.h | 22 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, unsigne [all...] |
H A D | blk-wbt.c | 93 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_KSWAPD]; 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() 232 struct rq_wait *rq in __wbt_done() [all...] |
H A D | blk-rq-qos.c | 21 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() 200 struct rq_wait *rqw; 243 void rq_qos_wait(struct rq_wait *rqw, void *private_data, in rq_qos_wait()
|
H A D | blk-iolatency.c | 145 struct rq_wait rq_wait; member 274 static void iolat_cleanup_cb(struct rq_wait *rqw, void *private_data) in iolat_cleanup_cb() 280 static bool iolat_acquire_inflight(struct rq_wait *rqw, void *private_data) in iolat_acquire_inflight() 291 struct rq_wait *rqw = &iolat->rq_wait; in __blkcg_iolatency_throttle() 390 wake_up_all(&iolat->rq_wait.wait); in scale_change() 456 wake_up_all(&iolat->rq_wait.wait); in check_scale_change() 594 struct rq_wait *rqw; in blkcg_iolatency_done_bio() 619 rqw = &iolat->rq_wait; in blkcg_iolatency_done_bio() [all...] |
/kernel/linux/linux-5.10/block/ |
H A D | blk-rq-qos.h | 22 struct rq_wait { struct 95 static inline void rq_wait_init(struct rq_wait *rq_wait) in rq_wait_init() argument 97 atomic_set(&rq_wait->inflight, 0); in rq_wait_init() 98 init_waitqueue_head(&rq_wait->wait); in rq_wait_init() 147 typedef bool (acquire_inflight_cb_t)(struct rq_wait *rqw, void *private_data); 148 typedef void (cleanup_cb_t)(struct rq_wait *rqw, void *private_data); 150 void rq_qos_wait(struct rq_wait *rqw, void *private_data, 153 bool rq_wait_inc_below(struct rq_wait *rq_wait, unsigne [all...] |
H A D | blk-wbt.c | 105 static inline struct rq_wait *get_rq_wait(struct rq_wb *rwb, in get_rq_wait() 109 return &rwb->rq_wait[WBT_RWQ_KSWAPD]; in get_rq_wait() 111 return &rwb->rq_wait[WBT_RWQ_DISCARD]; in get_rq_wait() 113 return &rwb->rq_wait[WBT_RWQ_BG]; in get_rq_wait() 121 struct rq_wait *rqw = &rwb->rq_wait[i]; in rwb_wake_all() 128 static void wbt_rqw_done(struct rq_wb *rwb, struct rq_wait *rqw, in wbt_rqw_done() 173 struct rq_wait *rqw; in __wbt_done() 493 static bool wbt_inflight_cb(struct rq_wait *rqw, void *private_data) in wbt_inflight_cb() 499 static void wbt_cleanup_cb(struct rq_wait *rq [all...] |
H A D | blk-wbt.h | 69 struct rq_wait rq_wait[WBT_NUM_RWQ]; member 83 ret += atomic_read(&rwb->rq_wait[i].inflight); in wbt_inflight()
|
H A D | blk-rq-qos.c | 27 bool rq_wait_inc_below(struct rq_wait *rq_wait, unsigned int limit) in rq_wait_inc_below() argument 29 return atomic_inc_below(&rq_wait->inflight, limit); in rq_wait_inc_below() 206 struct rq_wait *rqw; 249 void rq_qos_wait(struct rq_wait *rqw, void *private_data, in rq_qos_wait()
|
H A D | blk-iolatency.c | 144 struct rq_wait rq_wait; member 273 static void iolat_cleanup_cb(struct rq_wait *rqw, void *private_data) in iolat_cleanup_cb() 279 static bool iolat_acquire_inflight(struct rq_wait *rqw, void *private_data) in iolat_acquire_inflight() 290 struct rq_wait *rqw = &iolat->rq_wait; in __blkcg_iolatency_throttle() 387 wake_up_all(&iolat->rq_wait.wait); in scale_change() 458 wake_up_all(&iolat->rq_wait.wait); in check_scale_change() 596 struct rq_wait *rqw; in blkcg_iolatency_done_bio() 621 rqw = &iolat->rq_wait; in blkcg_iolatency_done_bio() [all...] |
/kernel/linux/linux-5.10/fs/ |
H A D | aio.c | 134 struct ctx_rq_wait *rq_wait; member 616 if (ctx->rq_wait && atomic_dec_and_test(&ctx->rq_wait->count)) in free_ioctx_reqs() 617 complete(&ctx->rq_wait->comp); in free_ioctx_reqs() 863 ctx->rq_wait = wait; in kill_ioctx()
|
/kernel/linux/linux-6.6/fs/ |
H A D | aio.c | 133 struct ctx_rq_wait *rq_wait; member 637 if (ctx->rq_wait && atomic_dec_and_test(&ctx->rq_wait->count)) in free_ioctx_reqs() 638 complete(&ctx->rq_wait->comp); in free_ioctx_reqs() 882 ctx->rq_wait = wait; in kill_ioctx()
|