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 <behlendorf1@llnl.gov>
Signed-off-by: Ryan Moeller <ryan@iXsystems.com>
Closes #11822
This commit is contained in:
Ryan Moeller 2021-03-31 13:56:37 -04:00 committed by Tony Hutter
parent 67819ea28d
commit d9bcadc6ba
2 changed files with 5 additions and 9 deletions

View File

@ -14,7 +14,7 @@
.\" CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your .\" CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your
.\" own identifying information: .\" own identifying information:
.\" Portions Copyright [yyyy] [name of copyright owner] .\" 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 .SH NAME
zfs\-module\-parameters \- ZFS module parameters zfs\-module\-parameters \- ZFS module parameters
.SH DESCRIPTION .SH DESCRIPTION
@ -3745,11 +3745,10 @@ Use \fB1\fR for yes and \fB0\fR for no (default).
\fBzfs_zevent_len_max\fR (int) \fBzfs_zevent_len_max\fR (int)
.ad .ad
.RS 12n .RS 12n
Max event queue length. A value of 0 will result in a calculated value which Max event queue length.
increases with the number of CPUs in the system (minimum 64 events). Events Events in the queue can be viewed with the \fBzpool events\fR command.
in the queue can be viewed with the \fBzpool events\fR command.
.sp .sp
Default value: \fB0\fR. Default value: \fB512\fR.
.RE .RE
.sp .sp

View File

@ -70,7 +70,7 @@
#include <sys/time.h> #include <sys/time.h>
#include <sys/zfs_ioctl.h> #include <sys/zfs_ioctl.h>
int zfs_zevent_len_max = 0; int zfs_zevent_len_max = 512;
int zfs_zevent_cols = 80; int zfs_zevent_cols = 80;
int zfs_zevent_console = 0; int zfs_zevent_console = 0;
@ -1621,9 +1621,6 @@ fm_init(void)
zevent_len_cur = 0; zevent_len_cur = 0;
zevent_flags = 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 */ /* Initialize zevent allocation and generation kstats */
fm_ksp = kstat_create("zfs", 0, "fm", "misc", KSTAT_TYPE_NAMED, fm_ksp = kstat_create("zfs", 0, "fm", "misc", KSTAT_TYPE_NAMED,
sizeof (struct erpt_kstat) / sizeof (kstat_named_t), sizeof (struct erpt_kstat) / sizeof (kstat_named_t),