mirror_zfs/module/zfs
Adam D. Moss 666aa69f32
Non-l2arc pool reads shouldn't be l2arc misses
The current l2_misses accounting behavior treats all reads to pools 
without a configured l2arc as an l2arc miss, IFF there is at least 
one other pool on the system which does have an l2arc configured.

This makes it extremely hard to tune for an improved l2arc hit/miss 
ratio because this ratio will be modulated by reads from pools which 
do not (and should not) have l2arc devices; its upper limit will 
depend on the ratio of reads from l2arc'd pools and non-l2arc'd pools.

This PR prevents ARC reads affecting l2arc stats (n.b. l2_misses is 
the only relevant one) where the target spa doesn't have an l2arc.

Includes new test - l2arc_l2miss_pos.ksh

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Amanakis <gamanakis@gmail.com>
Signed-off-by: Adam Moss <c@yotes.com>
Closes #10921
2020-10-20 11:39:52 -07:00
..
abd.c Add gang ABD child to parent gang ABD 2020-07-24 21:09:20 -07:00
aggsum.c
arc.c Non-l2arc pool reads shouldn't be l2arc misses 2020-10-20 11:39:52 -07:00
blkptr.c Add zstd support to zfs 2020-08-20 10:30:06 -07:00
bplist.c
bpobj.c Rename refcount.h to zfs_refcount.h 2020-07-29 16:35:33 -07:00
bptree.c Rename refcount.h to zfs_refcount.h 2020-07-29 16:35:33 -07:00
bqueue.c
btree.c Fix typo in btree.c 2020-08-17 15:25:37 -07:00
dataset_kstats.c
dbuf_stats.c Eliminate gratuitous bzeroing in dbuf_stats_hash_table_data 2020-09-30 13:24:38 -07:00
dbuf.c zfetch: Don't issue new streams when old have not completed 2020-09-27 17:08:38 -07:00
ddt_zap.c
ddt.c
dmu_diff.c
dmu_object.c
dmu_objset.c Throw const on some strings 2020-10-02 17:44:10 -07:00
dmu_recv.c Add zstd support to zfs 2020-08-20 10:30:06 -07:00
dmu_redact.c Fix crash caused by invalid snapshot names in redactnvl 2020-10-14 14:04:19 -07:00
dmu_send.c Drop references when skipping dmu_send due to EXDEV 2020-09-30 13:19:49 -07:00
dmu_traverse.c zil_parse: make callback parameters const 2020-10-09 09:34:54 -07:00
dmu_tx.c
dmu_zfetch.c dmu_zfetch: don't leak unreferenced stream when zfetch is freed 2020-10-13 21:03:36 -07:00
dmu.c Export dmu_offset_next() symbol 2020-08-25 08:34:41 -07:00
dnode_sync.c dnode_sync is careless with range tree 2020-08-26 21:48:29 -07:00
dnode.c Add DB_RF_NOPREFETCH to dbuf_read()s in dnode.c 2020-09-25 13:49:22 -07:00
dsl_bookmark.c
dsl_crypt.c Prune dead branch reported by Coverity 2020-09-25 13:11:53 -07:00
dsl_dataset.c Add zstd support to zfs 2020-08-20 10:30:06 -07:00
dsl_deadlist.c Fix i/o error handling of livelists and zap iteration 2020-08-05 10:22:09 -07:00
dsl_deleg.c
dsl_destroy.c Fix i/o error handling of livelists and zap iteration 2020-08-05 10:22:09 -07:00
dsl_dir.c Add 'zfs rename -u' to rename without remounting 2020-09-01 16:14:16 -07:00
dsl_pool.c
dsl_prop.c
dsl_scan.c zil_parse: make callback parameters const 2020-10-09 09:34:54 -07:00
dsl_synctask.c nowait synctask must succeed 2020-09-04 10:29:39 -07:00
dsl_userhold.c
edonr_zfs.c
fm.c Avoid posting duplicate zpool events 2020-09-04 10:34:28 -07:00
gzip.c
hkdf.c
lz4.c Prefix zfs internal endian checks with _ZFS 2020-07-28 13:02:49 -07:00
lzjb.c
Makefile.in Move spa_stats.c to common code 2020-08-30 14:12:46 -07:00
metaslab.c Sequential scrub and resilver updated comments 2020-09-04 10:51:51 -07:00
mmp.c Initialize mmp_last_write when the mmp thread starts 2020-09-09 10:12:54 -07:00
multilist.c Make use of ZFS_DEBUG consistent within kmod sources 2020-07-25 20:07:44 -07:00
objlist.c
pathname.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
range_tree.c Fix incorrect deletion order in range_tree_add_impl gap case 2020-10-14 08:59:54 -07:00
refcount.c Rename refcount.h to zfs_refcount.h 2020-07-29 16:35:33 -07:00
rrwlock.c Rename refcount.h to zfs_refcount.h 2020-07-29 16:35:33 -07:00
sa.c Remove duplicate dnode.h include 2020-08-26 21:41:09 -07:00
sha256.c
skein_zfs.c
spa_boot.c
spa_checkpoint.c
spa_config.c vdev_ashift should only be set once 2020-09-18 12:13:47 -07:00
spa_errlog.c
spa_history.c nowait synctask must succeed 2020-09-04 10:29:39 -07:00
spa_log_spacemap.c
spa_misc.c FreeBSD: Add support for procfs_list 2020-09-23 16:43:51 -07:00
spa_stats.c FreeBSD: Add support for procfs_list 2020-09-23 16:43:51 -07:00
spa.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
space_map.c Rename refcount.h to zfs_refcount.h 2020-07-29 16:35:33 -07:00
space_reftree.c
THIRDPARTYLICENSE.cityhash
THIRDPARTYLICENSE.cityhash.descrip
txg.c Replace cv_{timed}wait_sig with cv_{timed}wait_idle where appropriate 2020-09-03 20:04:09 -07:00
uberblock.c
unique.c
vdev_cache.c
vdev_indirect_births.c
vdev_indirect_mapping.c
vdev_indirect.c Avoid posting duplicate zpool events 2020-09-04 10:34:28 -07:00
vdev_initialize.c nowait synctask must succeed 2020-09-04 10:29:39 -07:00
vdev_label.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
vdev_mirror.c vdev_ashift should only be set once 2020-09-18 12:13:47 -07:00
vdev_missing.c Import vdev ashift optimization from FreeBSD 2020-08-21 12:53:17 -07:00
vdev_queue.c
vdev_raidz_math_aarch64_neon_common.h FreeBSD: fix the build with Clang 11 2020-08-17 15:40:17 -07:00
vdev_raidz_math_aarch64_neon.c
vdev_raidz_math_aarch64_neonx2.c
vdev_raidz_math_avx2.c FreeBSD: fix the build with Clang 11 2020-08-17 15:40:17 -07:00
vdev_raidz_math_avx512bw.c Refactor ccompile.h to not include system headers 2020-07-25 20:09:50 -07:00
vdev_raidz_math_avx512f.c FreeBSD: fix the build with Clang 11 2020-08-17 15:40:17 -07:00
vdev_raidz_math_impl.h
vdev_raidz_math_powerpc_altivec_common.h FreeBSD: fix the build with Clang 11 2020-08-17 15:40:17 -07:00
vdev_raidz_math_powerpc_altivec.c Prefix zfs internal endian checks with _ZFS 2020-07-28 13:02:49 -07:00
vdev_raidz_math_scalar.c
vdev_raidz_math_sse2.c FreeBSD: fix the build with Clang 11 2020-08-17 15:40:17 -07:00
vdev_raidz_math_ssse3.c Refactor ccompile.h to not include system headers 2020-07-25 20:09:50 -07:00
vdev_raidz_math.c FreeBSD: disable neon usage 2020-08-26 09:54:37 -07:00
vdev_raidz.c Avoid posting duplicate zpool events 2020-09-04 10:34:28 -07:00
vdev_rebuild.c nowait synctask must succeed 2020-09-04 10:29:39 -07:00
vdev_removal.c Ignore special vdev ashift for spa ashift min/max 2020-10-15 14:45:16 -07:00
vdev_root.c Import vdev ashift optimization from FreeBSD 2020-08-21 12:53:17 -07:00
vdev_trim.c nowait synctask must succeed 2020-09-04 10:29:39 -07:00
vdev.c Ignore special vdev ashift for spa ashift min/max 2020-10-15 14:45:16 -07:00
zap_leaf.c
zap_micro.c Rename refcount.h to zfs_refcount.h 2020-07-29 16:35:33 -07:00
zap.c Rename refcount.h to zfs_refcount.h 2020-07-29 16:35:33 -07:00
zcp_get.c
zcp_global.c
zcp_iter.c
zcp_set.c
zcp_synctask.c filesystem_limit/snapshot_limit is incorrectly enforced against root 2020-07-11 17:18:02 -07:00
zcp.c filesystem_limit/snapshot_limit is incorrectly enforced against root 2020-07-11 17:18:02 -07:00
zfeature.c Throw const on some strings 2020-10-02 17:44:10 -07:00
zfs_byteswap.c
zfs_fm.c Avoid posting duplicate zpool events 2020-09-04 10:34:28 -07:00
zfs_fuid.c FreeBSD: Fix UNIX permissions checking 2020-08-18 09:57:07 -07:00
zfs_ioctl.c Throw const on some strings 2020-10-02 17:44:10 -07:00
zfs_log.c Throw const on some strings 2020-10-02 17:44:10 -07:00
zfs_onexit.c
zfs_quota.c
zfs_ratelimit.c
zfs_replay.c
zfs_rlock.c Add a "try" operation for range locks 2020-07-06 11:53:31 -07:00
zfs_sa.c
zil.c zil_parse: make callback parameters const 2020-10-09 09:34:54 -07:00
zio_checksum.c
zio_compress.c Avoid symbol collision with in-kernel zstdlib 2020-08-24 12:20:41 -07:00
zio_inject.c
zio.c Avoid posting duplicate zpool events 2020-09-04 10:34:28 -07:00
zle.c
zrlock.c
zthr.c Retain thread name when resuming a zthr 2020-09-03 20:09:52 -07:00
zvol.c