[PATCH] eal/x86: remove redundant round to improve performance

2023-03-29 Thread Leyi Rong
In rte_memcpy_aligned(), one redundant round is taken in the 64 bytes block copy loops if the size is a multiple of 64. So, let the catch-up copy the last 64 bytes in this case. Suggested-by: Morten Brørup Signed-off-by: Leyi Rong --- lib/eal/x86/include/rte_memcpy.h | 2 +- 1 file changed, 1

[PATCH v2] test/member: fix incorrect expression

2022-10-25 Thread Leyi Rong
Fix incorrect expression by cast division operand to type double to match ceil() and fabs() definitions. Coverity issue: 381398, 381401, 381402 Fixes: db354bd2e1f8 ("member: add NitroSketch mode") Signed-off-by: Leyi Rong --- v2: - resubmit as v1 performance CI fail maybe fals

[PATCH] test/member: fix incorrect expression

2022-10-12 Thread Leyi Rong
Fix incorrect expression by cast division operand to type double to match ceil() and fabs() definitions. Coverity issue: 381398, 381401, 381402 Fixes: db354bd2e1f8 ("member: add NitroSketch mode") Signed-off-by: Leyi Rong --- app/test/test_member.c | 16

[PATCH] member: fix build failure with GCC 5.4.0

2022-10-10 Thread Leyi Rong
This patch fixes the build failure by typecasting to match _mm512_i32gather_epi64() definition. Bugzilla ID: 1096 Fixes: db354bd2e1f8 ("member: add NitroSketch mode") Signed-off-by: Leyi Rong --- lib/member/rte_member_sketch_avx512.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH v5 2/2] test/member: add functional and perf tests for sketch

2022-09-15 Thread Leyi Rong
This patch adds functional and performance tests for sketch mode of membership library. Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- app/test/test_member.c | 272 app/test/test_member_perf.c | 153 +++- 2 files changed, 421

[PATCH v5 1/2] member: implement NitroSketch mode

2022-09-15 Thread Leyi Rong
Braverman, Roy Friedman, Vyas Sekar, "NitroSketch: Robust and General Sketch-based Monitoring in Software Switches", in ACM SIGCOMM 2019. https://dl.acm.org/doi/pdf/10.1145/3341302.3342076 Signed-off-by: Alan Liu Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- lib/member/m

[PATCH v5 0/2] introduce NitroSketch Mode into membership library

2022-09-15 Thread Leyi Rong
potential memory leaks in test_member.c. - build error fix according to CI build fail log. Leyi Rong (2): member: implement NitroSketch mode test/member: add functional and perf tests for sketch app/test/test_member.c| 272 app/test/test_member_perf.c

[PATCH v4 2/2] test/member: add functional and perf tests for sketch

2022-09-15 Thread Leyi Rong
This patch adds functional and performance tests for sketch mode of membership library. Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- app/test/test_member.c | 272 app/test/test_member_perf.c | 153 +++- 2 files changed, 421

[PATCH v4 1/2] member: implement NitroSketch mode

2022-09-15 Thread Leyi Rong
Braverman, Roy Friedman, Vyas Sekar, "NitroSketch: Robust and General Sketch-based Monitoring in Software Switches", in ACM SIGCOMM 2019. https://dl.acm.org/doi/pdf/10.1145/3341302.3342076 Signed-off-by: Alan Liu Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- lib/member/m

[PATCH v4 0/2] introduce NitroSketch Mode into membership library

2022-09-15 Thread Leyi Rong
t_member.c. - build error fix according to CI build fail log. Leyi Rong (2): member: implement NitroSketch mode test/member: add functional and perf tests for sketch app/test/test_member.c| 272 app/test/test_member_perf.c | 153 ++- lib/member/m

[PATCH v3 2/2] test/member: add functional and perf tests for sketch

2022-09-14 Thread Leyi Rong
This patch adds functional and performance tests for sketch mode of membership library. Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- app/test/test_member.c | 272 app/test/test_member_perf.c | 153 +++- 2 files changed, 421

[PATCH v3 1/2] member: implement NitroSketch mode

2022-09-14 Thread Leyi Rong
Braverman, Roy Friedman, Vyas Sekar, "NitroSketch: Robust and General Sketch-based Monitoring in Software Switches", in ACM SIGCOMM 2019. https://dl.acm.org/doi/pdf/10.1145/3341302.3342076 Signed-off-by: Alan Liu Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- lib/member/m

[PATCH v3 0/2] introduce NitroSketch Mode into membership library

2022-09-14 Thread Leyi Rong
ental": rte_member_add_byte_count() rte_member_query_count() rte_member_report_heavyhitter() - meson build file rework for potential runtime issue. v2: - attach paper link to commit log. - fix potential memory leaks in test_member.c. - build error fix according to CI build fail log.

[PATCH v2 2/2] test/member: add functional and perf tests for sketch

2022-08-30 Thread Leyi Rong
This patch adds functional and performance tests for sketch mode of membership library. Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- app/test/test_member.c | 272 app/test/test_member_perf.c | 153 +++- 2 files changed, 421

[PATCH v2 1/2] member: implement NitroSketch mode

2022-08-30 Thread Leyi Rong
Braverman, Roy Friedman, Vyas Sekar, "NitroSketch: Robust and General Sketch-based Monitoring in Software Switches", in ACM SIGCOMM 2019. https://dl.acm.org/doi/pdf/10.1145/3341302.3342076 Signed-off-by: Alan Liu Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- lib/member/m

[PATCH v2 0/2] introduce NitroSketch Mode into membership library

2022-08-30 Thread Leyi Rong
leaks in test_member.c. - build error fix according to CI build fail log. Leyi Rong (2): member: implement NitroSketch mode test/member: add functional and perf tests for sketch app/test/test_member.c| 272 app/test/test_member_perf.c | 153 ++- lib

[PATCH 2/2] test/member: add functional and perf tests for sketch

2022-08-10 Thread Leyi Rong
This patch adds functional and performance tests for sketch mode of membership library. Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- app/test/test_member.c | 258 app/test/test_member_perf.c | 153 - 2 files changed, 407

[PATCH 1/2] member: implement NitroSketch mode

2022-08-10 Thread Leyi Rong
Braverman, Roy Friedman, Vyas Sekar, "NitroSketch: Robust and General Sketch-based Monitoring in Software Switches", in ACM SIGCOMM 2019. Signed-off-by: Alan Liu Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- lib/member/meson.build| 37 +- lib/member/rt

[PATCH 0/2] introduce NitroSketch Mode into membership library

2022-08-10 Thread Leyi Rong
This patchset introduce a brand new NitroSketch Mode into membership library. This algorithm provides high-fidelity approximate measurements and appears as a promissing alternative to triditional approches such as packet sampling. Leyi Rong (2): member: implement NitroSketch mode test/member

[RFC,2/2] test/member: add functional and perf tests for sketch

2022-06-01 Thread Leyi Rong
This patch adds functional and performance tests for sketch mode of membership library. Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- app/test/test_member.c | 258 app/test/test_member_perf.c | 153 - 2 files changed, 407

[RFC,1/2] member: implement NitroSketch mode

2022-06-01 Thread Leyi Rong
Braverman, Roy Friedman, Vyas Sekar, "NitroSketch: Robust and General Sketch-based Monitoring in Software Switches", in ACM SIGCOMM 2019. Signed-off-by: Alan Liu Signed-off-by: Yipeng Wang Signed-off-by: Leyi Rong --- lib/member/meson.build| 35 +- lib/member/rt

[RFC,0/2] introduce NitroSketch Mode into membership library

2022-06-01 Thread Leyi Rong
This patchset introduce a brand new NitroSketch Mode into membership library. This algorithm provides high-fidelity approximate measurements and appears as a promissing alternative to triditional approches such as packet sampling. Leyi Rong (2): member: implement NitroSketch mode test/member

[PATCH] net/iavf: fix potential out of bounds access

2022-03-07 Thread Leyi Rong
.@dpdk.org Signed-off-by: Leyi Rong --- drivers/net/iavf/iavf_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index cb779879cb..16e8d021f9 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iav

[dpdk-dev] [PATCH v2 2/2] net/ice: fix generic build on FreeBSD

2021-10-18 Thread Leyi Rong
ice: optimize Tx by using AVX512") Fixes: 20daa1c978b7 ("net/ice: fix crash in AVX512") Cc: wenzhuo...@intel.com Cc: leyi.r...@intel.com Cc: sta...@dpdk.org Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx_common_avx.h | 213 +

[dpdk-dev] [PATCH v2 1/2] net/i40e: fix generic build on FreeBSD

2021-10-18 Thread Leyi Rong
i40e: fix crash in AVX512") Cc: wenzhuo...@intel.com Cc: sta...@dpdk.org Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/i40e/i40e_rxtx_common_avx.h | 214 drivers/net/i40e/i40e_rxtx_vec_avx2.c | 1 + drivers/net/i40e/i40e_rxtx_vec_avx5

[dpdk-dev] [PATCH v2 0/2] fix generic build error on FreeBSD

2021-10-18 Thread Leyi Rong
This patchset fix FreeBSD build error reported by https://bugs.dpdk.org/show_bug.cgi?id=788. Also splitting AVX-specific code into new xxx_common_avx.h header file. --- v2: - Decouple i40e_rxtx_common_avx.h/ice_rxtx_common_avx.h from i40e_rxtx_vec_common.h/ice_rxtx_vec_common.h Leyi Rong (2

[dpdk-dev] [PATCH 2/2] net/ice: fix generic build on FreeBSD

2021-09-29 Thread Leyi Rong
ice: optimize Tx by using AVX512") Fixes: 20daa1c978b7 ("net/ice: fix crash in AVX512") Cc: wenzhuo...@intel.com Cc: leyi.r...@intel.com Cc: sta...@dpdk.org Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx_common_avx.h | 213 +++

[dpdk-dev] [PATCH 1/2] net/i40e: fix generic build on FreeBSD

2021-09-29 Thread Leyi Rong
i40e: fix crash in AVX512") Cc: wenzhuo...@intel.com Cc: sta...@dpdk.org Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/i40e/i40e_rxtx_common_avx.h | 214 drivers/net/i40e/i40e_rxtx_vec_common.h | 200 +- 2 files c

[dpdk-dev] [PATCH] net/iavf: fix VLAN tag extraction handling in AVX512 path

2021-04-21 Thread Leyi Rong
: 9c9aa0040344 ("net/iavf: add offload path for Rx AVX512 flex descriptor") Signed-off-by: Leyi Rong --- drivers/net/iavf/iavf_rxtx_vec_avx512.c | 215 +++- 1 file changed, 174 insertions(+), 41 deletions(-) diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx512.c b/driver

[dpdk-dev] [PATCH v3] net/i40e: add Tx preparation for simple Tx data path

2021-04-19 Thread Leyi Rong
Introduce i40e_simple_prep_pkts() as the preparation function for simple Tx data path, as it's for sanity check for simple Tx. Suggested-by: Konstantin Ananyev Signed-off-by: Leyi Rong --- drivers/net/i40e/i40e_rxtx.c | 39 +++- drivers/net/i40e/i40e_rxtx.h

[dpdk-dev] [PATCH v2] net/i40e: add Tx preparation for simple Tx data path

2021-04-19 Thread Leyi Rong
Introduce i40e_simple_prep_pkts() as the preparation function for simple Tx data path, as it's for sanity check for simple Tx. Suggested-by: Konstantin Ananyev Signed-off-by: Leyi Rong --- drivers/net/i40e/i40e_rxtx.c | 42 +++- drivers/net/i40e/i40e_rxtx.h

[dpdk-dev] [PATCH v5 2/2] net/ice: add Rx AVX512 offload path

2021-04-15 Thread Leyi Rong
Split AVX512 Rx data path into two, one is for basic, the other one can support additional Rx offload features, including Rx checksum offload, Rx vlan offload, RSS offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 50 +++- drivers/net/ice

[dpdk-dev] [PATCH v5 1/2] net/ice: add Tx AVX512 offload path

2021-04-15 Thread Leyi Rong
Add alternative Tx data path for AVX512 which can support partial Tx offload features, including Tx checksum offload, vlan/QinQ insertion offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 28 +-- drivers/net/ice/ice_rxtx.h

[dpdk-dev] [PATCH v5 0/2] add alternative AVX512 offload path

2021-04-15 Thread Leyi Rong
. - complete tx/rx burst infos for new adding offload functions. v2: - add "do_offload" parameter to according functions for reducing code duplication. Leyi Rong (2): net/ice: add Tx AVX512 offload path net/ice: add Rx AVX512 offload path drivers/net/ice/ice_rxtx.c

[dpdk-dev] [PATCH v4 2/2] net/ice: add Rx AVX512 offload path

2021-04-14 Thread Leyi Rong
Split AVX512 Rx data path into two, one is for basic, the other one can support additional Rx offload features, including Rx checksum offload, Rx vlan offload, RSS offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 50 +++- drivers/net/ice

[dpdk-dev] [PATCH v4 1/2] net/ice: add Tx AVX512 offload path

2021-04-14 Thread Leyi Rong
Add alternative Tx data path for AVX512 which can support partial Tx offload features, including Tx checksum offload, vlan/QinQ insertion offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 28 +-- drivers/net/ice/ice_rxtx.h

[dpdk-dev] [PATCH v4 0/2] add alternative AVX512 offload path

2021-04-14 Thread Leyi Rong
. v2: - add "do_offload" parameter to according functions for reducing code duplication. Leyi Rong (2): net/ice: add Tx AVX512 offload path net/ice: add Rx AVX512 offload path drivers/net/ice/ice_rxtx.c| 78 +++-- drivers/net/ice/ice_rxtx.h| 10 + drive

[dpdk-dev] [PATCH v3 2/2] net/ice: add Rx AVX512 offload path

2021-04-11 Thread Leyi Rong
Split AVX512 Rx data path into two, one is for basic, the other one can support additional Rx offload features, including Rx checksum offload, Rx vlan offload, RSS offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 50 +++- drivers/net/ice

[dpdk-dev] [PATCH v3 1/2] net/ice: add Tx AVX512 offload path

2021-04-11 Thread Leyi Rong
Add alternative Tx data path for AVX512 which can support partial Tx offload features, including Tx checksum offload, vlan/QinQ insertion offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 28 +-- drivers/net/ice/ice_rxtx.h

[dpdk-dev] [PATCH v3 0/2] add alternative AVX512 offload path

2021-04-11 Thread Leyi Rong
fload" parameter to according functions for reducing code duplication. Leyi Rong (2): net/ice: add Tx AVX512 offload path net/ice: add Rx AVX512 offload path drivers/net/ice/ice_rxtx.c| 78 +++-- drivers/net/ice/ice_rxtx.h| 10 + drivers/net/ice/ice_rxtx_

[dpdk-dev] [PATCH v2 2/2] net/ice: add Rx AVX512 offload path

2021-03-31 Thread Leyi Rong
Split AVX512 Rx data path into two, one is for basic, the other one can support additional Rx offload features, including Rx checksum offload, Rx vlan offload, RSS offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 46 +++- drivers/net/ice

[dpdk-dev] [PATCH v2 1/2] net/ice: add Tx AVX512 offload path

2021-03-31 Thread Leyi Rong
Add alternative Tx data path for AVX512 which can support partial Tx offload features, including Tx checksum offload, vlan/QinQ insertion offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 27 +-- drivers/net/ice/ice_rxtx.h

[dpdk-dev] [PATCH v2 0/2] add alternative AVX512 offload path

2021-03-31 Thread Leyi Rong
Add alternative Rx/Tx offload path for AVX512, which can support Rx/Tx offload features, like checksum/vlan/RSS/QinQ offload. --- v2: - add "do_offload" parameter to according functions for reducing code duplication. Leyi Rong (2): net/ice: add Tx AVX512 offload path net/ice: add

[dpdk-dev] [PATCH] net/i40e: add Tx preparation for vector data path

2021-03-31 Thread Leyi Rong
Fill up dev->tx_pkt_prepare to i40e_pkt_prepare when on vector and simple data path selection, as the sanity check is needed ideally. Signed-off-by: Leyi Rong --- drivers/net/i40e/i40e_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/i40e_rxtx.

[dpdk-dev] [PATCH] net/iavf: fix pkt len parsing in AVX512

2021-03-17 Thread Leyi Rong
Fix pkt_len parsing when DEV_RX_OFFLOAD_KEEP_CRC is set in AVX512 path. Fixes: 31737f2b66fb ("net/iavf: enable AVX512 for legacy Rx") Fixes: 6df587028e57 ("net/iavf: enable AVX512 for flexible Rx") Signed-off-by: Leyi Rong --- drivers/net/iavf/iavf_rxtx_vec_avx512.c

[dpdk-dev] [PATCH 2/2] net/ice: add Rx AVX512 offload path

2021-03-17 Thread Leyi Rong
Split AVX512 Rx data path into two, one is for basic, the other one can support additional Rx offload features, including Rx checksum offload, Rx vlan offload, RSS offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 46 ++- drivers/net/ice

[dpdk-dev] [PATCH 1/2] net/ice: add Tx AVX512 offload path

2021-03-17 Thread Leyi Rong
Add alternative Tx data path for AVX512 which can support partial Tx offload features, including Tx checksum offload, vlan/QinQ insertion offload. Signed-off-by: Leyi Rong Signed-off-by: Wenzhuo Lu --- drivers/net/ice/ice_rxtx.c| 27 - drivers/net/ice/ice_rxtx.h

[dpdk-dev] [PATCH 0/2] add alternative AVX512 offload path

2021-03-17 Thread Leyi Rong
Add alternative Rx/Tx offload path for AVX512, which can support Rx/Tx offload features, like checksum/vlan/RSS/QinQ offload. Leyi Rong (2): net/ice: add Tx AVX512 offload path net/ice: add Rx AVX512 offload path drivers/net/ice/ice_rxtx.c| 73 ++- drivers/net/ice/ice_rxtx.h

[dpdk-dev] [PATCH] net/iavf: fix the VLAN tag extraction handling

2021-02-22 Thread Leyi Rong
VLAN capabilities") Signed-off-by: Haiyue Wang Signed-off-by: Leyi Rong --- drivers/net/iavf/iavf_rxtx.c | 62 + drivers/net/iavf/iavf_rxtx.h | 3 + drivers/net/iavf/iavf_rxtx_vec_avx2.c | 179 -- 3 files changed, 182 insertions(+), 62 deletion

[dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW

2021-02-02 Thread Leyi Rong
Adds extra cflags '-fno-asynchronous-unwind-tables' to avoid the MinGW build error: Error: invalid register for .seh_savexmm Fixes: 5c38c33f7880 ("net/i40e: disable AVX512 with MinGW") Signed-off-by: Leyi Rong --- drivers/net/i40e/meson.build | 8 1 file c

[dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW

2021-02-02 Thread Leyi Rong
Disable i40e AVX512 code path for Windows build regardless of CPU capability to avoid the MinGW build error: Error: invalid register for .seh_savexmm Signed-off-by: Leyi Rong --- drivers/net/i40e/meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/i40e

[dpdk-dev] [PATCH v3 2/2] net/i40e: fix mingw build error

2021-01-27 Thread Leyi Rong
Disable i40e avx512 code path for windows build to avoid the mingw build error. Signed-off-by: Leyi Rong --- drivers/net/i40e/meson.build | 4 1 file changed, 4 insertions(+) diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build index c0acdf4fd4..f5fc5a17e0 100644 --- a

[dpdk-dev] [PATCH v3 1/2] config: disable avx512 on mingw cross build

2021-01-27 Thread Leyi Rong
Disable avx512 when on mingw cross build, as .seh_savexmm build error reports if avx512 is enabled. Signed-off-by: Leyi Rong --- config/x86/cross-mingw | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/x86/cross-mingw b/config/x86/cross-mingw index 4c15a7fa2e..48a82b457e 100644

[dpdk-dev] [PATCH v3 0/2] fix mingw build error

2021-01-27 Thread Leyi Rong
This patchset fix mingw build error when avx512 is introduced. --- v2: - Set i40e_avx512_cc_support to false to avoid the build error under windows with mingw. Leyi Rong (2): config: disable avx512 on mingw cross build net/i40e: fix mingw build error config/x86/cross-mingw | 3

[dpdk-dev] [PATCH v2 2/2] net/i40e: fix mingw build error

2021-01-27 Thread Leyi Rong
Disable i40e avx512 code path for windows build to avoid the mingw build error. Fixes: e6a6a138919f ("net/i40e: add AVX512 vector path") Signed-off-by: Leyi Rong --- drivers/net/i40e/meson.build | 26 ++ 1 file changed, 14 insertions(+), 12 deletions(-) di

[dpdk-dev] [PATCH v2 1/2] config: disable avx512 on mingw cross build

2021-01-27 Thread Leyi Rong
Disable avx512 when on mingw cross build, as .seh_savexmm build error reports if avx512 is enabled. Signed-off-by: Leyi Rong --- config/x86/cross-mingw | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/x86/cross-mingw b/config/x86/cross-mingw index 4c15a7fa2e..48a82b457e 100644

[dpdk-dev] [PATCH v2 0/2] fix mingw build error

2021-01-27 Thread Leyi Rong
This patchset fix mingw build error when avx512 is introduced. Leyi Rong (2): config: disable avx512 on mingw cross build net/i40e: fix mingw build error config/x86/cross-mingw | 3 +++ drivers/net/i40e/meson.build | 26 ++ 2 files changed, 17 insertions

[dpdk-dev] [PATCH] net/i40e: fix mingw build error

2021-01-26 Thread Leyi Rong
Disable i40e avx512 code path for windows build to avoid the mingw build error. Fixes: e6a6a138919f ("net/i40e: add AVX512 vector path") Signed-off-by: Leyi Rong --- config/x86/cross-mingw | 3 +++ drivers/net/i40e/meson.build | 2 +- 2 files changed, 4 insertions(+), 1 deletio

[dpdk-dev] [PATCH] net/i40e: fix build error on windows

2021-01-18 Thread Leyi Rong
This patch should squashed into commit ea6ecf3f to fix the build error on windows. Fixes: ea6ecf3f21b0 ("net/i40e: add AVX512 vector path") Signed-off-by: Leyi Rong --- drivers/net/i40e/i40e_rxtx_vec_avx512.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/driver

[dpdk-dev] [PATCH v3 3/3] net/i40e: optimize Tx by using AVX512

2021-01-13 Thread Leyi Rong
Optimize Tx path by using AVX512 instructions and vectorize the tx free bufs process. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/i40e/i40e_rxtx.c| 19 +++ drivers/net/i40e/i40e_rxtx.h| 4 + drivers/net/i40e/i40e_rxtx_vec_avx512.c | 152

[dpdk-dev] [PATCH v3 0/3] AVX512 vPMD on i40e

2021-01-13 Thread Leyi Rong
This patchset aims to support AVX512 vPMD on i40e. And the changes are only target to AVX512 vector path. --- v3: - Extract get_avx_supported() to get the proper vector data path to choose. v2: - Add return value check on rte_mempool_default_cache(). Leyi Rong (3): net/i40e: remove devarg

[dpdk-dev] [PATCH v3 2/3] net/i40e: add AVX512 vector path

2021-01-13 Thread Leyi Rong
Add AVX512 support for i40e PMD. This patch adds i40e_rxtx_vec_avx512.c to support i40e AVX512 vPMD. This patch aims to enable AVX512 on i40e vPMD. Main changes are focus on Rx path compared with AVX2 vPMD. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/i40e

[dpdk-dev] [PATCH v3 1/3] net/i40e: remove devarg use-latest-supported-vec

2021-01-13 Thread Leyi Rong
As eal parameter --force-max-simd-bitwidth is already introduced, to make it more clear when setting rx/tx function, remove devarg use-latest-supported-vec support. Signed-off-by: Leyi Rong Acked-by: Wenzhuo Lu --- doc/guides/nics/i40e.rst | 9 --- drivers/net/i40e/i40e_ethdev.c | 63

[dpdk-dev] [PATCH v2 1/3] net/i40e: remove devarg use-latest-supported-vec

2021-01-07 Thread Leyi Rong
As eal parameter --force-max-simd-bitwidth is already introduced, to make it more clear when setting rx/tx function, remove devarg use-latest-supported-vec support. Signed-off-by: Leyi Rong --- doc/guides/nics/i40e.rst | 9 --- drivers/net/i40e/i40e_ethdev.c | 63

[dpdk-dev] [PATCH v2 3/3] net/i40e: optimize Tx by using AVX512

2021-01-07 Thread Leyi Rong
Optimize Tx path by using AVX512 instructions and vectorize the tx free bufs process. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/i40e/i40e_rxtx.c| 19 +++ drivers/net/i40e/i40e_rxtx.h| 4 + drivers/net/i40e/i40e_rxtx_vec_avx512.c | 152

[dpdk-dev] [PATCH v2 2/3] net/i40e: add AVX512 vector path

2021-01-07 Thread Leyi Rong
Add AVX512 support for i40e PMD. This patch adds i40e_rxtx_vec_avx512.c to support i40e AVX512 vPMD. This patch aims to enable AVX512 on i40e vPMD. Main changes are focus on Rx path compared with AVX2 vPMD. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/i40e

[dpdk-dev] [PATCH v2 0/3] AVX512 vPMD on i40e

2021-01-07 Thread Leyi Rong
This patchset aims to support AVX512 vPMD on i40e. And the changes are only target to AVX512 vector path. --- v2: - Add return value check on rte_mempool_default_cache(). Leyi Rong (3): net/i40e: remove devarg use-latest-supported-vec net/i40e: add AVX512 vector path net/i40e: optimize Tx

[dpdk-dev] [PATCH] net/ice: enlarge ice RXQ rearm thresh to 64

2021-01-05 Thread Leyi Rong
asscesses and fix the performance drop issue. Signed-off-by: Leyi Rong --- drivers/net/ice/ice_rxtx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_rxtx.h b/drivers/net/ice/ice_rxtx.h index 6b16716063..adfae016a9 100644 --- a/drivers/net/ice/ice_rxtx.h +++ b

[dpdk-dev] [PATCH 3/3] net/i40e: optimize Tx by using AVX512

2020-12-14 Thread Leyi Rong
Optimize Tx path by using AVX512 instructions and vectorize the tx free bufs process. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/i40e/i40e_rxtx.c| 19 +++ drivers/net/i40e/i40e_rxtx.h| 4 + drivers/net/i40e/i40e_rxtx_vec_avx512.c | 146

[dpdk-dev] [PATCH 2/3] net/i40e: add AVX512 vector path

2020-12-14 Thread Leyi Rong
Add AVX512 support for i40e PMD. This patch adds i40e_rxtx_vec_avx512.c to support i40e AVX512 vPMD. This patch aims to enable AVX512 on i40e vPMD. Main changes are focus on Rx path compared with AVX2 vPMD. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/i40e

[dpdk-dev] [PATCH 1/3] net/i40e: remove devarg use-latest-supported-vec

2020-12-14 Thread Leyi Rong
As eal parameter --force-max-simd-bitwidth is already introduced, to make it more clear when setting rx/tx function, remove devarg use-latest-supported-vec support. Signed-off-by: Leyi Rong --- doc/guides/nics/i40e.rst | 9 --- drivers/net/i40e/i40e_ethdev.c | 63

[dpdk-dev] [PATCH 0/3] AVX512 vPMD on i40e

2020-12-14 Thread Leyi Rong
This patchset aims to support AVX512 vPMD on i40e. And the changes are only target to AVX512 vector path. Leyi Rong (3): net/i40e: remove devarg use-latest-supported-vec net/i40e: add AVX512 vector path net/i40e: optimize Tx by using AVX512 doc/guides/nics/i40e.rst|9

[dpdk-dev] [PATCH] net/iavf: fix performance drop after port reset

2020-11-11 Thread Leyi Rong
Needs to reset rxq->rxrearm_start to 0 when reset_rx_queue(), otherwise, the random value of rxrearm_start will cause performance drop due to L3 contested accesses. Fixes: 69dd4c3d0898 ("net/avf: enable queue and device") Signed-off-by: Leyi Rong --- drivers/net/iavf/iavf_rxtx.c

[dpdk-dev] [PATCH] examples/l3fwd: enable multiple Tx queues on a lcore

2020-11-03 Thread Leyi Rong
Currently, l3fwd doesn't support multiple Tx queues, while multiple Rx queues is supported. To improve the throughput performance when polling multiple queues, this patch enables multiple Tx queues handling on a lcore. Signed-off-by: Leyi Rong --- examples/l3fwd/l3fwd_common.h

[dpdk-dev] [PATCH v2 2/2] net/iavf: fix build error on lower version GCC

2020-11-03 Thread Leyi Rong
Fix the build error when -march=skylake-avx512 is not supported on lower version GCC. Fixes: e0dcec9074c3 ("net/iavf: enable AVX512 for legacy Rx") Signed-off-by: Leyi Rong --- drivers/net/iavf/meson.build | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/d

[dpdk-dev] [PATCH v2 1/2] net/ice: fix build error on lower version GCC

2020-11-03 Thread Leyi Rong
Fix the build error when -march=skylake-avx512 is not supported on lower version GCC. Fixes: ef5d52dae5e2 ("net/ice: add AVX512 vector path") Signed-off-by: Leyi Rong --- drivers/net/ice/meson.build | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/d

[dpdk-dev] [PATCH v2 0/2] fix build error on lower version GCC

2020-11-03 Thread Leyi Rong
These two patches fix the build error when -march=skylake-avx512 is not supported on lower version GCC in both ice and iavf PMD. --- v2: - Simplify the judgement by extracting the avx512_args. Leyi Rong (2): net/ice: fix build error on lower version GCC net/iavf: fix build error on lower

[dpdk-dev] [PATCH 1/2] net/ice: fix build error on lower version GCC

2020-11-03 Thread Leyi Rong
Fix the build error when -march=skylake-avx512 is not supported on lower version GCC. Fixes: ef5d52dae5e2 ("net/ice: add AVX512 vector path") Signed-off-by: Leyi Rong --- drivers/net/ice/meson.build | 21 +++-- 1 file changed, 15 insertions(+), 6 deletions(-) di

[dpdk-dev] [PATCH 2/2] net/iavf: fix build error on lower version GCC

2020-11-03 Thread Leyi Rong
Fix the build error when -march=skylake-avx512 is not supported on lower version GCC. Fixes: e0dcec9074c3 ("net/iavf: enable AVX512 for legacy Rx") Signed-off-by: Leyi Rong --- drivers/net/iavf/meson.build | 21 +++-- 1 file changed, 15 insertions(+), 6 deletions(-)

[dpdk-dev] [PATCH 0/2] fix build error on lower version GCC

2020-11-03 Thread Leyi Rong
These two patches fix the build error when -march=skylake-avx512 is not supported on lower version GCC in both ice and iavf PMD. Leyi Rong (2): net/ice: fix build error on lower version GCC net/iavf: fix build error on lower version GCC drivers/net/iavf/meson.build | 21

[dpdk-dev] [PATCH] examples/l3fwd: enable multiple Tx queues on a lcore

2020-11-02 Thread Leyi Rong
This patch enable multiple Tx queues handling on a lcore. Signed-off-by: Leyi Rong --- examples/l3fwd/l3fwd_common.h| 6 ++--- examples/l3fwd/l3fwd_em.c| 2 +- examples/l3fwd/l3fwd_em_hlm.h| 4 ++-- examples/l3fwd/l3fwd_em_sequential.h | 5 +++-- examples/l3fwd

[dpdk-dev] [PATCH] examples/l3fwd: enable multiple Tx queues on a lcore

2020-11-01 Thread Leyi Rong
This patch enable multiple Tx queues handling on a lcore. Signed-off-by: Leyi Rong --- examples/l3fwd/l3fwd_common.h| 6 ++--- examples/l3fwd/l3fwd_em.c| 2 +- examples/l3fwd/l3fwd_em_hlm.h| 4 ++-- examples/l3fwd/l3fwd_em_sequential.h | 5 +++-- examples/l3fwd

[dpdk-dev] [PATCH] net/ice: add AVX512BW flag check both in build and runtime

2020-10-27 Thread Leyi Rong
Intrinsic function __mm512_bsrli_epi128 should be used in the environment which supports AVX512BW, so adds check for this flag. Fixes: 5dd3b8f3af34 ("net/ice: add AVX512 vector path") Signed-off-by: Leyi Rong --- drivers/net/ice/ice_rxtx.c | 12 ++-- drivers/net/ice/meson.

[dpdk-dev] [PATCH v4 3/3] net/ice: optimize Tx path on AVX512 vPMD

2020-10-22 Thread Leyi Rong
Optimize Tx path by using AVX512 instructions and vectorize the tx free bufs process. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx.h| 4 + drivers/net/ice/ice_rxtx_vec_avx512.c | 147 ++ drivers/net/ice

[dpdk-dev] [PATCH v4 1/3] net/ice: add AVX512 vector path

2020-10-22 Thread Leyi Rong
Add AVX512 support for ice PMD. This patch adds ice_rxtx_vec_avx512.c to support ice AVX512 vPMD. This patch aims to enable AVX512 on ice vPMD. Main changes are focus on Rx path compared with AVX2 vPMD. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx.c

[dpdk-dev] [PATCH v4 2/3] net/ice: add RSS hash parsing in AVX512 path

2020-10-22 Thread Leyi Rong
Support RSS hash parsing in AVX512 data path as the default RXDID is set to #22, that means the RSS hash field locates in the 2nd 16B of each Flex Rx descriptor. Signed-off-by: Leyi Rong --- drivers/net/ice/ice_rxtx_vec_avx512.c | 105 -- 1 file changed, 98 insertions

[dpdk-dev] [PATCH v4 0/3] AVX512 vPMD on ice

2020-10-22 Thread Leyi Rong
#22. - Use buf_iova instead of buf_physaddr, as buf_physaddr will be removed. Leyi Rong (3): net/ice: add AVX512 vector path net/ice: add RSS hash parsing in AVX512 path net/ice: optimize Tx path on AVX512 vPMD drivers/net/ice/ice_rxtx.c| 90 ++- drivers/net/ice/ice_rxtx.h

[dpdk-dev] [PATCH v3 3/3] net/ice: optimize Tx path on AVX512 vPMD

2020-10-20 Thread Leyi Rong
Optimize Tx path by using AVX512 instructions and vectorize the tx free bufs process. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx.h| 4 + drivers/net/ice/ice_rxtx_vec_avx512.c | 155 +- drivers/net/ice

[dpdk-dev] [PATCH v3 2/3] net/ice: add RSS hash parsing in AVX512 path

2020-10-20 Thread Leyi Rong
Support RSS hash parsing in AVX512 data path as the default RXDID is set to #22, that means the RSS hash field locates in the 2nd 16B of each Flex Rx descriptor. Signed-off-by: Leyi Rong --- drivers/net/ice/ice_rxtx_vec_avx512.c | 105 -- 1 file changed, 98 insertions

[dpdk-dev] [PATCH v3 0/3] AVX512 vPMD on ice

2020-10-20 Thread Leyi Rong
This patchset aims to support AVX512 vPMD on ice. --- v3: - Code rebased. v2: - No internal judgement when RTE_MACHINE_CPUFLAG_AVX512F is set in meson.build. - Add RSS hash parsing as default RXDID is set to #22. - Use buf_iova instead of buf_physaddr, as buf_physaddr will be removed. Leyi

[dpdk-dev] [PATCH v3 1/3] net/ice: add AVX512 vector path

2020-10-20 Thread Leyi Rong
Add AVX512 support for ice PMD. This patch adds ice_rxtx_vec_avx512.c to support ice AVX512 vPMD. This patch aims to enable AVX512 on ice vPMD. Main changes are focus on Rx path compared with AVX2 vPMD. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx.c

[dpdk-dev] [PATCH v2] net/iavf: fix unchecked Tx cleanup error

2020-10-18 Thread Leyi Rong
the Coverity happy. Coverity issue: 363045 Fixes: 02d212ca3125 ("net/iavf: rename remaining avf strings") Cc: sta...@dpdk.org Signed-off-by: Leyi Rong --- v2: - More detailed commit log. --- drivers/net/iavf/iavf_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[dpdk-dev] [PATCH] net/iavf: fix unchecked return value

2020-10-14 Thread Leyi Rong
Fixes coverity unchecked return value issue. Coverity issue: 363045 Fixes: 02d212ca3125 ("net/iavf: rename remaining avf strings") Signed-off-by: Leyi Rong --- drivers/net/iavf/iavf_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/iavf/iav

[dpdk-dev] [PATCH v2 3/3] net/ice: optimize Tx path on AVX512 vPMD

2020-09-17 Thread Leyi Rong
Optimize Tx path by using AVX512 instructions and vectorize the tx free bufs process. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx.h| 4 + drivers/net/ice/ice_rxtx_vec_avx512.c | 155 +- drivers/net/ice

[dpdk-dev] [PATCH v2 2/3] net/ice: add RSS hash parsing in AVX512 path

2020-09-17 Thread Leyi Rong
Support RSS hash parsing in AVX512 data path as the default RXDID is set to #22, that means the RSS hash field locates in the 2nd 16B of each Flex Rx descriptor. Signed-off-by: Leyi Rong --- drivers/net/ice/ice_rxtx_vec_avx512.c | 105 -- 1 file changed, 98 insertions

[dpdk-dev] [PATCH v2 0/3] AVX512 vPMD on ice

2020-09-17 Thread Leyi Rong
. - Use buf_iova instead of buf_physaddr, as buf_physaddr will be removed. Leyi Rong (3): net/ice: add AVX512 vector path net/ice: add RSS hash parsing in AVX512 path net/ice: optimize Tx path on AVX512 vPMD drivers/net/ice/ice_rxtx.c| 88 ++- drivers/net/ice/ice_rxtx.h

[dpdk-dev] [PATCH v2 1/3] net/ice: add AVX512 vector path

2020-09-17 Thread Leyi Rong
Add AVX512 support for ice PMD. This patch adds ice_rxtx_vec_avx512.c to support ice AVX512 vPMD. This patch aims to enable AVX512 on ice vPMD. Main changes are focus on Rx path compared with AVX2 vPMD. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx.c

[dpdk-dev] [PATCH v1 0/2] AVX512 vPMD on ice

2020-09-10 Thread Leyi Rong
This patchset aims to support AVX512 vPMD on ice. Has dependency on http://patches.dpdk.org/cover/76096/ which support SIMD bitwidth selection properly. Leyi Rong (2): net/ice: add AVX512 vector path net/ice: optimize Tx path on AVX512 vPMD drivers/net/ice/ice_rxtx.c| 88

[dpdk-dev] [PATCH v1 1/2] net/ice: add AVX512 vector path

2020-09-10 Thread Leyi Rong
Add AVX512 support for ice PMD. This patch adds ice_rxtx_vec_avx512.c to support ice AVX512 vPMD. This patch aims to enable AVX512 on ice vPMD. Main changes are focus on Rx path compared with AVX2 vPMD. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx.c

[dpdk-dev] [PATCH v1 2/2] net/ice: optimize Tx path on AVX512 vPMD

2020-09-10 Thread Leyi Rong
Optimize Tx path by using AVX512 instructions and vectorize the tx free bufs process. Signed-off-by: Leyi Rong Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_rxtx.h| 4 + drivers/net/ice/ice_rxtx_vec_avx512.c | 147 ++ drivers/net/ice

  1   2   3   4   5   >