Commit 06257fda authored by Yu Kuai's avatar Yu Kuai Committed by Jens Axboe

blk-wbt: cleanup rwb_enabled() and wbt_disabled()

'wb_normal' will set to 0 if 'min_lat_nsec' is 0, and 'min_lat_nsec' can
only be set to 0 through sysfs configuration where 'WBT_STATE_OFF_MANUAL'
is set together, in the meantime, they can only be cleared together
through sysfs afterwards. Hence 'wb_normal != 0' is the same as
'rwb->enable_state != WBT_STATE_OFF_MANUAL'.

The code is redundan, hence replace the checking of 'wb_normal' to
'enable_state' in rwb_enabled() and reuse rwb_enabled() for
wbt_disabled().
Signed-off-by: default avatarYu Kuai <yukuai3@huawei.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230527010644.647900-4-yukuai1@huaweicloud.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 71b8642e
...@@ -146,7 +146,7 @@ enum { ...@@ -146,7 +146,7 @@ enum {
static inline bool rwb_enabled(struct rq_wb *rwb) static inline bool rwb_enabled(struct rq_wb *rwb)
{ {
return rwb && rwb->enable_state != WBT_STATE_OFF_DEFAULT && return rwb && rwb->enable_state != WBT_STATE_OFF_DEFAULT &&
rwb->wb_normal != 0; rwb->enable_state != WBT_STATE_OFF_MANUAL;
} }
static void wb_timestamp(struct rq_wb *rwb, unsigned long *var) static void wb_timestamp(struct rq_wb *rwb, unsigned long *var)
...@@ -494,8 +494,7 @@ bool wbt_disabled(struct request_queue *q) ...@@ -494,8 +494,7 @@ bool wbt_disabled(struct request_queue *q)
{ {
struct rq_qos *rqos = wbt_rq_qos(q); struct rq_qos *rqos = wbt_rq_qos(q);
return !rqos || RQWB(rqos)->enable_state == WBT_STATE_OFF_DEFAULT || return !rqos || !rwb_enabled(RQWB(rqos));
RQWB(rqos)->enable_state == WBT_STATE_OFF_MANUAL;
} }
u64 wbt_get_min_lat(struct request_queue *q) u64 wbt_get_min_lat(struct request_queue *q)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment