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

From: Mateusz Guzik <mjguzik_at_gmail.com>
Date: Mon, 04 Jul 2022 10:42:19 UTC
[responding to a random e-mail]

The following are still broken:
powerpc LINT64LE kernel failed, check _.powerpc.LINT64LE for details
powerpc GENERIC64LE-NODEBUG kernel failed, check
_.powerpc.GENERIC64LE-NODEBUG for details
powerpc GENERIC64LE kernel failed, check _.powerpc.GENERIC64LE for details

with:
/usr/src/sys/contrib/openzfs/module/icp/algs/blake3/blake3_x86-64.c:78:28:
error: implicit declaration of function 'zfs_vsx_available' is invalid
in C99 [-Werror,-Wimplicit-function-declaration]
        return (kfpu_allowed() && zfs_vsx_available());
                                  ^
/usr/src/sys/contrib/openzfs/module/icp/algs/blake3/blake3_x86-64.c:144:28:
error: implicit declaration of function 'zfs_vsx_available' is invalid
in C99 [-Werror,-Wimplicit-function-declaration]
        return (kfpu_allowed() && zfs_vsx_available());

what's the status here

On 7/1/22, John Baldwin <jhb@freebsd.org> wrote:
> On 6/30/22 4:22 PM, Jessica Clarke wrote:
>> 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.
>
> Just commit it.  It's a trivial fix and the build breakage spam for all the
> commmits since this went in isn't worth waiting on further.
>
> --
> John Baldwin
>


-- 
Mateusz Guzik <mjguzik gmail.com>