mirror_zfs/module/zfs
Alexander Motin acc8a31863 ARC: Cache arc_c value during arc_evict()
Since arc_evict() run can take some time, arc_c change during it
may result in undesired shift in ARC states balance. Primarily in
case of arc_c reduction it may cause eviction from MFU data state
despite its being below the target already.  Instead we should
evict as originally planned and if needed do another round after.

Reviewed-by: Theera K. <tkittich@hotmail.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #16576
Closes #16605
2024-11-05 15:43:52 -08:00
..
abd.c abd: add page iterator 2024-03-28 13:29:46 -07:00
aggsum.c
arc.c ARC: Cache arc_c value during arc_evict() 2024-11-05 15:43:52 -08:00
blake3_zfs.c blake3: fix up bogus checksums in face of cpu migration 2023-05-01 17:21:27 -07:00
blkptr.c
bplist.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
bpobj.c Add explicit prefetches to bpobj_iterate(). 2023-07-21 16:35:12 -07:00
bptree.c
bqueue.c
brt.c BRT: Skip getting length in brt_entry_lookup() 2024-04-19 10:13:38 -07:00
btree.c Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN. 2024-05-13 10:27:38 -05:00
dataset_kstats.c Fix null ptr deref when renaming a zvol with snaps and snapdev=visible (#16316) 2024-08-22 15:42:49 -07:00
dbuf_stats.c
dbuf.c Cleanup DB_DNODE() macros usage 2024-11-04 10:34:48 -08:00
ddt_zap.c Pack our DDT ZAPs a bit denser. 2023-06-30 09:42:02 -07:00
ddt.c ddt_addref: remove unnecessary phys fill when refcount is 0 2023-06-30 09:01:58 -07:00
dmu_diff.c
dmu_object.c Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN. 2024-05-13 10:27:38 -05:00
dmu_objset.c Slightly improve dnode hash 2024-05-29 08:54:19 -07:00
dmu_recv.c ZAP: Massively switch to _by_dnode() interfaces 2024-04-19 10:13:38 -07:00
dmu_redact.c
dmu_send.c Don't panic on unencrypted block in encrypted dataset 2024-01-08 16:11:39 -08:00
dmu_traverse.c Fix prefetching of indirect blocks while destroying 2023-03-24 10:20:07 -07:00
dmu_tx.c Cleanup DB_DNODE() macros usage 2024-11-04 10:34:48 -08:00
dmu_zfetch.c Add prefetch property 2024-04-30 10:01:15 -07:00
dmu.c Cleanup DB_DNODE() macros usage 2024-11-04 10:34:48 -08:00
dnode_sync.c
dnode.c Cleanup DB_DNODE() macros usage 2024-11-04 10:34:48 -08:00
dsl_bookmark.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
dsl_crypt.c Properly release key in spa_keystore_dsl_key_hold_dd() 2024-11-05 15:43:52 -08:00
dsl_dataset.c head_errlog: fix use-after-free 2024-07-15 09:07:33 -07:00
dsl_deadlist.c Refactor dmu_prefetch(). 2024-04-19 10:13:38 -07:00
dsl_deleg.c
dsl_destroy.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
dsl_dir.c Fix ENOSPC for extended quota 2023-09-28 14:28:21 -07:00
dsl_pool.c Remove lock from dsl_pool_need_dirty_delay() 2023-11-06 16:46:55 -08:00
dsl_prop.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
dsl_scan.c Fix scn_queue races on very old pools 2024-05-29 08:54:19 -07:00
dsl_synctask.c
dsl_userhold.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
edonr_zfs.c Remove unused Edon-R variants 2023-03-14 15:59:58 -07:00
fm.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
gzip.c
hkdf.c
lz4_zfs.c
lz4.c
lzjb.c
metaslab.c Some improvements to metaslabs eviction 2024-07-17 14:54:47 -07:00
mmp.c vdev probe to slow disk can stall mmp write checker 2024-04-30 10:01:15 -07:00
multilist.c L2ARC: Relax locking during write 2024-04-19 10:13:38 -07:00
objlist.c
pathname.c
range_tree.c btree: Implement faster binary search algorithm 2023-05-26 10:03:12 -07:00
refcount.c Switch refcount tracking from lists to AVL-trees. 2023-06-14 08:02:27 -07:00
rrwlock.c
sa.c Cleanup DB_DNODE() macros usage 2024-11-04 10:34:48 -08:00
sha2_zfs.c
skein_zfs.c
spa_checkpoint.c
spa_config.c Add mutex_enter_interruptible() for interruptible sleeping IOCTLs 2023-11-06 16:47:41 -08:00
spa_errlog.c Update the MOS directory on spa_upgrade_errlog() 2023-09-19 08:51:00 -07:00
spa_history.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
spa_log_spacemap.c Extend import_progress kstat with a notes field 2024-04-29 17:45:53 -07:00
spa_misc.c Extend import_progress kstat with a notes field 2024-04-29 17:45:53 -07:00
spa_stats.c
spa.c Some improvements to metaslabs eviction 2024-07-17 14:54:47 -07:00
space_map.c
space_reftree.c
THIRDPARTYLICENSE.cityhash
THIRDPARTYLICENSE.cityhash.descrip
txg.c vdev probe to slow disk can stall mmp write checker 2024-04-30 10:01:15 -07:00
uberblock.c
unique.c
vdev_draid_rand.c
vdev_draid.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
vdev_indirect_births.c
vdev_indirect_mapping.c
vdev_indirect.c Don't emit cksum_{actual_expected} in ereport.fs.zfs.checksum events 2023-07-21 16:35:12 -07:00
vdev_initialize.c Add the ability to uninitialize 2023-05-18 10:02:20 -07:00
vdev_label.c vdev probe to slow disk can stall mmp write checker 2024-04-30 10:01:15 -07:00
vdev_mirror.c
vdev_missing.c
vdev_queue.c Fix accounting error for pending sync IO ops in zpool iostat 2023-11-16 14:23:03 -08:00
vdev_raidz_math_aarch64_neon_common.h
vdev_raidz_math_aarch64_neon.c
vdev_raidz_math_aarch64_neonx2.c
vdev_raidz_math_avx2.c
vdev_raidz_math_avx512bw.c
vdev_raidz_math_avx512f.c
vdev_raidz_math_impl.h
vdev_raidz_math_powerpc_altivec_common.h
vdev_raidz_math_powerpc_altivec.c
vdev_raidz_math_scalar.c
vdev_raidz_math_sse2.c
vdev_raidz_math_ssse3.c
vdev_raidz_math.c Miscellaneous FreBSD compilation bugfixes 2023-04-06 10:35:02 -07:00
vdev_raidz.c GCC: Fixes for gcc 14 on Fedora 40 2024-04-29 13:50:05 -07:00
vdev_rebuild.c Tweak rebuild in-flight hard limit 2023-10-03 09:06:07 -07:00
vdev_removal.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
vdev_root.c
vdev_trim.c Autotrim High Load Average Fix 2024-01-18 11:33:29 -08:00
vdev.c zed: Add deadman-slot_off.sh zedlet 2024-11-04 10:49:53 -08:00
zap_leaf.c ZAP: Some cleanups/micro-optimizations 2024-04-19 10:13:38 -07:00
zap_micro.c ZAP: Massively switch to _by_dnode() interfaces 2024-04-19 10:13:38 -07:00
zap.c ZAP: Fix leaf references on zap_expand_leaf() errors 2024-05-29 08:54:19 -07:00
zcp_get.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
zcp_global.c
zcp_iter.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
zcp_set.c
zcp_synctask.c
zcp.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
zfeature.c
zfs_byteswap.c
zfs_chksum.c
zfs_fm.c Add slow disk diagnosis to ZED 2024-04-29 13:50:05 -07:00
zfs_fuid.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
zfs_impl.c
zfs_ioctl.c vdev probe to slow disk can stall mmp write checker 2024-04-30 10:01:15 -07:00
zfs_log.c zfs_log: add flex array fields to log record structs 2024-11-04 10:34:48 -08:00
zfs_onexit.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
zfs_quota.c Implementation of block cloning for ZFS 2023-03-10 11:59:53 -08:00
zfs_ratelimit.c
zfs_replay.c zfs_log: add flex array fields to log record structs 2024-11-04 10:34:48 -08:00
zfs_rlock.c
zfs_sa.c
zfs_vnops.c Fix corruption caused by mmap flushing problems 2024-03-29 17:10:04 -07:00
zil.c zfs: add bounds checking to zil_parse (#16308) 2024-08-22 15:12:54 -07:00
zio_checksum.c ZIL: Assert record sizes in different places 2024-01-08 16:11:39 -08:00
zio_compress.c
zio_inject.c vdev probe to slow disk can stall mmp write checker 2024-04-30 10:01:15 -07:00
zio.c vdev probe to slow disk can stall mmp write checker 2024-04-30 10:01:15 -07:00
zle.c
zrlock.c
zthr.c
zvol.c Refactor dmu_prefetch(). 2024-04-19 10:13:38 -07:00