mirror_zfs/man
Ameer Hamza 99741bde59
zvol: use multiple taskq
Currently, zvol uses a single taskq, resulting in throughput bottleneck
under heavy load due to lock contention on the single taskq. This patch
addresses the performance bottleneck under heavy load conditions by
utilizing multiple taskqs, thus mitigating lock contention. The number
of taskqs scale dynamically based on the available CPUs in the system,
as illustrated below:

                taskq   total
cpus    taskqs  threads threads
------- ------- ------- -------
1       1       32       32
2       1       32       32
4       1       32       32
8       2       16       32
16      3       11       33
32      5       7        35
64      8       8        64
128     11      12       132
256     16      16       256

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #15992
2024-04-03 18:21:25 -07:00
..
man1 RAID-Z expansion feature 2023-11-08 10:19:41 -08:00
man4 zvol: use multiple taskq 2024-04-03 18:21:25 -07:00
man5 Consistentify miscellaneous style on remaining manpages 2021-06-09 14:35:53 -07:00
man7 vdev props comment and manpage should include zfsd and FreeBSD mentions 2024-04-03 17:56:34 -07:00
man8 Add ashift validation when adding devices to a pool 2024-03-29 13:15:56 -06:00
Makefile.am man: move zfs_prepare_disk.8 to nodist_man_MANS 2024-04-03 18:04:15 -07:00