mirror_zfs/module
Alexander Motin 04d4df89f4 Avoid extra taskq_dispatch() calls by DMU
DMU sync code calls taskq_dispatch() for each sublist of os_dirty_dnodes
and os_synced_dnodes.  Since the number of sublists by default is equal
to number of CPUs, it will dispatch equal, potentially large, number of
tasks, waking up many CPUs to handle them, even if only one or few of
sublists actually have any work to do.

This change adds check for empty sublists to avoid this.

Reviewed by: Sean Eric Fagan <sef@ixsystems.com>
Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:  Alexander Motin <mav@FreeBSD.org>
Closes #8909
2019-09-25 11:27:48 -07:00
..
avl Update build system and packaging 2018-05-29 16:00:33 -07:00
icp Restructure vec_idx loops 2019-04-16 12:34:06 -07:00
lua Update build system and packaging 2018-05-29 16:00:33 -07:00
nvpair Use NV_ENCODE_NATIVE for nvlist encoding variable 2019-04-26 11:24:31 -07:00
spl Remove vn_set_fs_pwd()/vn_set_pwd() (no need to be at / during insmod) 2019-09-25 11:27:46 -07:00
unicode Update build system and packaging 2018-05-29 16:00:33 -07:00
zcommon Restrict filesystem creation if name referred either '.' or '..' 2019-09-25 11:27:47 -07:00
zfs Avoid extra taskq_dispatch() calls by DMU 2019-09-25 11:27:48 -07:00
.gitignore Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
Makefile.in Fix out-of-tree build failures 2019-09-25 11:27:48 -07:00