Module Name: src Committed By: jdolecek Date: Fri Jun 19 14:13:23 UTC 2020
Modified Files: src/external/cddl/osnet/dist/uts/common/fs/zfs: zio.c Log Message: use pool_cache for (meta)data buffers also on NetBSD this should generally slightly improve performance on MP systems, and specifically for xbd(4) storage avoids slow unaligned I/O buffer handling this change requires updated kernel, to allow up to SPA_MAXBLOCKSHIFT item size for pools fixes PR kern/55397 by Frank Kardel To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.6 src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.7 --- src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.6 Tue May 7 08:49:59 2019 +++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c Fri Jun 19 14:13:23 2020 @@ -46,7 +46,7 @@ SYSCTL_DECL(_vfs_zfs); SYSCTL_NODE(_vfs_zfs, OID_AUTO, zio, CTLFLAG_RW, 0, "ZFS ZIO"); #ifdef __NetBSD__ -const int zio_use_uma = 0; +const int zio_use_uma = 1; #else #if defined(__amd64__) static int zio_use_uma = 1; @@ -156,7 +156,6 @@ zio_init(void) zio_link_cache = kmem_cache_create("zio_link_cache", sizeof (zio_link_t), 0, NULL, NULL, NULL, NULL, NULL, 0); -#ifndef __NetBSD__ if (!zio_use_uma) goto out; @@ -220,7 +219,6 @@ zio_init(void) zio_data_buf_cache[c - 1] = zio_data_buf_cache[c]; } out: -#endif /* __NetBSD__ */ zio_inject_init(); @@ -242,7 +240,6 @@ zio_fini(void) kmem_cache_t *last_cache = NULL; kmem_cache_t *last_data_cache = NULL; -#ifndef __NetBSD__ for (c = 0; c < SPA_MAXBLOCKSIZE >> SPA_MINBLOCKSHIFT; c++) { if (zio_buf_cache[c] != last_cache) { last_cache = zio_buf_cache[c]; @@ -256,7 +253,6 @@ zio_fini(void) } zio_data_buf_cache[c] = NULL; } -#endif /* __NetBSD__ */ kmem_cache_destroy(zio_link_cache); kmem_cache_destroy(zio_cache);