mirror_zfs/include/os/freebsd/spl/sys
khoang98 3a8e23d0f8 Skip dbuf_evict_one() from dbuf_evict_notify() for reclaim thread
Avoid calling dbuf_evict_one() from memory reclaim contexts (e.g. Linux
kswapd, FreeBSD pagedaemon). This prevents deadlock caused by reclaim
threads waiting for the dbuf hash lock in the call sequence:
dbuf_evict_one -> dbuf_destroy -> arc_buf_destroy

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Kaitlin Hoang <kthoang@amazon.com>
Closes #17561
2025-10-16 17:03:47 -07:00
..
ia32 Use .section .rodata instead of .rodata on FreeBSD 2023-02-24 16:45:48 -08:00
acl_impl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
acl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
atomic.h FreeBSD: Reduce divergence from in-tree sources 2023-10-10 19:19:09 -07:00
byteorder.h Reduce false positives from Static Analyzers 2022-09-30 15:30:12 -07:00
callb.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
ccompat.h freebsd: Use compiler.h from FreeBSD's base's linuxkpi 2024-11-18 11:44:05 -08:00
ccompile.h Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN. 2024-05-13 10:27:38 -05:00
cmn_err.h spl: cmn_err_once() should be usable in brace-less if else statements 2023-03-15 11:13:25 -07:00
condvar.h
cred.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
ctype.h FreeBSD: Reduce divergence from in-tree sources 2023-10-10 19:19:09 -07:00
debug.h freebsd: Use compiler.h from FreeBSD's base's linuxkpi 2024-11-18 11:44:05 -08:00
dirent.h
disp.h Cleanup: Use OpenSolaris functions to call scheduler 2022-09-12 09:55:37 -07:00
dkio.h freebsd: trim dkio.h to the minimum 2022-11-07 15:55:33 -08:00
fcntl.h
file.h
freebsd_rwlock.h
idmap.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
inttypes.h
isa_defs.h freebsd: simplify MD isa_defs.h 2022-11-07 15:55:37 -08:00
kmem_cache.h
kmem.h Linux: Report reclaimable memory to kernel as such (#16385) 2024-11-14 15:20:06 -08:00
kstat.h Cleanup: Switch to strlcpy from strncpy 2022-09-27 16:35:29 -07:00
list_impl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
list.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
lock.h
misc.h Skip dbuf_evict_one() from dbuf_evict_notify() for reclaim thread 2025-10-16 17:03:47 -07:00
mod_os.h freebsd: fix compile for spa_taskq_read/spa_taskq_write params 2024-01-16 11:32:19 -08:00
mode.h
mount.h
mutex.h Add mutex_enter_interruptible() for interruptible sleeping IOCTLs 2023-11-06 16:47:41 -08:00
param.h
policy.h cred: properly pass and test creds on other threads (#17273) 2025-06-02 16:49:51 -07:00
proc.h FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-11-15 10:15:00 -08:00
processor.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
procfs_list.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
random.h FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-11-15 10:15:00 -08:00
rwlock.h
sdt.h FreeBSD: Use a statement expression to implement SET_ERROR() (#16284) 2024-07-23 11:58:49 -07:00
sid.h
sig.h Simplify issig(). 2024-11-14 15:20:10 -08:00
simd_aarch64.h module: freebsd: fix aarch64 fpu handling 2023-04-10 12:40:18 -07:00
simd_arm.h Miscellaneous FreBSD compilation bugfixes 2023-04-06 10:35:02 -07:00
simd_powerpc.h powerpc64: Support ELFv2 asm on Big Endian 2023-04-27 12:49:21 -07:00
simd_x86.h Miscellaneous FreBSD compilation bugfixes 2023-04-06 10:35:02 -07:00
simd.h Fix gcc unused value warning in FreeBSD simd.h 2024-11-06 10:06:29 -08:00
spl_condvar.h FreeBSD: Reduce divergence from in-tree sources 2023-10-10 19:19:09 -07:00
string.h
sunddi.h
sysmacros.h Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN. 2024-05-13 10:27:38 -05:00
systeminfo.h
systm.h
taskq.h FreeBSD: Improve taskq wrapper 2023-11-06 16:33:18 -08:00
thread.h
time.h
timer.h Cleanup: Use OpenSolaris functions to call scheduler 2022-09-12 09:55:37 -07:00
trace_zfs.h
trace.h
types32.h
types.h Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
uio.h dmu: Allow buffer fills to fail 2024-02-20 15:53:02 -08:00
uuid.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vfs.h FreeBSD: Fix ZFS so that snapshots under .zfs/snapshot are NFS visible 2023-11-29 14:08:46 -08:00
vm.h FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-11-15 10:15:00 -08:00
vmsystm.h
vnode_impl.h FreeBSD: Cleanup zfs_readdir() 2022-09-20 14:50:16 -07:00
vnode.h FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-11-15 10:15:00 -08:00
wmsum.h
zmod.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zone.h