mirror_zfs/module/os/linux/spl
Rob Norris db40fe4cf6 spl-taskq: per-taskq kstats
This exposes a variety of per-taskq stats under /proc/spl/kstat/taskq,
one file per taskq, named for the taskq name.instance.

These include a small amount of info about the taskq config, the current
state of the threads and queues, and various counters for thread and
queue activity since the taskq was created.

To assist with decrementing queue size counters, the list an entry is on
is encoded in spare bits in the entry flags.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Sponsored-by: Klara, Inc.
Sponsored-by: Syneto
Closes #16171
2024-08-19 09:50:35 -07:00
..
README.md Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-atomic.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-condvar.c linux spl: fix typo in top comment of spl-condvar.c 2024-01-17 09:05:12 -08:00
spl-cred.c Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
spl-err.c Fix declarations of non-global variables 2022-10-18 11:05:32 -07:00
spl-generic.c spl-generic: bring up kstats subsystem before taskq 2024-08-19 09:49:28 -07:00
spl-kmem-cache.c Linux: Report reclaimable memory to kernel as such (#16385) 2024-07-30 11:40:47 -07:00
spl-kmem.c Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
spl-kstat.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 11:36:07 -08:00
spl-proc.c Linux 6.11: avoid passing "end" sentinel to register_sysctl() 2024-08-13 17:47:22 -07:00
spl-procfs-list.c Linux: disable lockdep for a couple of locks 2024-05-13 15:12:07 -07:00
spl-shrinker.c Linux 6.7 compat: rework shrinker setup for heap allocations 2023-12-20 11:47:55 -08:00
spl-taskq.c spl-taskq: per-taskq kstats 2024-08-19 09:50:35 -07:00
spl-thread.c Simplify issig(). 2024-05-29 10:49:11 -07:00
spl-trace.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
spl-tsd.c Linux SPL module init: Handle memory allocation failures correctly 2022-09-08 10:28:20 -07:00
spl-vmem.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-xdr.c xdr: header cleanup 2024-04-03 15:13:27 -07:00
spl-zlib.c Linux: Report reclaimable memory to kernel as such (#16385) 2024-07-30 11:40:47 -07:00
spl-zone.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 11:36:07 -08: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

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