]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Code cleanups
authorPawel Jakub Dawidek <pawel@dawidek.net>
Tue, 30 Nov 2021 18:32:38 +0000 (10:32 -0800)
committerGitHub <noreply@github.com>
Tue, 30 Nov 2021 18:32:38 +0000 (10:32 -0800)
- Allocate ve_search on the stack, so we avoid allocating memory for
  every I/O even if the VDEV cache is disabled.
- Reduce lock scope.
- Avoid locking in vdev_cache_read() when the VDEV cache is disabled.
- Sort file names properly.
- Correct comment.

Reviewed-by: Allan Jude <allan@klarasystems.com>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Pawel Jakub Dawidek <pawel@dawidek.net>
Closes #12749

lib/libzpool/Makefile.am
module/Makefile.bsd
module/zfs/dbuf.c
module/zfs/vdev_cache.c
module/zfs/vdev_queue.c

index 3cc0c2f2ec05a9b275f43fc44e327a926e456e16..dce3f81b829dd2bf56744b61aa36815fa3bf83f0 100644 (file)
@@ -58,8 +58,8 @@ KERNEL_C = \
        bplist.c \
        bpobj.c \
        bptree.c \
-       btree.c \
        bqueue.c \
+       btree.c \
        cityhash.c \
        dbuf.c \
        dbuf_stats.c \
@@ -78,23 +78,23 @@ KERNEL_C = \
        dnode.c \
        dnode_sync.c \
        dsl_bookmark.c \
+       dsl_crypt.c \
        dsl_dataset.c \
        dsl_deadlist.c \
        dsl_deleg.c \
+       dsl_destroy.c \
        dsl_dir.c \
-       dsl_crypt.c \
        dsl_pool.c \
        dsl_prop.c \
        dsl_scan.c \
        dsl_synctask.c \
-       dsl_destroy.c \
        dsl_userhold.c \
        edonr_zfs.c \
-       hkdf.c \
        fm.c \
        gzip.c \
-       lzjb.c \
+       hkdf.c \
        lz4.c \
+       lzjb.c \
        metaslab.c \
        mmp.c \
        multilist.c \
@@ -117,8 +117,8 @@ KERNEL_C = \
        spa_stats.c \
        space_map.c \
        space_reftree.c \
-       txg.c \
        trace.c \
+       txg.c \
        uberblock.c \
        unique.c \
        vdev.c \
@@ -126,8 +126,8 @@ KERNEL_C = \
        vdev_draid.c \
        vdev_draid_rand.c \
        vdev_file.c \
-       vdev_indirect_births.c \
        vdev_indirect.c \
+       vdev_indirect_births.c \
        vdev_indirect_mapping.c \
        vdev_initialize.c \
        vdev_label.c \
@@ -135,16 +135,16 @@ KERNEL_C = \
        vdev_missing.c \
        vdev_queue.c \
        vdev_raidz.c \
+       vdev_raidz_math.c \
        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.c \
+       vdev_raidz_math_powerpc_altivec.c \
        vdev_raidz_math_scalar.c \
        vdev_raidz_math_sse2.c \
        vdev_raidz_math_ssse3.c \
-       vdev_raidz_math_powerpc_altivec.c \
        vdev_rebuild.c \
        vdev_removal.c \
        vdev_root.c \
@@ -165,9 +165,9 @@ KERNEL_C = \
        zfs_fuid.c \
        zfs_racct.c \
        zfs_sa.c \
-       zfs_znode.c \
        zfs_ratelimit.c \
        zfs_rlock.c \
+       zfs_znode.c \
        zil.c \
        zio.c \
        zio_checksum.c \
index 63aacb04b35bcfc96a8a1b104200920aace23c2d..315be28086054af07f78cd5fb10ab38310693c24 100644 (file)
@@ -268,12 +268,12 @@ SRCS+=    abd.c \
        vdev_raidz.c \
        vdev_raidz_math.c \
        vdev_raidz_math_scalar.c \
-       vdev_rebuild.c \
        vdev_raidz_math_avx2.c \
        vdev_raidz_math_avx512bw.c \
        vdev_raidz_math_avx512f.c \
        vdev_raidz_math_sse2.c \
        vdev_raidz_math_ssse3.c \
+       vdev_rebuild.c \
        vdev_removal.c \
        vdev_root.c \
        vdev_trim.c \
index fe54da425286a61940436d009ae7b3ba11fa0e59..1a298deb1822f08766ee8cdcf6951e3623beb86f 100644 (file)
@@ -1997,8 +1997,8 @@ dbuf_free_range(dnode_t *dn, uint64_t start_blkid, uint64_t end_blkid,
                mutex_exit(&db->db_mtx);
        }
 
-       kmem_free(db_search, sizeof (dmu_buf_impl_t));
        mutex_exit(&dn->dn_dbufs_mtx);
+       kmem_free(db_search, sizeof (dmu_buf_impl_t));
 }
 
 void
index 6e82184b800d32e94a24cc6372a8998cb132a50b..35ed1a3352fe0b7d94b13e4b2304253556de4640 100644 (file)
@@ -251,13 +251,16 @@ boolean_t
 vdev_cache_read(zio_t *zio)
 {
        vdev_cache_t *vc = &zio->io_vd->vdev_cache;
-       vdev_cache_entry_t *ve, *ve_search;
+       vdev_cache_entry_t *ve, ve_search;
        uint64_t cache_offset = P2ALIGN(zio->io_offset, VCBS);
        zio_t *fio;
        uint64_t cache_phase __maybe_unused = P2PHASE(zio->io_offset, VCBS);
 
        ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ);
 
+       if (zfs_vdev_cache_size == 0)
+               return (B_FALSE);
+
        if (zio->io_flags & ZIO_FLAG_DONT_CACHE)
                return (B_FALSE);
 
@@ -274,10 +277,8 @@ vdev_cache_read(zio_t *zio)
 
        mutex_enter(&vc->vc_lock);
 
-       ve_search = kmem_alloc(sizeof (vdev_cache_entry_t), KM_SLEEP);
-       ve_search->ve_offset = cache_offset;
-       ve = avl_find(&vc->vc_offset_tree, ve_search, NULL);
-       kmem_free(ve_search, sizeof (vdev_cache_entry_t));
+       ve_search.ve_offset = cache_offset;
+       ve = avl_find(&vc->vc_offset_tree, &ve_search, NULL);
 
        if (ve != NULL) {
                if (ve->ve_missed_update) {
index cc5b15b8c0289855e8b9a32b278ff75bfbd826de..af612ba9c9c68353ded5548763b9d6a52cbb458a 100644 (file)
@@ -408,7 +408,7 @@ vdev_queue_class_max_active(spa_t *spa, vdev_queue_t *vq, zio_priority_t p)
 }
 
 /*
- * Return the i/o class to issue from, or ZIO_PRIORITY_MAX_QUEUEABLE if
+ * Return the i/o class to issue from, or ZIO_PRIORITY_NUM_QUEUEABLE if
  * there is no eligible class.
  */
 static zio_priority_t