From 213c397492bdc64cf26b2e7b3877e4a29dc9f8da Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Mon, 28 Feb 2022 16:18:44 +0100 Subject: 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 --- passt.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'passt.c') diff --git a/passt.c b/passt.c index e7dd108..40d3e57 100644 --- a/passt.c +++ b/passt.c @@ -69,6 +69,7 @@ #include "tap.h" #include "conf.h" #include "pasta.h" +#include "arch.h" #define EPOLL_EVENTS 8 @@ -313,6 +314,8 @@ int main(int argc, char **argv) struct sigaction sa; char *log_name; + arch_avx2_exec(argv); + check_root(); drop_caps(); -- cgit v1.2.3