[dpdk-dev] [PATCH v3 4/5] vhost: add packed ring vectorized dequeue

2020-10-09 Thread Marvin Liu
default path. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/meson.build b/lib/librte_vhost/meson.build index cc9aa65c6..5eadcbae4 100644 --- a/lib/librte_vhost/meson.build +++ b/lib/librte_vhost/meson.build @@ -8,6 +8,22 @@ endif if has_libnuma == 1 dpdk_conf.set10

[dpdk-dev] [PATCH v3 3/5] vhost: prepare memory regions addresses

2020-10-09 Thread Marvin Liu
Prepare memory regions guest physical addresses for vectorized data path. These information will be utilized by SIMD instructions to find matched region index. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index 12b7699cf..a19fe9423 100644 --- a/lib

[dpdk-dev] [PATCH v3 2/5] vhost: reuse packed ring functions

2020-10-09 Thread Marvin Liu
Move parse_ethernet, offload, extbuf functions to header file. These functions will be reused by vhost vectorized path. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index 87583c0b6..12b7699cf 100644 --- a/lib/librte_vhost/vhost.h +++ b/lib

[dpdk-dev] [PATCH v3 5/5] vhost: add packed ring vectorized enqueue

2020-10-09 Thread Marvin Liu
Optimize vhost packed ring enqueue path with SIMD instructions. Four descriptors status and length are batched handled with AVX512 instructions. Address translation operations are also accelerated by AVX512 instructions. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib

[dpdk-dev] [PATCH v1 3/5] vhost: prepare memory regions addresses

2020-08-18 Thread Marvin Liu
Prepare memory regions guest physical addresses for vectorized data path. These information will be utilized by SIMD instructions to find matched region index. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index 5a5c945551..4a81f18f01 100644 --- a

[dpdk-dev] [PATCH v1 1/5] vhost: add vectorized data path

2020-08-18 Thread Marvin Liu
requirements. Otherwise will fallback to original data path. Signed-off-by: Marvin Liu diff --git a/doc/guides/nics/vhost.rst b/doc/guides/nics/vhost.rst index d36f3120b2..efdaf4de09 100644 --- a/doc/guides/nics/vhost.rst +++ b/doc/guides/nics/vhost.rst @@ -64,6 +64,11 @@ The user can specify

[dpdk-dev] [PATCH v1 2/5] vhost: reuse packed ring functions

2020-08-18 Thread Marvin Liu
Move parse_ethernet, offload, extbuf functions to header file. These functions will be reused by vhost vectorized path. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index b556eb3bf6..5a5c945551 100644 --- a/lib/librte_vhost/vhost.h +++ b/lib

[dpdk-dev] [PATCH v1 0/5] vhost add vectorized data path

2020-08-18 Thread Marvin Liu
vectorized function, vhost will fallback to use default batch function. There will be no impact in current data path. Marvin Liu (5): vhost: add vectorized data path vhost: reuse packed ring functions vhost: prepare memory regions addresses vhost: add packed ring vectorized dequeue vhost

[dpdk-dev] [PATCH v1 5/5] vhost: add packed ring vectorized enqueue

2020-08-18 Thread Marvin Liu
Optimize vhost packed ring enqueue path with SIMD instructions. Four descriptors status and length are batched handled with AVX512 instructions. Address translation operations are also accelerated by AVX512 instructions. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib

[dpdk-dev] [PATCH v1 4/5] vhost: add packed ring vectorized dequeue

2020-08-18 Thread Marvin Liu
default path. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile index 4f2f3e47da..c0cd7d498f 100644 --- a/lib/librte_vhost/Makefile +++ b/lib/librte_vhost/Makefile @@ -31,6 +31,13 @@ CFLAGS += -DVHOST_ICC_UNROLL_PRAGMA endif endif +ifneq

[dpdk-dev] [PATCH v2 2/5] vhost: reuse packed ring functions

2020-09-20 Thread Marvin Liu
Move parse_ethernet, offload, extbuf functions to header file. These functions will be reused by vhost vectorized path. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index b556eb3bf6..5a5c945551 100644 --- a/lib/librte_vhost/vhost.h +++ b/lib

[dpdk-dev] [PATCH v2 1/5] vhost: add vectorized data path

2020-09-20 Thread Marvin Liu
requirements. Otherwise will fallback to original data path. Signed-off-by: Marvin Liu diff --git a/doc/guides/nics/vhost.rst b/doc/guides/nics/vhost.rst index d36f3120b2..efdaf4de09 100644 --- a/doc/guides/nics/vhost.rst +++ b/doc/guides/nics/vhost.rst @@ -64,6 +64,11 @@ The user can specify

[dpdk-dev] [PATCH v2 0/5] vhost add vectorized data path

2020-09-20 Thread Marvin Liu
vectorized function, vhost will fallback to use default batch function. There will be no impact in current data path. v2: * add vIOMMU support * add dequeue offloading * rebase code Marvin Liu (5): vhost: add vectorized data path vhost: reuse packed ring functions vhost: prepare memory

[dpdk-dev] [PATCH v2 5/5] vhost: add packed ring vectorized enqueue

2020-09-20 Thread Marvin Liu
Optimize vhost packed ring enqueue path with SIMD instructions. Four descriptors status and length are batched handled with AVX512 instructions. Address translation operations are also accelerated by AVX512 instructions. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib

[dpdk-dev] [PATCH v2 3/5] vhost: prepare memory regions addresses

2020-09-20 Thread Marvin Liu
Prepare memory regions guest physical addresses for vectorized data path. These information will be utilized by SIMD instructions to find matched region index. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index 5a5c945551..4a81f18f01 100644 --- a

[dpdk-dev] [PATCH v2 4/5] vhost: add packed ring vectorized dequeue

2020-09-20 Thread Marvin Liu
default path. Signed-off-by: Marvin Liu diff --git a/lib/librte_vhost/meson.build b/lib/librte_vhost/meson.build index cc9aa65c67..c1481802d7 100644 --- a/lib/librte_vhost/meson.build +++ b/lib/librte_vhost/meson.build @@ -8,6 +8,22 @@ endif if has_libnuma == 1 dpdk_conf.set10

[dpdk-dev] [PATCH] build: enable packet data prefetch

2020-09-22 Thread Marvin Liu
Data prefetch instruction can preload data into cpu’s hierarchical cache before data access. Virtualized data paths like virtio utilized this feature for acceleration. Since most modern cpus have support prefetch function, we can enable packet data prefetch as default. Signed-off-by: Marvin Liu

<    1   2   3   4   5