mirror_zfs/module/os/freebsd/zfs
Alexander Motin 342357cd9e
Reduce number of metaslab preload taskq threads.
Before this change ZFS created threads for 50% of CPUs for each top-
level vdev.  Plus it created the same number of threads for embedded
log groups (that have only one metaslab and don't need any preload).
As result, on system with 80 CPUs and pool of 60 vdevs this resulted
in 4800 metaslab preload threads, that is absolutely insane.

This patch changes the preload threads to 50% of CPUs in one taskq
per pool, so on the mentioned system it will be only 40 threads.

Among other things this fixes zdb on the mentioned system and pool
on FreeBSD, that failed to create so many threads in one process.

Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #15319
2023-10-06 09:04:00 -07:00
..
abd_os.c FreeBSD: use zero_region instead of allocating a dedicated page 2022-05-04 11:46:37 -07:00
arc_os.c FreeBSD: Remove extra arc_reduce_target_size() call 2023-03-17 17:31:08 -07:00
crypto_os.c FreeBSD: Improve crypto_dispatch() handling 2022-06-17 15:38:51 -07:00
dmu_os.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
event_os.c FreeBSD: add knlist_init_sx() for exclusive locks 2022-09-06 09:48:57 -07:00
hkdf.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
kmod_core.c Reduce need for contiguous memory for ioctls 2023-02-13 16:35:59 -08:00
spa_os.c Fix build on FreeBSD 2023-03-22 09:24:41 -07:00
sysctl_os.c Reduce number of metaslab preload taskq threads. 2023-10-06 09:04:00 -07:00
vdev_file.c Cleanup: 64-bit kernel module parameters should use fixed width types 2022-10-13 10:03:29 -07:00
vdev_geom.c Fix build on FreeBSD 2023-03-22 09:24:41 -07:00
vdev_label_os.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_acl.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
zfs_ctldir.c Fix checkstyle warning 2023-04-26 11:49:16 -07:00
zfs_debug.c Cleanup: Replace oldstyle struct hack with C99 flexible array members 2023-01-12 16:00:03 -08:00
zfs_dir.c Fix unprotected zfs_znode_dmu_fini 2023-01-19 16:59:05 -08:00
zfs_file_os.c FreeBSD: handle V_PCATCH 2022-09-20 15:22:32 -07:00
zfs_ioctl_compat.c freebsd: add ifdefs around legacy ioctl support 2022-11-07 15:55:26 -08:00
zfs_ioctl_os.c FreeBSD: make zfs_vfs_held() definition consistent with declaration 2023-04-21 10:22:52 -07:00
zfs_racct.c module: zfs: fix unused, remove argsused 2021-12-23 09:42:47 -08:00
zfs_vfsops.c Retire z_nr_znodes 2023-09-18 16:53:33 -07:00
zfs_vnops_os.c copy_file_range: fix fallback when source create on same txg 2023-08-14 17:34:14 -07:00
zfs_znode.c Retire z_nr_znodes 2023-09-18 16:53:33 -07:00
zio_crypt.c Cleanup: Use kmem_zalloc() instead of memset() to zero memory 2023-01-12 15:59:28 -08:00
zvol_os.c Prevent panic during concurrent snapshot rollback and zvol read 2023-05-09 17:56:35 -07:00