zfs/module/os/linux/spl
Paul Dagnelie 7bd292e59b Fix cpu hotplug atomic sleep issue
We move the spinlock unlock before the thread creation. This should be
safe because the thread creation code doesn't actually manipulate any
taskq data structures; that's done by the thread once it's created.

We also remove the assertion that the maxthreads is the current threads
plus one; that assertion could fail if multiple hotplug events come in
quick succession, and the first new taskq thread hasn't had a chance to
start processing yet.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
eviewed-by: Tony Nguyen <tony.nguyen@delphix.com>
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Closes #12714
2022-02-15 21:52:45 -08:00
..
Makefile.in Add zfs_file_* interface, remove vnodes 2019-11-21 09:32:57 -08:00
README.md Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
THIRDPARTYLICENSE.gplv2 OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
THIRDPARTYLICENSE.gplv2.descrip OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
spl-atomic.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-condvar.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-cred.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-err.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-generic.c Update `checkstyle` workflow env to ubuntu-20.04 2021-12-08 13:27:56 -08:00
spl-kmem-cache.c Linux: Set spl_kmem_cache_slab_limit when page size !4K 2021-06-09 13:05:34 -07:00
spl-kmem.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-kstat.c Linux 5.17 compat: PDE_DATA() renamed to pde_data() 2022-02-04 08:33:52 -08:00
spl-proc.c linux/spl: proc: use global table_{min,max} values instead of local ones 2021-04-19 15:22:57 -07:00
spl-procfs-list.c Linux 5.17 compat: PDE_DATA() renamed to pde_data() 2022-02-04 08:33:52 -08:00
spl-taskq.c Fix cpu hotplug atomic sleep issue 2022-02-15 21:52:45 -08:00
spl-thread.c Linux 5.17 compat: dequeue_signal() takes a 4th argument 2022-02-04 08:33:52 -08:00
spl-trace.c Add tracepoints for taskq entry lifetime events 2019-11-01 13:14:54 -07:00
spl-tsd.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-vmem.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-xdr.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-zlib.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07: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