mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
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: Yu Kuai <yukuai3@huawei.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20230527010644.647900-4-yukuai1@huaweicloud.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
@@ -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)
|
|||||||
{
|
{
|
||||||
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)
|
||||||
|
Reference in New Issue
Block a user