mirror_zfs/module/os/freebsd/spl
Alexander Motin b76724ae47 FreeBSD: Improve taskq wrapper
- Group tqent_task and tqent_timeout_task into a union.  They are
never used same time. This shrinks taskq_ent_t from 192 to 160 bytes.
 - Remove tqent_registered.  Use tqent_id != 0 instead.
 - Remove tqent_cancelled.  Use taskqueue pending counter instead.
 - Change tqent_type into uint_t.  We don't need to pack it any more.
 - Change tqent_rc into uint_t, matching refcount(9).
 - Take shared locks in taskq_lookup().
 - Call proper taskqueue_drain_timeout() for TIMEOUT_TASK in
taskq_cancel_id() and taskq_wait_id().
 - Switch from CK_LIST to regular LIST.

Reviewed-by: Allan Jude <allan@klarasystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Mateusz Guzik <mjguzik@gmail.com>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #15356
2023-11-06 16:33:18 -08:00
..
acl_common.c acl: use uintptr_t for ace walker cookies 2022-11-03 09:51:34 -07:00
callb.c Cleanup: Use NULL when doing NULL pointer comparisons 2023-01-12 16:00:37 -08:00
list.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
spl_acl.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
spl_atomic.c Update FreeBSD SPL atomics 2020-05-04 15:07:04 -07:00
spl_cmn_err.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
spl_dtrace.c Refactor ccompile.h to not include system headers 2020-07-25 20:09:50 -07:00
spl_kmem.c Enable -Wwrite-strings 2022-06-29 14:08:54 -07:00
spl_kstat.c Restrict visibility of per-dataset kstats inside FreeBSD jails 2022-12-09 11:04:29 -08:00
spl_misc.c Reduce false positives from Static Analyzers 2022-09-30 15:30:12 -07:00
spl_policy.c Share zfs_fsync, zfs_read, zfs_write, et al between Linux and FreeBSD 2020-10-21 14:08:06 -07:00
spl_procfs_list.c FreeBSD: Add support for procfs_list 2020-09-23 16:43:51 -07:00
spl_string.c Introduce kmem_scnprintf() 2022-10-29 13:05:11 -07:00
spl_sunddi.c Remove hw_serial, ddi_strtoul() 2022-05-13 10:15:31 -07:00
spl_sysevent.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
spl_taskq.c FreeBSD: Improve taskq wrapper 2023-11-06 16:33:18 -08:00
spl_uio.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
spl_vfs.c Allow mounting snapshots in .zfs/snapshot as a regular user 2022-11-03 11:53:24 -07:00
spl_vm.c Changes to make openzfs build within FreeBSD buildworld 2020-07-31 21:30:31 -07:00
spl_zlib.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
spl_zone.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00