From 032a213e2e6b791364301e9de029e7b8189a69a0 Mon Sep 17 00:00:00 2001 From: Ryan Moeller Date: Wed, 31 Mar 2021 13:56:37 -0400 Subject: [PATCH] Don't scale zfs_zevent_len_max by CPU count The lower bound for this scaling to too low and the upper bound is too high. Use a fixed default length of 512 instead, which is a reasonable value on any system. Reviewed-by: Brian Behlendorf Signed-off-by: Ryan Moeller Closes #11822 --- man/man5/zfs-module-parameters.5 | 9 ++++----- module/zfs/fm.c | 5 +---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5 index 672afefd2b..e3e19481aa 100644 --- a/man/man5/zfs-module-parameters.5 +++ b/man/man5/zfs-module-parameters.5 @@ -14,7 +14,7 @@ .\" CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your .\" own identifying information: .\" Portions Copyright [yyyy] [name of copyright owner] -.TH ZFS-MODULE-PARAMETERS 5 "Aug 24, 2020" OpenZFS +.TH ZFS-MODULE-PARAMETERS 5 "Mar 31, 2021" OpenZFS .SH NAME zfs\-module\-parameters \- ZFS module parameters .SH DESCRIPTION @@ -3845,11 +3845,10 @@ Use \fB1\fR for yes and \fB0\fR for no (default). \fBzfs_zevent_len_max\fR (int) .ad .RS 12n -Max event queue length. A value of 0 will result in a calculated value which -increases with the number of CPUs in the system (minimum 64 events). Events -in the queue can be viewed with the \fBzpool events\fR command. +Max event queue length. +Events in the queue can be viewed with the \fBzpool events\fR command. .sp -Default value: \fB0\fR. +Default value: \fB512\fR. .RE .sp diff --git a/module/zfs/fm.c b/module/zfs/fm.c index c79d291ab1..72162afd59 100644 --- a/module/zfs/fm.c +++ b/module/zfs/fm.c @@ -69,7 +69,7 @@ #include #include -int zfs_zevent_len_max = 0; +int zfs_zevent_len_max = 512; int zfs_zevent_cols = 80; int zfs_zevent_console = 0; @@ -1620,9 +1620,6 @@ fm_init(void) zevent_len_cur = 0; zevent_flags = 0; - if (zfs_zevent_len_max == 0) - zfs_zevent_len_max = ERPT_MAX_ERRS * MAX(max_ncpus, 4); - /* Initialize zevent allocation and generation kstats */ fm_ksp = kstat_create("zfs", 0, "fm", "misc", KSTAT_TYPE_NAMED, sizeof (struct erpt_kstat) / sizeof (kstat_named_t),