Searched refs:rwb (Results 1 - 3 of 3) sorted by relevance

/linux-master/block/
H A Dblk-wbt.c145 static inline bool rwb_enabled(struct rq_wb *rwb) argument
147 return rwb && rwb->enable_state != WBT_STATE_OFF_DEFAULT &&
148 rwb->enable_state != WBT_STATE_OFF_MANUAL;
151 static void wb_timestamp(struct rq_wb *rwb, unsigned long *var) argument
153 if (rwb_enabled(rwb)) {
165 static bool wb_recent_wait(struct rq_wb *rwb) argument
167 struct backing_dev_info *bdi = rwb->rqos.disk->bdi;
172 static inline struct rq_wait *get_rq_wait(struct rq_wb *rwb, argument
176 return &rwb
183 rwb_wake_all(struct rq_wb *rwb) argument
195 wbt_rqw_done(struct rq_wb *rwb, struct rq_wait *rqw, enum wbt_flags wb_acct) argument
231 struct rq_wb *rwb = RQWB(rqos); local
247 struct rq_wb *rwb = RQWB(rqos); local
276 rwb_sync_issue_lat(struct rq_wb *rwb) argument
286 wbt_inflight(struct rq_wb *rwb) argument
303 latency_exceeded(struct rq_wb *rwb, struct blk_rq_stat *stat) argument
356 rwb_trace_step(struct rq_wb *rwb, const char *msg) argument
365 calc_wb_limits(struct rq_wb *rwb) argument
378 scale_up(struct rq_wb *rwb) argument
388 scale_down(struct rq_wb *rwb, bool hard_throttle) argument
397 rwb_arm_timer(struct rq_wb *rwb) argument
423 struct rq_wb *rwb = cb->data; local
479 wbt_update_limits(struct rq_wb *rwb) argument
523 close_io(struct rq_wb *rwb) argument
533 get_limit(struct rq_wb *rwb, blk_opf_t opf) argument
563 struct rq_wb *rwb; member in struct:wbt_wait_data
584 __wbt_wait(struct rq_wb *rwb, enum wbt_flags wb_acct, blk_opf_t opf) argument
615 bio_to_wbt_flags(struct rq_wb *rwb, struct bio *bio) argument
636 struct rq_wb *rwb = RQWB(rqos); local
648 struct rq_wb *rwb = RQWB(rqos); local
666 struct rq_wb *rwb = RQWB(rqos); local
672 struct rq_wb *rwb = RQWB(rqos); local
692 struct rq_wb *rwb = RQWB(rqos); local
764 struct rq_wb *rwb = RQWB(rqos); local
777 struct rq_wb *rwb; local
792 struct rq_wb *rwb = RQWB(rqos); local
801 struct rq_wb *rwb = RQWB(rqos); local
818 struct rq_wb *rwb = RQWB(rqos); local
830 struct rq_wb *rwb = RQWB(rqos); local
839 struct rq_wb *rwb = RQWB(rqos); local
848 struct rq_wb *rwb = RQWB(rqos); local
857 struct rq_wb *rwb = RQWB(rqos); local
893 struct rq_wb *rwb; local
[all...]
/linux-master/kernel/locking/
H A Drwbase_rt.c53 static __always_inline int rwbase_read_trylock(struct rwbase_rt *rwb) argument
61 for (r = atomic_read(&rwb->readers); r < 0;) {
62 if (likely(atomic_try_cmpxchg_acquire(&rwb->readers, &r, r + 1)))
68 static int __sched __rwbase_read_lock(struct rwbase_rt *rwb, argument
71 struct rt_mutex_base *rtm = &rwb->rtmutex;
107 trace_contention_begin(rwb, LCB_F_RT | LCB_F_READ);
123 atomic_inc(&rwb->readers);
128 trace_contention_end(rwb, ret);
133 static __always_inline int rwbase_read_lock(struct rwbase_rt *rwb, argument
138 if (rwbase_read_trylock(rwb))
144 __rwbase_read_unlock(struct rwbase_rt *rwb, unsigned int state) argument
168 rwbase_read_unlock(struct rwbase_rt *rwb, unsigned int state) argument
181 __rwbase_write_unlock(struct rwbase_rt *rwb, int bias, unsigned long flags) argument
195 rwbase_write_unlock(struct rwbase_rt *rwb) argument
204 rwbase_write_downgrade(struct rwbase_rt *rwb) argument
214 __rwbase_write_trylock(struct rwbase_rt *rwb) argument
231 rwbase_write_lock(struct rwbase_rt *rwb, unsigned int state) argument
280 rwbase_write_trylock(struct rwbase_rt *rwb) argument
[all...]
/linux-master/include/linux/
H A Drwbase_rt.h29 static __always_inline bool rw_base_is_locked(const struct rwbase_rt *rwb) argument
31 return atomic_read(&rwb->readers) != READER_BIAS;
34 static __always_inline bool rw_base_is_write_locked(const struct rwbase_rt *rwb) argument
36 return atomic_read(&rwb->readers) == WRITER_BIAS;
39 static __always_inline bool rw_base_is_contended(const struct rwbase_rt *rwb) argument
41 return atomic_read(&rwb->readers) > 0;

Completed in 170 milliseconds