mm: add bdi_set_min_ratio_no_scale() function
This introduces bdi_set_min_ratio_no_scale(). It uses the max granularity for the ratio. This function by the new sysfs knob min_ratio_fine. Link: https://lkml.kernel.org/r/20221119005215.3052436-19-shr@devkernel.io Signed-off-by: Stefan Roesch <shr@devkernel.io> Cc: Chris Mason <clm@meta.com> Cc: Jens Axboe <axboe@kernel.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
54790f30fe
commit
2c44af4f2a
|
@ -109,6 +109,7 @@ u64 bdi_get_min_bytes(struct backing_dev_info *bdi);
|
||||||
u64 bdi_get_max_bytes(struct backing_dev_info *bdi);
|
u64 bdi_get_max_bytes(struct backing_dev_info *bdi);
|
||||||
int bdi_set_min_ratio(struct backing_dev_info *bdi, unsigned int min_ratio);
|
int bdi_set_min_ratio(struct backing_dev_info *bdi, unsigned int min_ratio);
|
||||||
int bdi_set_max_ratio(struct backing_dev_info *bdi, unsigned int max_ratio);
|
int bdi_set_max_ratio(struct backing_dev_info *bdi, unsigned int max_ratio);
|
||||||
|
int bdi_set_min_ratio_no_scale(struct backing_dev_info *bdi, unsigned int min_ratio);
|
||||||
int bdi_set_max_ratio_no_scale(struct backing_dev_info *bdi, unsigned int max_ratio);
|
int bdi_set_max_ratio_no_scale(struct backing_dev_info *bdi, unsigned int max_ratio);
|
||||||
int bdi_set_min_bytes(struct backing_dev_info *bdi, u64 min_bytes);
|
int bdi_set_min_bytes(struct backing_dev_info *bdi, u64 min_bytes);
|
||||||
int bdi_set_max_bytes(struct backing_dev_info *bdi, u64 max_bytes);
|
int bdi_set_max_bytes(struct backing_dev_info *bdi, u64 max_bytes);
|
||||||
|
|
|
@ -690,6 +690,8 @@ static int __bdi_set_min_ratio(struct backing_dev_info *bdi, unsigned int min_ra
|
||||||
unsigned int delta;
|
unsigned int delta;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
if (min_ratio > 100 * BDI_RATIO_SCALE)
|
||||||
|
return -EINVAL;
|
||||||
min_ratio *= BDI_RATIO_SCALE;
|
min_ratio *= BDI_RATIO_SCALE;
|
||||||
|
|
||||||
spin_lock_bh(&bdi_lock);
|
spin_lock_bh(&bdi_lock);
|
||||||
|
@ -734,6 +736,11 @@ static int __bdi_set_max_ratio(struct backing_dev_info *bdi, unsigned int max_ra
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int bdi_set_min_ratio_no_scale(struct backing_dev_info *bdi, unsigned int min_ratio)
|
||||||
|
{
|
||||||
|
return __bdi_set_min_ratio(bdi, min_ratio);
|
||||||
|
}
|
||||||
|
|
||||||
int bdi_set_max_ratio_no_scale(struct backing_dev_info *bdi, unsigned int max_ratio)
|
int bdi_set_max_ratio_no_scale(struct backing_dev_info *bdi, unsigned int max_ratio)
|
||||||
{
|
{
|
||||||
return __bdi_set_max_ratio(bdi, max_ratio);
|
return __bdi_set_max_ratio(bdi, max_ratio);
|
||||||
|
|
Loading…
Reference in New Issue