mirror_zfs/include/os/linux/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 x86 asm: Replace .align with .balign 2023-01-24 09:04:39 -08:00
acl.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
atomic.h More aggsum optimizations 2021-06-07 09:02:47 -07:00
byteorder.h Reduce false positives from Static Analyzers 2022-09-30 15:30:12 -07:00
callb.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
callo.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07: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 config: remove HAVE_WAIT_QUEUE_* 2024-11-15 10:15:00 -08:00
cred.h config: remove HAVE_SUPER_USER_NS 2024-11-15 10:14:59 -08:00
ctype.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
debug.h Add custom debug printing for your asserts 2024-11-18 11:44:05 -08:00
disp.h Cleanup: Use OpenSolaris functions to call scheduler 2022-09-12 09:55:37 -07:00
dkio.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
errno.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
fcntl.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
file.h config: remove HAVE_INODE_LOCK_SHARED 2024-11-15 10:14:59 -08:00
inttypes.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
isa_defs.h Add loongarch64 support 2023-04-25 16:05:45 -07:00
kmem_cache.h Linux 6.12: avoid kmem_cache_create redefinition 2024-11-15 10:15:01 -08:00
kmem.h Use __attribute__((malloc)) on memory allocation functions 2023-05-26 15:47:52 -07:00
kstat.h Cleanup: Switch to strlcpy from strncpy 2022-09-27 16:35:29 -07:00
list.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
misc.h Skip dbuf_evict_one() from dbuf_evict_notify() for reclaim thread 2025-10-16 17:03:47 -07:00
mod_os.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
mutex.h Add mutex_enter_interruptible() for interruptible sleeping IOCTLs 2023-11-06 16:47:41 -08:00
param.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
proc.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
processor.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
procfs_list.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
random.h FreeBSD: fix compilation of FreeBSD world after 29274c9f6 2021-06-25 10:28:51 -07:00
rwlock.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
shrinker.h linux 6.7 compat: rework shrinker setup for heap allocations 2023-12-21 11:03:08 -08:00
sid.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
signal.h config: remove HAVE_SCHED_SIGNAL_HEADER 2024-11-15 10:15:00 -08:00
simd.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
stat.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
string.h config: remove HAVE_KERNEL_STRSCPY 2024-11-15 10:14:58 -08:00
sunddi.h Remove hw_serial, ddi_strtoul() 2022-05-13 10:15:31 -07:00
sysmacros.h Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN. 2024-05-13 10:27:38 -05:00
systeminfo.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
taskq.h Fix compile-time warnings caused by duplicate struct typedefs (#16880) 2024-12-18 15:54:54 -08:00
thread.h config: remove HAVE_SET_SPECIAL_STATE 2024-11-15 10:15:00 -08:00
time.h config: remove HAVE_KTIME_GET_RAW_TS64 2024-11-15 10:15:00 -08:00
timer.h config: remove HAVE_KERNEL_TIMER_SETUP 2024-11-15 10:14:59 -08:00
trace_spl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_taskq.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
tsd.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
types32.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
types.h Linux 6.10 compat: Fix tracepoints definitions 2024-11-13 10:17:07 -08:00
uio.h linux/uio: remove "skip" offset for UIO_ITER 2025-05-27 14:41:45 -07:00
user.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
vfs.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
vmem.h Use __attribute__((malloc)) on memory allocation functions 2023-05-26 15:47:52 -07:00
vmsystm.h Add membar_sync 2022-09-20 15:32:44 -07:00
vnode.h Consolidate zfs_holey and zfs_access 2020-10-31 09:40:08 -07:00
wait.h config: remove HAVE_WAIT_QUEUE_* 2024-11-15 10:15:00 -08:00
wmsum.h config: remove HAVE_PERCPU_COUNTER_ADD_BATCH 2024-11-15 10:15:00 -08:00
zmod.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
zone.h Add Linux namespace delegation support 2022-06-10 09:51:46 -07:00