Module Name: src Committed By: riastradh Date: Sun Mar 8 19:59:45 UTC 2020
Modified Files: src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_vnops.c Log Message: Avoid unnecessary zil_commit on rm. 1. Issue zil_commit only if we're actually updating something -- there's no need to commit if we're unlinking the file or if there's no atime update being applied. 2. Issue zil_commit only if the zfs has sync=always set -- for sync=standard there's no need for us to commit anything here since no application asked for an explicit sync. Speeds up untarring base.tgz on top of itself by a factor of about 2x, and speeds up rm by a factor of about 10x, on my system with an SSD SLOG over SATA. Histogram of unlink, rmdir, and rename timing shows dramatic reduction in latency for most samples. (To be fair, this was not an improvement over zfs; issuing the unnecessary zil_commit was a self-inflicted performance wound.) To generate a diff of this commit: cvs rdiff -u -r1.62 -r1.63 \ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.