mirror_zfs/module
Alexander Motin ca54e52122 Yield periodically when rebuilding L2ARC
L2ARC devices of several terabytes filled with 4KB blocks may take 15
minutes to rebuild.  Due to the way L2ARC log reading is implemented
it is quite likely that for all that time rebuild thread will never
sleep.  At least on FreeBSD kernel threads have absolute priority and
can not be preempted by threads with lower priorities.  If some thread
is also bound to that specific CPU it may not get any CPU time for all
the 15 minutes.

Reviewed-by: Cedric Berger <cedric@precidata.com>
Reviewed-by: Ryan Moeller <freqlabs@FreeBSD.org>
Reviewed-by: George Amanakis <gamanakis@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Closes #11116
2020-10-30 16:04:53 -07:00
..
avl Links in Source Files 2020-09-03 16:17:18 -07:00
icp Prefix zfs internal endian checks with _ZFS 2020-07-28 13:02:49 -07:00
lua Use known license string for zlua 2020-10-30 16:03:37 -07:00
nvpair Links in Source Files 2020-09-03 16:17:18 -07:00
os Update references to nonexistent man pages in code 2020-10-30 16:04:41 -07:00
spl Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
unicode Throw const on some strings 2020-10-16 12:55:56 -07:00
zcommon Update references to nonexistent man pages in code 2020-10-30 16:04:41 -07:00
zfs Yield periodically when rebuilding L2ARC 2020-10-30 16:04:53 -07:00
zstd aarch64: Use proper guards for NEON instructions 2020-10-16 13:03:13 -07:00
.gitignore Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
Kbuild.in Add zstd support to zfs 2020-08-20 10:30:06 -07:00
Makefile.bsd Makefile.bsd: remove directory that no longer exists 2020-10-30 15:57:46 -07:00
Makefile.in Fix Linux modules uninstall 2020-10-16 13:01:14 -07:00