tcpdump mailing list archives

Re: ARM build slaves (tcpdump mirror in Germany)


From: Guy Harris via tcpdump-workers <tcpdump-workers () lists tcpdump org>
Date: Mon, 22 Mar 2021 23:06:43 -0700

--- Begin Message --- From: Guy Harris <gharris () sonic net>
Date: Mon, 22 Mar 2021 23:06:43 -0700
On Mar 22, 2021, at 5:35 PM, Denis Ovsienko via tcpdump-workers <tcpdump-workers () lists tcpdump org> wrote:

On Mon, 22 Mar 2021 19:00:31 +0100
Harald Welte <laforge () gnumonks org> wrote:

        ...

btw: I'm not sure if qemu full system emulation of e.g. ppc on a
x86_64 hardware would be an option, though.  I think
openbuildservice.org is doing that a lot for building packages on
less popular architectures.

QEMU was very useful for the NetBSD setup. NetBSD for some reason did
not provide binary packages for 9.1/aarch64, and heavy non-default
packages (LLVM, Clang, GCC 10) just do not compile on 1GB RAM of RPI3B
(NetBSD release does not run on RPI4B), so the only way to compile
these was in a QEMU VM with more RAM.

That said, on a Linux host with i7-3770 CPU the QEMU guest measured at
64% core-to-core CPU performance of an RPI3B. So after the initial
setup a hardware Pi does a better job.

The main PowerPC/Power ISA buildbot we'd want would probably be ppcle64, as the ppcle64 implementation of some crypto 
library routines, as used by tcpdump, require strict adherence to the API documentation, e.g. 1) don't use the same 
buffer for encrypted and decrypted data and 2) provide all the necessary padding in the input buffer and leave enough 
room in the output buffer, as per

        https://github.com/the-tcpdump-group/tcpdump/issues/814

64% isn't perfect, but it's a lot better than 10%, so if QEMUs' PPC64/64-bit Power ISA emulation supports both 
big-endian and little-endian mode, and runs with acceptable performance (anything in the range of 50% is probably good 
enough), and the emulation is faithful enough (which being able to boot ppc64le Linux would probably imply), that would 
probably be sufficient.

Having *some* big-endian machine would be useful primarily for tcpdump testing, to make sure there's no code that 
implicitly assumes it's running on a little-endian machine (which most developers probably have); any of SPARC, ppcbe, 
or s390/s390x would suffice for that.

SPARC has the additional advantage of trapping on unaligned accesses, so it'll also detect code that implicitly assumes 
that unaligned accesses work.  S/3x0 hasn't required alignment since S/370 came out (unaligned accesses were an 
optional feature of S/360, but were made a standard feature in S/370), and I'm not sure PPC requires it.  We already 
have SPARC/Solaris 10 testing with OpenCSW, so that will fail on unaligned accesses; the only thing additional 
buildbots would do would be to give us Solaris 11 and Linux.

--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers () lists tcpdump org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Current thread: