mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-26 20:22:14 +03:00
09492e0f21
For each block written or freed ZFS dirties ds_dbuf of the dataset. While dbuf_dirty() has a fast path for already dirty dbufs, it still require taking the lock and doing some things visible in profiler. Investigation shown ds_dbuf dirtying by dsl_dataset_block_born() and some of dsl_dataset_block_kill() are just not needed, since by the time they are called in sync context the ds_dbuf is already dirtied by dsl_dataset_sync(). Tests show this reducing large file deletion time by ~3% by saving CPU time of single-threaded part of the sync thread. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com> Closes #18028