zfs/module/os/linux/spl
Alexander Motin 793a2cff2a Linux: Cleanup taskq threads spawn/exit
This changes taskq_thread_should_stop() to limit maximum exit rate
for idle threads to one per 5 seconds.  I believe the previous one
was broken, not allowing any thread exits for tasks arriving more
than one at a time and so completing while others are running.

Also while there:
 - Remove taskq_thread_spawn() calls on task allocation errors.
 - Remove extra taskq_thread_should_stop() call.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Rich Ercolani <rincebrain@gmail.com>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #15873
2024-04-19 10:13:38 -07:00
..
README.md
THIRDPARTYLICENSE.gplv2
THIRDPARTYLICENSE.gplv2.descrip
spl-atomic.c
spl-condvar.c linux spl: fix typo in top comment of spl-condvar.c 2024-01-29 14:53:29 -08:00
spl-cred.c Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
spl-err.c
spl-generic.c Linux: Fix octal detection in define_ddi_strtox() 2023-03-08 13:52:09 -08:00
spl-kmem-cache.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 14:53:29 -08:00
spl-kmem.c
spl-kstat.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 14:53:29 -08:00
spl-proc.c Linux 6.5 compat: spl: properly unregister sysctl entries 2023-09-19 08:50:01 -07:00
spl-procfs-list.c Linux 6.1 compat: change order of sys/mutex.h includes 2022-10-18 12:29:44 -07:00
spl-shrinker.c linux 6.7 compat: rework shrinker setup for heap allocations 2023-12-21 11:03:08 -08:00
spl-taskq.c Linux: Cleanup taskq threads spawn/exit 2024-04-19 10:13:38 -07:00
spl-thread.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 14:53:29 -08:00
spl-trace.c
spl-tsd.c
spl-vmem.c
spl-xdr.c
spl-zlib.c
spl-zone.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 14:53:29 -08:00

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:

Release

The SPL is released under a GPLv2 license.
For more details see the NOTICE and THIRDPARTYLICENSE files; UCRL-CODE-235197