Re: nfsd becomes slow when machine CPU usage is at or over 100% on STABLE/13

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Sun, 20 Mar 2022 20:45:30 UTC
mike tancsa <mike@sentex.net> wrote:
> On 3/20/2022 7:43 AM, mike tancsa wrote:
>> On 3/18/2022 9:18 PM, Yoshihiro Ota wrote:
>>> I had built several versions between releng/13.0 branch point to
>>> stable/13 (before releng/13.1 was created) and all of them had such
>> performance degrade.
>>>
>>> I started suspecting stable debug options and thus built releng/13.1
>>> and tested.
>>> I don't see NFS slowdown unlike stable/13.
>>> releng/13.0 and releng/12.2 were also fine.
>>
>> Hi,
>>
>>     I would think there is very little difference (if any) between
>> releng/13.1 and stable/13 right now.  Are you sure stable/13 suffers
>> from this issue you are seeing ?
The sources may be almost the same, but the build is not.
See /usr/src/sys/conf/std.nodebug.

I'm assuming his releng/13.1 build created a non-debug kernel.
Debug kernels do spit out "expect reduced performance" if i recall
correctly. It sounds like he found an example of this.

rick

>
>
These look to be the only files touched below.

0{cage}% git diff remotes/origin/releng/13.1..remotes/origin/stable/13 |
grep '^\-\-'
--- a/contrib/tzcode/stdtime/ctime.3
--- a/lib/libc/gen/time.3
--- a/lib/libcasper/services/cap_net/cap_net.c
--- a/lib/libpfctl/libpfctl.c
--- a/lib/libpfctl/libpfctl.h
--- a/libexec/rc/rc.d/dumpon
--- a/release/pkg_repos/release-dvd.conf
--- a/sbin/devd/devd.conf
--- a/sbin/ipf/common/ipf.h
--- a/sbin/ipf/libipf/printactivenat.c
--- a/sbin/ipf/libipf/printstate.c
--- a/sbin/pfctl/pfctl.c
--- a/sbin/pfctl/pfctl_optimize.c
--- a/share/man/man4/Makefile
--- a/share/man/man4/netmap.4
--- /dev/null
--- a/share/man/man4/vale.4
--- a/share/man/man9/crypto_buffer.9
--- a/stand/efi/libefi/efi_console.c
--- a/stand/i386/libi386/vidconsole.c
--- a/sys/arm64/include/pcpu.h
--- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
--- a/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c
--- a/sys/conf/newvers.sh
--- a/sys/crypto/armv8/armv8_crypto.c
--- a/sys/crypto/armv8/armv8_crypto.h
--- a/sys/crypto/armv8/armv8_crypto_wrap.c
--- a/sys/dev/netmap/netmap.c
--- a/sys/dev/netmap/netmap_bdg.c
--- a/sys/dev/netmap/netmap_kern.h
--- a/sys/dev/netmap/netmap_vale.c
--- a/sys/i386/i386/machdep.c
--- a/sys/kern/kern_rmlock.c
--- a/sys/kern/sys_process.c
--- a/sys/kern/vfs_cache.c
--- a/sys/kern/vfs_subr.c
--- a/sys/modules/if_epair/Makefile
--- a/sys/modules/linuxkpi/Makefile
--- a/sys/net/if_epair.c
--- a/sys/opencrypto/cryptodev.h
--- a/sys/riscv/include/cpufunc.h
--- a/sys/riscv/include/pmap.h
--- a/sys/riscv/include/pte.h
--- a/sys/riscv/include/riscvreg.h
--- a/sys/riscv/include/vmparam.h
--- a/sys/riscv/riscv/elf_machdep.c
--- a/sys/riscv/riscv/locore.S
--- a/sys/riscv/riscv/pmap.c
--- a/sys/sys/param.h
--- a/sys/x86/x86/mp_x86.c
--- a/usr.bin/diff/pr.c
--- a/usr.bin/touch/touch.c
0{cage}%