[lustre-devel] [PATCH 271/622] lustre: llite: improve max_readahead console messages
James Simmons
jsimmons at infradead.org
Thu Feb 27 13:12:19 PST 2020
From: Andreas Dilger <adilger at whamcloud.com>
Improve the max_readahead_mb, max_readahead_per_file_mb, and
max_read_ahead_whole_mb console error messages to print the
parameters properly in MB instead of PAGE_SIZE units, and include
the filesystem name and bad parameters in the output.
WC-bug-id: https://jira.whamcloud.com/browse/LU-1095
Lustre-commit: 48a0697d7910 ("LU-1095 llite: improve max_readahead console messages")
Signed-off-by: Andreas Dilger <adilger at whamcloud.com>
Reviewed-on: http://review.whamcloud.com/12399
Reviewed-by: Dmitry Eremin <dmitry.eremin at intel.com>
Reviewed-by: Jian Yu <yujian at whamcloud.com>
Reviewed-by: Oleg Drokin green at whamcloud.com>
Signed-off-by: James Simmons <jsimmons at infradead.org>
---
fs/lustre/llite/lproc_llite.c | 28 +++++++++++++++++++++-------
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/fs/lustre/llite/lproc_llite.c b/fs/lustre/llite/lproc_llite.c
index 197c09c..cc9f80e 100644
--- a/fs/lustre/llite/lproc_llite.c
+++ b/fs/lustre/llite/lproc_llite.c
@@ -346,16 +346,19 @@ static ssize_t max_read_ahead_mb_store(struct kobject *kobj,
ll_kset.kobj);
int rc;
unsigned long pages_number;
+ int pages_shift;
+ pages_shift = 20 - PAGE_SHIFT;
rc = kstrtoul(buffer, 10, &pages_number);
if (rc)
return rc;
- pages_number *= 1 << (20 - PAGE_SHIFT); /* MB -> pages */
+ pages_number <<= pages_shift; /* MB -> pages */
if (pages_number > totalram_pages() / 2) {
- CERROR("can't set file readahead more than %lu MB\n",
- totalram_pages() >> (20 - PAGE_SHIFT + 1)); /*1/2 of RAM*/
+ CERROR("%s: can't set max_readahead_mb=%lu > %luMB\n",
+ sbi->ll_fsname, pages_number >> pages_shift,
+ totalram_pages() >> (pages_shift + 1)); /*1/2 of RAM*/
return -ERANGE;
}
@@ -393,14 +396,20 @@ static ssize_t max_read_ahead_per_file_mb_store(struct kobject *kobj,
ll_kset.kobj);
int rc;
unsigned long pages_number;
+ int pages_shift;
+ pages_shift = 20 - PAGE_SHIFT;
rc = kstrtoul(buffer, 10, &pages_number);
if (rc)
return rc;
+ pages_number <<= pages_shift; /* MB -> pages */
+
if (pages_number > sbi->ll_ra_info.ra_max_pages) {
- CERROR("can't set file readahead more than max_read_ahead_mb %lu MB\n",
- sbi->ll_ra_info.ra_max_pages);
+ CERROR("%s: can't set max_readahead_per_file_mb=%lu > max_read_ahead_mb=%lu\n",
+ sbi->ll_fsname,
+ pages_number >> pages_shift,
+ sbi->ll_ra_info.ra_max_pages >> pages_shift);
return -ERANGE;
}
@@ -438,17 +447,22 @@ static ssize_t max_read_ahead_whole_mb_store(struct kobject *kobj,
ll_kset.kobj);
int rc;
unsigned long pages_number;
+ int pages_shift;
+ pages_shift = 20 - PAGE_SHIFT;
rc = kstrtoul(buffer, 10, &pages_number);
if (rc)
return rc;
+ pages_number <<= pages_shift; /* MB -> pages */
/* Cap this at the current max readahead window size, the readahead
* algorithm does this anyway so it's pointless to set it larger.
*/
if (pages_number > sbi->ll_ra_info.ra_max_pages_per_file) {
- CERROR("can't set max_read_ahead_whole_mb more than max_read_ahead_per_file_mb: %lu\n",
- sbi->ll_ra_info.ra_max_pages_per_file >> (20 - PAGE_SHIFT));
+ CERROR("%s: can't set max_read_ahead_whole_mb=%lu > max_read_ahead_per_file_mb=%lu\n",
+ sbi->ll_fsname,
+ pages_number >> pages_shift,
+ sbi->ll_ra_info.ra_max_pages_per_file >> pages_shift);
return -ERANGE;
}
--
1.8.3.1
More information about the lustre-devel
mailing list