From: Stefan Roesch <shr@devkernel.io>
To: kernel-team@fb.com, linux-block@vger.kernel.org, linux-mm@kvack.org
Cc: shr@devkernel.io, axboe@kernel.dk, clm@meta.com
Subject: [RFC PATCH v1 01/14] mm: add bdi_set_strict_limit() function
Date: Mon, 10 Oct 2022 18:00:31 -0700 [thread overview]
Message-ID: <20221011010044.851537-2-shr@devkernel.io> (raw)
In-Reply-To: <20221011010044.851537-1-shr@devkernel.io>
This adds the bdi_set_strict_limit function to be able to set/unset the
BDI_CAP_STRICTLIMIT flag.
Signed-off-by: Stefan Roesch <shr@devkernel.io>
---
include/linux/backing-dev.h | 1 +
mm/page-writeback.c | 16 ++++++++++++++++
2 files changed, 17 insertions(+)
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 439815cc1ab9..9c984ffc8a0a 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -104,6 +104,7 @@ static inline unsigned long wb_stat_error(void)
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_strict_limit(struct backing_dev_info *bdi, unsigned int strict_limit);
/*
* Flags in backing_dev_info::capability
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 7e9d8d857ecc..e22aae0ecacd 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -698,6 +698,22 @@ int bdi_set_max_ratio(struct backing_dev_info *bdi, unsigned max_ratio)
}
EXPORT_SYMBOL(bdi_set_max_ratio);
+int bdi_set_strict_limit(struct backing_dev_info *bdi, unsigned int strict_limit)
+{
+ if (strict_limit > 1)
+ return -EINVAL;
+
+ spin_lock_bh(&bdi_lock);
+ if (strict_limit)
+ bdi->capabilities |= BDI_CAP_STRICTLIMIT;
+ else
+ bdi->capabilities &= ~BDI_CAP_STRICTLIMIT;
+ spin_unlock_bh(&bdi_lock);
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(bdi_set_strict_limit);
+
static unsigned long dirty_freerun_ceiling(unsigned long thresh,
unsigned long bg_thresh)
{
--
2.30.2
next prev parent reply other threads:[~2022-10-11 1:17 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-11 1:00 [RFC PATCH v1 00/14] mm/block: add bdi sysfs knobs Stefan Roesch
2022-10-11 1:00 ` Stefan Roesch [this message]
2022-10-11 1:00 ` [RFC PATCH v1 02/14] mm: Add new knob /sys/class/bdi/<bdi>/strict_limit Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 03/14] mm: document new /sys/class/bdi/<bdi>/strict_limit knob Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 04/14] mm: Use part per 10000 for bdi ratios Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 05/14] mm: add bdi_get_max_bytes() function Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 06/14] mm: split off __bdi_set_max_ratio() function Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 07/14] mm: add bdi_set_max_bytes() function Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 08/14] mm: Add new knob /sys/class/bdi/<bdi>/max_bytes Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 09/14] mm: document new /sys/class/bdi/<bdi>/max_bytes knob Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 10/14] mm: add bdi_get_min_bytes() function Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 11/14] mm: split off __bdi_set_min_ratio() function Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 12/14] mm: add bdi_set_min_bytes() function Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 13/14] mm: add new /sys/class/bdi/<bdi>/min_bytes knob Stefan Roesch
2022-10-11 1:00 ` [RFC PATCH v1 14/14] mm: document " Stefan Roesch
2022-10-11 18:20 ` [RFC PATCH v1 00/14] mm/block: add bdi sysfs knobs Matthew Wilcox
2022-10-13 20:11 ` Stefan Roesch
2022-10-17 7:45 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221011010044.851537-2-shr@devkernel.io \
--to=shr@devkernel.io \
--cc=axboe@kernel.dk \
--cc=clm@meta.com \
--cc=kernel-team@fb.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).