]> git.proxmox.com Git - mirror_zfs.git/commit
ZIO: Remove READY pipeline stage from root ZIOs
authorAlexander Motin <mav@FreeBSD.org>
Wed, 25 Oct 2023 22:22:25 +0000 (18:22 -0400)
committerGitHub <noreply@github.com>
Wed, 25 Oct 2023 22:22:25 +0000 (15:22 -0700)
commit3afdc97d91c24192db51b67762126a8d99d433db
tree9fece2b39d8953618a0a6808b3d71bfcbe584999
parent05c4710e8958832afc2868102c9535a4f18115be
ZIO: Remove READY pipeline stage from root ZIOs

zio_root() has no arguments for ready callback or parent ZIO. Except
one recent case in ZIL code if root ZIOs ever have a parent it is
also a root ZIO.  It means we do not need READY pipeline stage for
them, which takes some time to process, but even more time to wait
for the children and be woken by them, and both for no good reason.

The most visible effect of this change is that it avoids one taskq
wakeup per ZIL block written, previously used to run zio_ready()
for lwb_root_zio and skipped now.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15398
cmd/zdb/zdb.c
include/sys/zio_impl.h
module/zfs/zil.c
module/zfs/zio.c