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
spl-atomic.c
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
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
spl-tsd.c
spl-vmem.c
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
THIRDPARTYLICENSE.gplv2.descrip

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