Re: git: 1f1e2261e341 - main - zfs: merge openzfs/zfs@deb121309

From: Jessica Clarke <jrtc27_at_freebsd.org>
Date: Thu, 30 Jun 2022 23:22:33 UTC
On 23 Jun 2022, at 16:50, Martin Matuska <mm@FreeBSD.org> wrote:
> 
> The branch main has been updated by mm:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=1f1e2261e341e6ca6862f82261066ef1705f0a7a
> 
> commit 1f1e2261e341e6ca6862f82261066ef1705f0a7a
> Merge: a320e9dd51e6 deb1213098e2
> Author:     Martin Matuska <mm@FreeBSD.org>
> AuthorDate: 2022-06-23 15:47:42 +0000
> Commit:     Martin Matuska <mm@FreeBSD.org>
> CommitDate: 2022-06-23 15:49:33 +0000
> 
>    zfs: merge openzfs/zfs@deb121309
> 
>    Notable upstream pull request merges:
>      #12918 Introduce BLAKE3 checksums as an OpenZFS feature
>      #13553 Reduce ZIO io_lock contention on sorted scrub
>      #13537 Improve sorted scan memory accounting
>      #13540 AVL: Remove obsolete branching optimizations
>      #13563 FreeBSD: Improve crypto_dispatch() handling
> 
>    Obtained from:  OpenZFS
>    OpenZFS commit: deb1213098e2dc10e6eee5e5c57bb40584e096a6
> 
> cddl/lib/libicp/Makefile                           |   29 +-
> cddl/lib/libicp_rescue/Makefile                    |   29 +-
> cddl/lib/libzpool/Makefile                         |    2 +
> sys/contrib/openzfs/AUTHORS                        |    1 +
> sys/contrib/openzfs/cmd/zfs/zfs_iter.c             |    6 +-
> sys/contrib/openzfs/cmd/zfs/zfs_main.c             |   68 +-
> sys/contrib/openzfs/cmd/zpool/zpool_main.c         |    4 +-
> sys/contrib/openzfs/cmd/ztest.c                    |   89 +
> sys/contrib/openzfs/config/always-arch.m4          |    2 +
> sys/contrib/openzfs/config/kernel-add-disk.m4      |    3 +-
> sys/contrib/openzfs/config/kernel-blk-queue.m4     |   32 +
> sys/contrib/openzfs/config/kernel-user-ns-inum.m4  |   23 +
> sys/contrib/openzfs/config/kernel.m4               |    2 +
> .../contrib/dracut/90zfs/module-setup.sh.in        |    3 +-
> .../contrib/pyzfs/libzfs_core/_constants.py        |    1 +
> sys/contrib/openzfs/etc/Makefile.am                |    3 +
> .../etc/systemd/system/zfs-trim-monthly@.timer.in  |   12 +
> .../etc/systemd/system/zfs-trim-weekly@.timer.in   |   12 +
> .../etc/systemd/system/zfs-trim@.service.in        |   15 +
> sys/contrib/openzfs/include/Makefile.am            |    2 +
> sys/contrib/openzfs/include/libzfs.h               |   10 +
> .../openzfs/include/os/freebsd/spl/sys/ccompile.h  |    2 +
> .../include/os/linux/kernel/linux/blkdev_compat.h  |  111 +
> .../include/os/linux/kernel/linux/simd_powerpc.h   |   34 +-
> .../include/os/linux/kernel/linux/vfs_compat.h     |   16 -
> sys/contrib/openzfs/include/os/linux/spl/sys/uio.h |   39 +-
> .../openzfs/include/os/linux/spl/sys/zone.h        |   31 +-
> .../include/os/linux/zfs/sys/zfs_context_os.h      |    5 +
> sys/contrib/openzfs/include/sys/blake3.h           |  125 +
> sys/contrib/openzfs/include/sys/fs/zfs.h           |    6 +-
> sys/contrib/openzfs/include/sys/zfs_chksum.h       |   48 +
> sys/contrib/openzfs/include/sys/zfs_ioctl.h        |    3 +-
> sys/contrib/openzfs/include/sys/zio.h              |    1 +
> sys/contrib/openzfs/include/sys/zio_checksum.h     |   12 +-
> sys/contrib/openzfs/include/zfeature_common.h      |    1 +
> sys/contrib/openzfs/lib/libicp/Makefile.am         |   25 +-
> sys/contrib/openzfs/lib/libspl/include/sys/simd.h  |   18 +
> sys/contrib/openzfs/lib/libspl/include/sys/types.h |    2 +-
> sys/contrib/openzfs/lib/libspl/include/zone.h      |   12 +-
> sys/contrib/openzfs/lib/libspl/os/linux/zone.c     |   32 +-
> sys/contrib/openzfs/lib/libuutil/libuutil.abi      |    2 +-
> sys/contrib/openzfs/lib/libzfs/libzfs.abi          |   18 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c     |   10 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c    |   64 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_diff.c       |    2 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_impl.h       |    4 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_pool.c       |  299 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c   |   36 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_util.c       |   12 +-
> .../openzfs/lib/libzfs/os/freebsd/libzfs_compat.c  |    2 -
> .../openzfs/lib/libzfs/os/linux/libzfs_pool_os.c   |    2 +-
> .../openzfs/lib/libzfs/os/linux/libzfs_util_os.c   |   71 +
> .../openzfs/lib/libzfs_core/libzfs_core.abi        |    2 +-
> sys/contrib/openzfs/lib/libzpool/Makefile.am       |    2 +
> sys/contrib/openzfs/man/Makefile.am                |    2 +
> sys/contrib/openzfs/man/man4/zfs.4                 |   69 +-
> sys/contrib/openzfs/man/man7/zfsprops.7            |   10 +-
> sys/contrib/openzfs/man/man7/zpool-features.7      |    8 +
> sys/contrib/openzfs/man/man8/zfs-unzone.8          |    1 +
> sys/contrib/openzfs/man/man8/zfs-zone.8            |  116 +
> sys/contrib/openzfs/man/man8/zpool-trim.8          |   21 +
> sys/contrib/openzfs/module/Kbuild.in               |   38 +-
> sys/contrib/openzfs/module/Makefile.bsd            |   34 +-
> sys/contrib/openzfs/module/avl/avl.c               |   24 +-
> .../openzfs/module/icp/algs/blake3/blake3.c        |  732 +++++
> .../module/icp/algs/blake3/blake3_generic.c        |  202 ++
> .../openzfs/module/icp/algs/blake3/blake3_impl.c   |  284 ++
> .../openzfs/module/icp/algs/blake3/blake3_impl.h   |  213 ++
> .../openzfs/module/icp/algs/blake3/blake3_x86-64.c |  248 ++
> .../icp/asm-aarch64/blake3/b3_aarch64_sse2.S       | 2450 ++++++++++++++++
> .../icp/asm-aarch64/blake3/b3_aarch64_sse41.S      | 2463 ++++++++++++++++
> .../module/icp/asm-ppc64/blake3/b3_ppc64le_sse2.S  | 2823 ++++++++++++++++++
> .../module/icp/asm-ppc64/blake3/b3_ppc64le_sse41.S | 3064 ++++++++++++++++++++
> .../module/icp/asm-x86_64/blake3/blake3_avx2.S     | 1845 ++++++++++++
> .../module/icp/asm-x86_64/blake3/blake3_avx512.S   | 2618 +++++++++++++++++
> .../module/icp/asm-x86_64/blake3/blake3_sse2.S     | 2323 +++++++++++++++
> .../module/icp/asm-x86_64/blake3/blake3_sse41.S    | 2058 +++++++++++++
> .../openzfs/module/os/freebsd/zfs/crypto_os.c      |   41 +-
> .../openzfs/module/os/linux/spl/spl-generic.c      |    6 +
> sys/contrib/openzfs/module/os/linux/spl/spl-zone.c |  424 +++
> sys/contrib/openzfs/module/os/linux/zfs/policy.c   |    2 +-
> .../openzfs/module/os/linux/zfs/zfs_ioctl_os.c     |   47 +
> sys/contrib/openzfs/module/os/linux/zfs/zfs_uio.c  |  154 +-
> .../openzfs/module/os/linux/zfs/zfs_vfsops.c       |   20 +
> .../openzfs/module/os/linux/zfs/zpl_ctldir.c       |   17 +
> .../openzfs/module/os/linux/zfs/zpl_super.c        |    1 +
> .../openzfs/module/os/linux/zfs/zpl_xattr.c        |    5 +-
> sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c  |  632 +++-
> .../openzfs/module/zcommon/zfeature_common.c       |   31 +-
> sys/contrib/openzfs/module/zcommon/zfs_prop.c      |    8 +-
> sys/contrib/openzfs/module/zfs/blake3_zfs.c        |  117 +
> sys/contrib/openzfs/module/zfs/dsl_prop.c          |   10 +-
> sys/contrib/openzfs/module/zfs/dsl_scan.c          |   26 +-
> sys/contrib/openzfs/module/zfs/spa_misc.c          |    3 +
> sys/contrib/openzfs/module/zfs/vdev.c              |    6 +-
> sys/contrib/openzfs/module/zfs/zcp_synctask.c      |    2 +-
> sys/contrib/openzfs/module/zfs/zfs_chksum.c        |  323 +++
> sys/contrib/openzfs/module/zfs/zfs_ioctl.c         |   14 +-
> sys/contrib/openzfs/module/zfs/zio_checksum.c      |    6 +
> sys/contrib/openzfs/tests/runfiles/common.run      |   10 +-
> sys/contrib/openzfs/tests/runfiles/linux.run       |    8 +-
> sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore |    1 +
> .../openzfs/tests/zfs-tests/cmd/Makefile.am        |    6 +-
> .../tests/zfs-tests/cmd/checksum/blake3_test.c     |  575 ++++
> .../tests/zfs-tests/cmd/checksum/edonr_test.c      |    3 -
> .../tests/zfs-tests/cmd/checksum/sha2_test.c       |    3 -
> .../tests/zfs-tests/cmd/checksum/skein_test.c      |    3 -
> .../openzfs/tests/zfs-tests/include/commands.cfg   |    5 +
> .../openzfs/tests/zfs-tests/include/libtest.shlib  |   45 +-
> .../tests/zfs-tests/include/properties.shlib       |    2 +-
> .../openzfs/tests/zfs-tests/include/tunables.cfg   |    1 +
> .../openzfs/tests/zfs-tests/tests/Makefile.am      |    9 +
> .../tests/functional/checksum/default.cfg          |    2 +-
> .../tests/functional/checksum/run_blake3_test.ksh  |   30 +
> .../cli_root/zfs_set/checksum_001_pos.ksh          |    2 +-
> .../functional/cli_root/zpool_get/zpool_get.cfg    |    1 +
> .../user_namespace/user_namespace_001.ksh          |    5 +
> .../user_namespace/user_namespace_002.ksh          |  115 +
> .../user_namespace/user_namespace_003.ksh          |   97 +
> .../user_namespace/user_namespace_004.ksh          |   67 +
> .../tests/functional/zvol/zvol_common.shlib        |   11 +
> .../functional/zvol/zvol_misc/zvol_misc_fua.ksh    |   96 +
> .../functional/zvol/zvol_misc/zvol_misc_trim.ksh   |  136 +
> .../tests/functional/zvol/zvol_stress/cleanup.ksh  |   36 +
> .../tests/functional/zvol/zvol_stress/setup.ksh    |   36 +
> .../functional/zvol/zvol_stress/zvol_stress.ksh    |  169 ++
> sys/modules/zfs/Makefile                           |   30 +-
> sys/modules/zfs/zfs_config.h                       |   10 +-
> sys/modules/zfs/zfs_gitrev.h                       |    2 +-
> 129 files changed, 25938 insertions(+), 516 deletions(-)
> 
> diff --cc cddl/lib/libicp/Makefile
> index 6a8e979ea836,000000000000..5b316453af9a
> mode 100644,000000..100644
> --- a/cddl/lib/libicp/Makefile
> +++ b/cddl/lib/libicp/Makefile
> @@@ -1,92 -1,0 +1,119 @@@
> +# $FreeBSD$
> +
> +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
> +
> +PACKAGE=	utilities
> +LIB=	icp
> +LIBADD=
> +
> +
> +.if ${MACHINE_ARCH} == "amd64"
> +ASM_SOURCES_C = asm-x86_64/aes/aeskey.c
> +ASM_SOURCES_AS = \
> +        asm-x86_64/aes/aes_amd64.S \
> +        asm-x86_64/aes/aes_aesni.S \
> +        asm-x86_64/modes/gcm_pclmulqdq.S \
> +        asm-x86_64/modes/aesni-gcm-x86_64.S \
> +        asm-x86_64/modes/ghash-x86_64.S \
> +        asm-x86_64/sha2/sha256_impl.S \
> -         asm-x86_64/sha2/sha512_impl.S
> ++        asm-x86_64/sha2/sha512_impl.S \
> ++        asm-x86_64/blake3/blake3_avx2.S \
> ++        asm-x86_64/blake3/blake3_avx512.S \
> ++        asm-x86_64/blake3/blake3_sse2.S \
> ++        asm-x86_64/blake3/blake3_sse41.S
> +
> +CFLAGS+= -D__amd64 -D_SYS_STACK_H -UHAVE_AES
> ++.elif ${MACHINE_ARCH} == "aarch64"
> ++ASM_SOURCES_C =
> ++ASM_SOURCES_AS = \
> ++        asm-aarch64/blake3/b3_aarch64_sse2.S \
> ++        asm-aarch64/blake3/b3_aarch64_sse41.S
> ++.elif ${MACHINE_ARCH} == "powerpc64"

This should be powerpc64le, as it’s for little-endian not big-endian.
The powerpc64le build has been broken since this commit.

Jess

> ++ASM_SOURCES_C =
> ++ASM_SOURCES_AS = \
> ++        asm-ppc64/blake3/b3_ppc64le_sse2.S \
> ++        asm-ppc64/blake3/b3_ppc64le_sse41.S
> +.else
> +ASM_SOURCES_C =
> +ASM_SOURCES_AS =
> +.endif
> [...]