35a6247c5f
It's been observed that in certain workloads (zvol-related being a big one), ZFS will end up spending a large amount of time spinning up taskqs only to tear them down again almost immediately, then spin them up again... I noticed this when I looked at what my mostly-idle system was doing and wondered how on earth taskq creation/destroy was a bunch of time... So I added a configurable delay to avoid it tearing down tasks the first time it notices them idle, and the total number of threads at steady state went up, but the amount of time being burned just tearing down/turning up new ones almost vanished. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Rich Ercolani <rincebrain@gmail.com> Closes #14938 |
||
---|---|---|
.. | ||
README.md | ||
THIRDPARTYLICENSE.gplv2 | ||
THIRDPARTYLICENSE.gplv2.descrip | ||
spl-atomic.c | ||
spl-condvar.c | ||
spl-cred.c | ||
spl-err.c | ||
spl-generic.c | ||
spl-kmem-cache.c | ||
spl-kmem.c | ||
spl-kstat.c | ||
spl-proc.c | ||
spl-procfs-list.c | ||
spl-taskq.c | ||
spl-thread.c | ||
spl-trace.c | ||
spl-tsd.c | ||
spl-vmem.c | ||
spl-xdr.c | ||
spl-zlib.c | ||
spl-zone.c |
README.md
The Solaris Porting Layer, SPL, is a Linux kernel module which provides a compatibility layer used by the OpenZFS project.
Installation
The latest version of the SPL is maintained as part of this repository. Only when building ZFS version 0.7.x or earlier must an external SPL release be used. These releases can be found at:
- Version 0.7.x: https://github.com/zfsonlinux/spl/tree/spl-0.7-release
- Version 0.6.5.x: https://github.com/zfsonlinux/spl/tree/spl-0.6.5-release
Release
The SPL is released under a GPLv2 license.
For more details see the NOTICE and THIRDPARTYLICENSE files; UCRL-CODE-235197