diff mbox series

[RFC,v3,10/14] mm: add bdi_get_min_bytes() function.

Message ID 20221024190603.3987969-11-shr@devkernel.io (mailing list archive)
State New, archived
Headers show
Series mm/block: add bdi sysfs knobs | expand

Commit Message

Stefan Roesch Oct. 24, 2022, 7:05 p.m. UTC
This adds a function to return the specified value for min_bytes. It
converts the stored min_ratio of the bdi to the corresponding bytes
value. This is an approximation as it is based on the value that is
returned by global_dirty_limits(), which can change. The returned
value can be different than the value when the min_bytes value was set.

Signed-off-by: Stefan Roesch <shr@devkernel.io>
---
 include/linux/backing-dev.h | 1 +
 mm/page-writeback.c         | 6 ++++++
 2 files changed, 7 insertions(+)

Comments

Andrew Morton Nov. 16, 2022, 9:29 p.m. UTC | #1
On Mon, 24 Oct 2022 12:05:59 -0700 Stefan Roesch <shr@devkernel.io> wrote:

> This adds a function to return the specified value for min_bytes. It
> converts the stored min_ratio of the bdi to the corresponding bytes
> value. This is an approximation as it is based on the value that is
> returned by global_dirty_limits(), which can change. The returned
> value can be different than the value when the min_bytes value was set.
> 
> ...
>
> --- a/include/linux/backing-dev.h
> +++ b/include/linux/backing-dev.h
> @@ -105,6 +105,7 @@ static inline unsigned long wb_stat_error(void)
>  /* BDI ratio is expressed as part per 1000 for finer granularity. */
>  #define BDI_RATIO_SCALE 10
>  
> +unsigned long long bdi_get_min_bytes(struct backing_dev_info *bdi);

u64?

> +EXPORT_SYMBOL_GPL(bdi_get_min_bytes);

Needed?
diff mbox series

Patch

diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 5eb1ae3410b2..621329f25bbe 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -105,6 +105,7 @@  static inline unsigned long wb_stat_error(void)
 /* BDI ratio is expressed as part per 1000 for finer granularity. */
 #define BDI_RATIO_SCALE 10
 
+unsigned long long bdi_get_min_bytes(struct backing_dev_info *bdi);
 unsigned long long 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_max_ratio(struct backing_dev_info *bdi, unsigned int max_ratio);
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 21d7c1880ea8..69fc2866e625 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -740,6 +740,12 @@  int bdi_set_max_ratio(struct backing_dev_info *bdi, unsigned int max_ratio)
 }
 EXPORT_SYMBOL(bdi_set_max_ratio);
 
+unsigned long long bdi_get_min_bytes(struct backing_dev_info *bdi)
+{
+	return bdi_get_bytes(bdi->min_ratio);
+}
+EXPORT_SYMBOL_GPL(bdi_get_min_bytes);
+
 unsigned long long bdi_get_max_bytes(struct backing_dev_info *bdi)
 {
 	return bdi_get_bytes(bdi->max_ratio);