HomeFreeBSD

Switch refcount tracking from lists to AVL-trees.

Description

Switch refcount tracking from lists to AVL-trees.

With large number of tracked references list searches under the lock
become too expensive, creating enormous lock contention.

On my tests with ZFS_DEBUG enabled this increases write throughput
with 32KB blocks from ~1.2GB/s to ~7.5GB/s.

Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #14970

Details

Provenance
mavAuthored on Jun 14 2023, 3:02 PM
GitHub <noreply@github.com>Committed on Jun 14 2023, 3:02 PM
Parents
rG8af1104f83eb: Store the L2ARC device ashift in the vdev label
Branches
Unknown
Tags
Unknown