aboutgitcodebugslistschat
path: root/README.md
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2022-02-28 16:18:44 +0100
committerStefano Brivio <sbrivio@redhat.com>2022-02-28 16:46:28 +0100
commit213c397492bdc64cf26b2e7b3877e4a29dc9f8da (patch)
tree50f69783c009918e6a1ef5a22b2d7d88407488e2 /README.md
parentdeca1ebe5093affd581a27855180821a8b6b3079 (diff)
downloadpasst-213c397492bdc64cf26b2e7b3877e4a29dc9f8da.tar
passt-213c397492bdc64cf26b2e7b3877e4a29dc9f8da.tar.gz
passt-213c397492bdc64cf26b2e7b3877e4a29dc9f8da.tar.bz2
passt-213c397492bdc64cf26b2e7b3877e4a29dc9f8da.tar.lz
passt-213c397492bdc64cf26b2e7b3877e4a29dc9f8da.tar.xz
passt-213c397492bdc64cf26b2e7b3877e4a29dc9f8da.tar.zst
passt-213c397492bdc64cf26b2e7b3877e4a29dc9f8da.zip
passt, pasta: Run-time selection of AVX2 build
Build-time selection of AVX2 flags and routines is not practical for distributions, but limiting AVX2 usage to checksum routines with specific run-time detection doesn't allow for easy performance gains from auto-vectorisation of batched packet handling routines. For x86_64, build non-AVX2 and AVX2 binaries, and implement a simple wrapper replacing the current executable with the AVX2 build if it's available, and if AVX2 is supported by the current CPU. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md28
1 files changed, 11 insertions, 17 deletions
diff --git a/README.md b/README.md
index 14e1777..4966e15 100644
--- a/README.md
+++ b/README.md
@@ -220,7 +220,7 @@ speeding up local connections, and usually requiring NAT. _pasta_:
* Linux
* ✅ starting from 4.18 kernel version
* ✅ starting from 3.13 kernel version
-* 🛠 build-time selection of AVX2 instructions (as much as possible)
+* ✅ run-time selection of AVX2 build
* ⌚ [_musl_](https://bugs.passt.top/show_bug.cgi?id=4) and
[_uClibc-ng_](https://bugs.passt.top/show_bug.cgi?id=5)
* ⌚ [FreeBSD](https://bugs.passt.top/show_bug.cgi?id=6),
@@ -467,15 +467,12 @@ Test logs [here](/builds/latest/test/).
cd passt
make
- * alternatively, static builds for x86_64, with or without AVX2 instructions,
- as of the latest commit are also available for convenience
- [here](/builds/latest/x86_64/avx2/) and
- [here](/builds/latest/x86_64/). Convenience, non-official
- packages for Debian (and derivatives) and RPM-based distributions are also
- available there. These binaries and packages are simply built with:
+ * alternatively, static builds for x86_64 as of the latest commit are also
+ available for convenience [here](/builds/latest/x86_64/). Convenience,
+ non-official packages for Debian (and derivatives) and RPM-based
+ distributions are also available there. These binaries and packages are
+ simply built with:
- CFLAGS="-static" make avx2
- make pkgs
make static
make pkgs
@@ -530,15 +527,12 @@ Test logs [here](/builds/latest/test/).
cd passt
make
- * alternatively, static builds for x86_64, with or without AVX2 instructions,
- as of the latest commit are also available for convenience
- [here](/builds/latest/x86_64/avx2/) and
- [here](/builds/latest/x86_64/). Convenience, non-official
- packages for Debian (and derivatives) and RPM-based distributions are also
- available there. These binaries and packages are simply built with:
+ * alternatively, static builds for x86_64 as of the latest commit are also
+ available for convenience [here](/builds/latest/x86_64/). Convenience,
+ non-official packages for Debian (and derivatives) and RPM-based
+ distributions are also available there. These binaries and packages are
+ simply built with:
- CFLAGS="-static" make avx2
- make pkgs
make static
make pkgs