[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Potential spiped 1.6.2 release -- please test

On Thu, Dec 09, 2021 at 10:20:59PM -0800, Colin Percival wrote:
> Hi spiped users,
> I've just uploaded a tarball which may be (modulo version number update)
> spiped 1.6.2.  Please test this -- even if all you have time to do is check
> that it compiles on your platform, that's better than nothing, but running
> 'make all test' and/or testing with live usage would be much better.


Thanks a lot for your continued work on spiped!

> Significant changes since 1.6.1:
> * significantly improved performance on amd64 and ARM platforms, using
>   CPU intrinsics for optimized cryptographic primitives.

So it turns out that the ARM AES feature uses vdupq_laneq_u32(), which
seems to be an A64-only instruction. This led to the build breaking on
the Debian armhf builder[0] (look for vdupq_laneq_u32 in the build log).

The build, your test suite, and my trivial test added as a Debian
autopkgtest seem to have all succeeded on pretty much all other Debian
architectures so far[1][2].

What do you think about the two attached patches? The first one blocks
the ARM AES feature from being enabled on non-aarch64 ARM builders, and
the second one makes sure that the tests-output/ directory is removed
after "make clean".

Thanks in advance for looking at this, and keep up the great work!


[0] https://buildd.debian.org/status/fetch.php?pkg=spiped&arch=armhf&ver=

[1] https://buildd.debian.org/status/package.php?p=spiped&suite=experimental

[2] ...well... except for the GNU Hurd. The build got further there
    (thanks!), but the test suite failed with a SO_REUSEADDR error on
    an AF_LOCAL socket. I have a patch for that too, but even with it,
    the test suite failed in another place and I will debug it later
    (as in tomorrow or the day after or something like that).
    Even with my Debian maintainer hat on, please don't let that
    stop you from releasing a new and improved version of spiped!

Peter Pentchev  roam@ringlet.net roam@debian.org pp@storpool.com
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13
Description: Check for the required arm64 instructions.
Forwarded: no
Author: Peter Pentchev <roam@ringlet.net>
Last-Update: 2021-12-10

Index: b/libcperciva/cpusupport/Build/cpusupport-ARM-AES.c
--- a/libcperciva/cpusupport/Build/cpusupport-ARM-AES.c
+++ b/libcperciva/cpusupport/Build/cpusupport-ARM-AES.c
@@ -2,6 +2,10 @@
 #include <arm_neon.h>
+#ifndef __ARM_64BIT_STATE
+#error The laneq intrinsics are only available on aarch64
Description: Clean the tests-output/ directory up, too.
Forwarded: no
Author: Peter Pentchev <roam@ringlet.net>
Last-Update: 2021-12-10

Index: b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -94,6 +94,7 @@ install:	all
 	rm -f cflags-filter.sh cpusupport-config.h posix-flags.sh
+	rm -rf tests-output
 	for D in liball ${PROGS} ${TESTS}; do			\
 		( cd $${D} && ${MAKE} clean ) || exit 2;	\

Attachment: signature.asc
Description: PGP signature