From e44c45ee56aab268ad9d47264b43e4ac515b1f67 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 926989083304..417d4c0fbe90 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 @@ -3745,11 +3745,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 7da5bc0354ef..6ad4f582e53e 100644 --- a/module/zfs/fm.c +++ b/module/zfs/fm.c @@ -70,7 +70,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; @@ -1621,9 +1621,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),