[dpdk-dev] [RFC PATCH] test/distributor: fix burst flush on worker quit

2021-04-26 Thread Stanislaw Kardach
they won't be spread over all the workers. Signed-off-by: Stanislaw Kardach Fixes: 7c3287a10535 ("test/distributor: add performance test for burst mode") Cc: david.h...@intel.com Cc: l.wojciec...@partner.samsung.com Cc: David Marchand --- app/test/test_distributor_perf.c | 6 -

[dpdk-dev] [PATCH v2 0/2] test/distributor: perf burst mode quit fixes

2021-04-28 Thread Stanislaw Kardach
not observed, the change is in line with the functional tests. --- RFC -> V2 - Split 2 fixes into separate patches. - Added review/test/ack tags from the RFC discussion. --- Stanislaw Kardach (2): test/distributor: fix worker notification in burst test/distributor: fix burst flush

[dpdk-dev] [PATCH v2 1/2] test/distributor: fix worker notification in burst

2021-04-28 Thread Stanislaw Kardach
;test/distributor: fix quitting workers in burst mode"). Fixes: c3eabff124e6 ("distributor: add unit tests") Cc: bruce.richard...@intel.com Signed-off-by: Stanislaw Kardach Acked-by: David Hunt Tested-by: Lukasz Wojciechowski Reviewed-by: Lukasz Wojciechowski --- app/test/test_di

[dpdk-dev] [PATCH v2 2/2] test/distributor: fix burst flush on worker quit

2021-04-28 Thread Stanislaw Kardach
issue. Lukasz Wojciechowski reproduced the same issue on x86 using a VM with 32 emulated CPU cores to force some lcores not to be woken up. Fixes: 7c3287a10535 ("test/distributor: add performance test for burst mode") Cc: David Marchand Signed-off-by: Stanislaw Kardach Acked-by: David

Re: [dpdk-dev] L3fwd mode in testpmd

2021-04-29 Thread Stanislaw Kardach
at the top of l3fwd_em.c, here: http://git.dpdk.org/dpdk/tree/examples/l3fwd/l3fwd_em.c#n218 #if defined(__SSE2__) ... #else #error No vector engine (SSE, NEON, ALTIVEC) available, check your toolchain #endif -- Best Regards, Stanislaw Kardach

Re: [dpdk-dev] L3fwd mode in testpmd

2021-04-29 Thread Stanislaw Kardach
idea on how to solve this yet and I would not like to hijack this discussion with vector stuff. Though I may be missing some obvious solution here. Any idea is welcome. :) -- Best Regards, Stanislaw Kardach

Re: [dpdk-dev] L3fwd mode in testpmd

2021-04-29 Thread Stanislaw Kardach
lack of definition in rte_xmm_t semantics. Because once it's in an example, people may start assuming it's OK to use it this way. If it is OK, then I'll just post a patch, otherwise we need a separate discussion. -- Best Regards, Stanislaw Kardach

Re: [dpdk-dev] [PATCH v5 3/5] test/hash: add additional thash tests

2021-04-29 Thread Stanislaw Kardach
ior to the test? I haven't analyzed the code in-depth but it seems that the rte_thash_add_helper() also uses a random lfsr which is then used in the subkey generation. Could this contribute to the randomness of the issue? -- Best Regards, Stanislaw Kardach

Re: [dpdk-dev] [PATCH v2] hash: fix tuple adjustment

2021-05-05 Thread Stanislaw Kardach
h->tuple_len - 1 - j); > - } > + tmp_len = RTE_MIN(sizeof(uint32_t) * CHAR_BIT, > + h->tuple_len - ctx->reta_sz_log); > + offset -= tmp_len; > + tmp = read_unaligned_bits(tuple, tmp_len, > + offset); > + tmp++; > + tmp &= (1 << tmp_len) - 1; > + write_unaligned_bits(tuple, tmp_len, offset, > + tmp); > } > } else > return 0; > -- > 2.7.4 > Makes the issue not visible on both x86 and RISC-V. Tested-by: Stanislaw Kardach Reviewed-by: Stanislaw Kardach -- Best Regards, Stanislaw Kardach

[PATCH RESEND v4 0/8] Introduce support for RISC-V architecture

2022-06-07 Thread Stanislaw Kardach
cific cpuflags test. Commits 7-8 add RISC-V build testing to test-meson-builds.sh and github CI. I appreciate Your comments and feedback. Best Regards, Stanislaw Kardach v4: - Update RISC-V cross-compilation docs to remove vendor-specific instructions and better match the Ubuntu enviro

[PATCH RESEND v4 1/8] eal: add initial support for RISC-V architecture

2022-06-07 Thread Stanislaw Kardach
ic_thread_fence() used to implement rte_atomic_thread_fence(). Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach --- MAINTAINERS | 6 + app/test/test_xmmt_ops.h | 16 +++ con

[PATCH RESEND v4 2/8] net/ixgbe: enable vector stubs for RISC-V

2022-06-07 Thread Stanislaw Kardach
platforms: uio_pci_generic, vfio-pci noiommu and igb_uio. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- doc/guides/nics/features/ixgbe.ini | 1 + drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++-- drivers/net/ixgbe/meson.build | 6 -- 3 files changed

[PATCH RESEND v4 4/8] net/tap: set BPF syscall ID for RISC-V

2022-06-07 Thread Stanislaw Kardach
Define the missing __NR_bpf syscall id to enable the tap PMD. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- drivers/net/tap/meson.build | 5 - drivers/net/tap/tap_bpf.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers

[PATCH RESEND v4 3/8] net/memif: set memfd syscall ID on RISC-V

2022-06-07 Thread Stanislaw Kardach
Define the missing __NR_memfd_create syscall id to enable the memif PMD. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- drivers/net/memif/meson.build | 5 - drivers/net/memif/rte_eth_memif.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions

[PATCH RESEND v4 5/8] examples/l3fwd: enable RISC-V operation

2022-06-07 Thread Stanislaw Kardach
Add missing em_mask_key() implementation and fix l3fwd_common.h inclusion in FIB lookup functions to enable the l3fwd to be run on RISC-V. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- examples/l3fwd/l3fwd_em.c | 8 examples/l3fwd/l3fwd_fib.c

[PATCH RESEND v4 6/8] test/cpuflags: add test for RISC-V cpu flag

2022-06-07 Thread Stanislaw Kardach
From: Michal Mazurek Add checks for all flag values defined in the RISC-V misa CSR register. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach --- app/test/test_cpuflags.c | 81 1 file

[PATCH RESEND v4 7/8] devtools: add RISC-V to test-meson-builds.sh

2022-06-07 Thread Stanislaw Kardach
Validate RISC-V compilation when test-meson-builds.sh is called. The check will be only performed if appropriate toolchain is present on the system (same as with other architectures). Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- devtools/test-meson

[PATCH RESEND v4 8/8] ci: add RISCV64 cross compilation job

2022-06-07 Thread Stanislaw Kardach
Checks cross-compilation using Ubuntu 20.04 x86. Signed-off-by: David Marchand Signed-off-by: Stanislaw Kardach --- .ci/linux-build.sh | 4 .github/workflows/build.yml | 11 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.ci/linux-build.sh b/.ci/linux

[PATCH 0/3] Fix xmm_t to rte_xmm_t scalar conversion

2022-06-09 Thread Stanislaw Kardach
shion is always correct? All current architectures define rte_xmm_t in the same manner implying that. Additionally change RISC-V CI settings to use crossbuild-essential-riscv64 package which provides tools that enable C++ checks. [1] http://mails.dpdk.org/archives/dev/2022-June/243683.html Stan

[PATCH 2/3] lpm: fix xmm_t casting for C++ in scalar version

2022-06-09 Thread Stanislaw Kardach
). Signed-off-by: Stanislaw Kardach --- lib/lpm/rte_lpm_scalar.h | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/lpm/rte_lpm_scalar.h b/lib/lpm/rte_lpm_scalar.h index f0d9f37894..161b40ff80 100644 --- a/lib/lpm/rte_lpm_scalar.h +++ b/lib/lpm/rte_lpm_scalar.h

[PATCH 1/3] eal/riscv: fix xmm_t casting for C++

2022-06-09 Thread Stanislaw Kardach
rte_xmm_t is a union type which wraps around xmm_t and maps its contents to scalar structures. Since C++ has stricter type conversion rules than C, the rte_xmm_t::x has to be used instead of C-casting. Signed-off-by: Stanislaw Kardach --- lib/eal/riscv/include/rte_vect.h | 4 ++-- 1 file

[PATCH 3/3] ci: use crossbuild-essential-riscv64 for compiling

2022-06-09 Thread Stanislaw Kardach
++ test. Besides, the user's guide for RISC-V cross-compilation recommends the use of crossbuild-essential-riscv64. Signed-off-by: Stanislaw Kardach --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/work

[PATCH] doc: fix formatting in RISC-V release notes entry

2022-06-09 Thread Stanislaw Kardach
There was an extra * in the title of the RISC-V entry. It gets rendered in the documentation output giving an impression that there will be a footnote for this entry, which is not the case. Signed-off-by: Stanislaw Kardach --- doc/guides/rel_notes/release_22_07.rst | 2 +- 1 file changed, 1

[PATCH 1/1] doc: expand description of no-huge and PMD issue

2022-06-09 Thread Stanislaw Kardach
Add more details to the description of a known issue of PMDs not being usable when --no-huge EAL command line parameter is used. The issue actually happens whenever there is a need for physical addresses, even when there is no PMD attached. Signed-off-by: Stanislaw Kardach --- doc/guides

[PATCH 0/2] fix C++ include checks in cross-compilation

2022-06-21 Thread Stanislaw Kardach
run in cross-compiled environments: * PowerPC and ARM cross-files define cpp instead of g++ as C++ compiler. That's wrong because cpp is a C Preprocessor binary. * The CI workflow file does not install a g++ cross-compiler. This patchset fixes both issues. Stanislaw Kardach (2): config:

[PATCH 1/2] config: Use G++ as C++ compiler

2022-06-21 Thread Stanislaw Kardach
Through some mixup all cross-files for PowerPC and ARM platforms were using C Preprocessor (cpp) instead of GCC (g++). This caused meson to fail detecting the C++ compiler presence and therefore disabling some targets (i.e. C++ include file checks). Signed-off-by: Stanislaw Kardach --- config

[PATCH 2/2] ci: use crossbuild-essential packages

2022-06-21 Thread Stanislaw Kardach
PowerPC and ARM. Signed-off-by: Stanislaw Kardach --- .github/workflows/build.yml | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c0d2829d0e..1106256539 100644 --- a/.github/workflows/build.yml +++ b

[PATCH] config/riscv: name the cross file properly

2022-06-21 Thread Stanislaw Kardach
Since the riscv64_linux_gcc was in fact a Ubuntu-specific cross-file, rename it. Signed-off-by: Stanislaw Kardach --- .ci/linux-build.sh | 2 +- config/riscv/{riscv64_linux_gcc => riscv64_linux_gcc_ubuntu} | 0 devtools/test-meson-builds

[dpdk-dev] [PATCH 0/3] add lock-free stack support discovery

2021-04-12 Thread Stanislaw Kardach
. Cc: sta...@dpdk.org Stanislaw Kardach (3): stack: update lock-free supported archs stack: add compile flag for lock-free support test: run lock-free stack tests when supported app/test/test_stack.c | 4 app/test/test_stack_perf.c | 4 doc/g

[dpdk-dev] [PATCH 1/3] stack: update lock-free supported archs

2021-04-12 Thread Stanislaw Kardach
Since 7911ba047 lock-free stack is supported on arm64 but this description was missing from the doxygen for the flag. Signed-off-by: Stanislaw Kardach Fixes: 7911ba0473e0 ("stack: enable lock-free implementation for aarch64") Cc: phil.y...@arm.com Cc: sta...@dpdk.org --- lib/li

[dpdk-dev] [PATCH 2/3] stack: add lock-free support indication

2021-04-12 Thread Stanislaw Kardach
lock-free support at compile time. Signed-off-by: Stanislaw Kardach Fixes: 7911ba0473e0 ("stack: enable lock-free implementation for aarch64") Cc: phil.y...@arm.com Cc: sta...@dpdk.org --- doc/guides/rel_notes/release_21_05.rst | 4 lib/librte_stack/rte_stack.c

[dpdk-dev] [PATCH 3/3] test: run lock-free stack tests when supported

2021-04-12 Thread Stanislaw Kardach
Use the recently added RTE_STACK_LF_SUPPORTED flag to disable the lock-free stack tests at the compile time. Perf test doesn't fail because rte_ring_create() succeeds, however marking this test as skipped gives a better indication of what actually was tested. Signed-off-by: Stanislaw Kardac

[dpdk-dev] [PATCH 1/3] test: disable no-huge test with PA IOVA

2021-04-12 Thread Stanislaw Kardach
PP: HPET is not enabled, using TSC as default timer RTE>> This commit finishes the above test early with SKIP status to signify that no-huge support is simply not available. Signed-off-by: Stanislaw Kardach Cc: sta...@dpdk.org --- app/test/test_eal_flags.c | 9 + 1 file changed, 9

[dpdk-dev] [PATCH 0/3] Increase test compatibility with PA IOVA

2021-04-12 Thread Stanislaw Kardach
used with --no-shconf to increase the compatibility with FreeBSD. That is if I'm not missing a bigger picture of using the --no-huge with --no-shconf on non-FreeBSD platforms. Stanislaw Kardach (3): test: disable no-huge test with PA IOVA test: disable no-huge where it's not necessar

[dpdk-dev] [PATCH 2/3] test: disable no-huge where it's not necessary

2021-04-12 Thread Stanislaw Kardach
patch doesn't change that to not add confusion. Signed-off-by: Stanislaw Kardach Fixes: b5d878e6db56 ("test: fix EAL flags autotest on FreeBSD") Cc: sta...@dpdk.org --- app/test/test_eal_flags.c | 33 ++--- 1 file changed, 22 insertions(+), 11 deletions(

[dpdk-dev] [PATCH 3/3] test: fix the -n unit test description

2021-04-12 Thread Stanislaw Kardach
When -n argument became optional, the test logic was fixed (by 1e0b51fd4) but the comment indicating why --no-huge and --no-shconf are used was not changed. Today those flags are used for compatibility with FreeBSD (see b5d878e6d), so change the comment to reflect that. Signed-off-by: Stanislaw

[PATCH 00/11] Introduce support for RISC-V architecture

2022-05-05 Thread Stanislaw Kardach
Your comments and feedback. Best Regards, Stanislaw Kardach NOTE: This work was sponsored by StarFive and SiFive which is signified by "Sponsored-by:" sign-offs in each commit message. After discussing it with Thomas Monjalon it seemed a better choice than "Suggested-by"

[PATCH 01/11] lpm: add a scalar version of lookupx4 function

2022-05-05 Thread Stanislaw Kardach
From: Michal Mazurek Add an implementation of the rte_lpm_lookupx4() function for platforms without support for vector operations. Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grove --- doc/guides/rel_notes/release_22_07.rst

[PATCH 02/11] examples/l3fwd: fix scalar LPM compilation

2022-05-05 Thread Stanislaw Kardach
gavat...@marvell.com Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grove --- examples/l3fwd/l3fwd_lpm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c index bec22c44cd..6e1defbf7f 100644

[PATCH 04/11] net/ixgbe: enable vector stubs for RISC-V

2022-05-05 Thread Stanislaw Kardach
platforms: uio_pci_generic, vfio-pci noiommu and igb_uio. Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grove --- doc/guides/nics/features/ixgbe.ini | 1 + drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++-- drivers/net/ixgbe/meson.build | 6 -- 3 files changed

[PATCH 03/11] eal: add initial support for RISC-V architecture

2022-05-05 Thread Stanislaw Kardach
). Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grove --- MAINTAINERS | 6 + app/test/test_xmmt_ops.h | 16 ++ config/meson.build| 2 + co

[PATCH 05/11] net/memif: set memfd syscall ID on RISC-V

2022-05-05 Thread Stanislaw Kardach
Define the missing __NR_memfd_create syscall id to enable the memif PMD. Signed-off-by: Stanislaw Kardach --- drivers/net/memif/meson.build | 5 - drivers/net/memif/rte_eth_memif.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/net/memif/meson.build b

[PATCH 06/11] net/tap: set BPF syscall ID for RISC-V

2022-05-05 Thread Stanislaw Kardach
Define the missing __NR_bpf syscall id to enable the tap PMD. Signed-off-by: Stanislaw Kardach --- drivers/net/tap/meson.build | 5 - drivers/net/tap/tap_bpf.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build

[PATCH 07/11] examples/l3fwd: enable RISC-V operation

2022-05-05 Thread Stanislaw Kardach
Add missing em_mask_key() implementation and fix l3fwd_common.h inclusion in FIB lookup functions to enable the l3fwd to be run on RISC-V. Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grove --- examples/l3fwd/l3fwd_em.c | 8 examples/l3fwd/l3fwd_fib.c

[PATCH 08/11] test/cpuflags: add test for RISC-V cpu flag

2022-05-05 Thread Stanislaw Kardach
From: Michal Mazurek Add checks for all flag values defined in the RISC-V misa CSR register. Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grove --- app/test/test_cpuflags.c | 81 1 file

[PATCH 09/11] test/ring: disable problematic tests for RISC-V

2022-05-05 Thread Stanislaw Kardach
loops with ring enqueue/dequeue and it seems to be caused by excessive __rte_always_inline usage. ring perf test compiles just fine under debug. To work around this, disable the offending tests in debug mode. Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grov

[PATCH 10/11] devtools: add RISC-V to test-meson-builds.sh

2022-05-05 Thread Stanislaw Kardach
Validate RISC-V compilation when test-meson-builds.sh is called. The check will be only performed if appropriate toolchain is present on the system (same as with other architectures). Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grove --- devtools/test-meson

[PATCH 11/11] test/hash: report non HTM numbers for single r/w

2022-05-05 Thread Stanislaw Kardach
") Cc: yipeng1.w...@intel.com Signed-off-by: Stanislaw Kardach Sponsored-by: Frank Zhao Sponsored-by: Sam Grove --- app/test/test_hash_readwrite.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c index

[PATCH 1/1] test/hash: report non HTM numbers for single r/w

2022-05-10 Thread Stanislaw Kardach
;) Signed-off-by: Stanislaw Kardach --- app/test/test_hash_readwrite.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c index 9b192f2b5e..6373e62d33 100644 --- a/app/test/test_hash_readwrite.c +++

[PATCH 1/1] test/ring: remove excessive inlining

2022-05-10 Thread Stanislaw Kardach
on to force inlining as the test code works perfectly fine without it. Fixes: a9fe152363 test/ring: add custom element size functional tests Signed-off-by: Stanislaw Kardach --- app/test/test_ring.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/test/test_ring.h

[PATCH 1/1] lpm: add a scalar version of lookupx4 function

2022-05-10 Thread Stanislaw Kardach
Signed-off-by: Stanislaw Kardach --- doc/guides/rel_notes/release_22_07.rst | 5 + lib/lpm/meson.build| 1 + lib/lpm/rte_lpm.h | 4 +- lib/lpm/rte_lpm_scalar.h | 122 + 4 files changed, 131 insertions(+), 1

[PATCH 1/1] examples/l3fwd: fix scalar LPM compilation

2022-05-10 Thread Stanislaw Kardach
gavat...@marvell.com Signed-off-by: Stanislaw Kardach --- examples/l3fwd/l3fwd_lpm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c index bec22c44cd..6e1defbf7f 100644 --- a/examples/l3fwd/l3fwd_lpm.c +++ b/exampl

[PATCH v2 0/8] Introduce support for RISC-V architecture

2022-05-10 Thread Stanislaw Kardach
h and github CI. I appreciate Your comments and feedback. Best Regards, Stanislaw Kardach v2: - Separate bug-fixes into separate series. - Prevent RV64_CSRR leak to API users. - Limit test-meson-builds.sh testing to a generic rv64gc configuration. - Clean-up release notes and fix style i

[PATCH v2 1/8] eal: add initial support for RISC-V architecture

2022-05-10 Thread Stanislaw Kardach
e compiler attribute used in rte_vect.h directly. - rte_*mb() used directly in rte_atomic.h to reduce code duplication. - __atomic_thread_fence() used to implement rte_atomic_thread_fence(). Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach -

[PATCH v2 2/8] net/ixgbe: enable vector stubs for RISC-V

2022-05-10 Thread Stanislaw Kardach
platforms: uio_pci_generic, vfio-pci noiommu and igb_uio. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- doc/guides/nics/features/ixgbe.ini | 1 + drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++-- drivers/net/ixgbe/meson.build | 6 -- 3 files changed

[PATCH v2 3/8] net/memif: set memfd syscall ID on RISC-V

2022-05-10 Thread Stanislaw Kardach
Define the missing __NR_memfd_create syscall id to enable the memif PMD. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- drivers/net/memif/meson.build | 5 - drivers/net/memif/rte_eth_memif.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions

[PATCH v2 4/8] net/tap: set BPF syscall ID for RISC-V

2022-05-10 Thread Stanislaw Kardach
Define the missing __NR_bpf syscall id to enable the tap PMD. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- drivers/net/tap/meson.build | 5 - drivers/net/tap/tap_bpf.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers

[PATCH v2 5/8] examples/l3fwd: enable RISC-V operation

2022-05-10 Thread Stanislaw Kardach
Add missing em_mask_key() implementation and fix l3fwd_common.h inclusion in FIB lookup functions to enable the l3fwd to be run on RISC-V. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- examples/l3fwd/l3fwd_em.c | 8 examples/l3fwd/l3fwd_fib.c

[PATCH v2 6/8] test/cpuflags: add test for RISC-V cpu flag

2022-05-10 Thread Stanislaw Kardach
From: Michal Mazurek Add checks for all flag values defined in the RISC-V misa CSR register. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach --- app/test/test_cpuflags.c | 81 1 file

[PATCH v2 7/8] devtools: add RISC-V to test-meson-builds.sh

2022-05-10 Thread Stanislaw Kardach
Validate RISC-V compilation when test-meson-builds.sh is called. The check will be only performed if appropriate toolchain is present on the system (same as with other architectures). Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- devtools/test-meson

[PATCH v2 8/8] ci: add RISCV64 cross compilation job

2022-05-10 Thread Stanislaw Kardach
Checks cross-compilation using Ubuntu 20.04 x86. Signed-off-by: David Marchand Signed-off-by: Stanislaw Kardach --- .ci/linux-build.sh | 4 .github/workflows/build.yml | 11 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.ci/linux-build.sh b/.ci/linux

[PATCH v3 0/8] Introduce support for RISC-V architecture

2022-05-10 Thread Stanislaw Kardach
h and github CI. I appreciate Your comments and feedback. Best Regards, Stanislaw Kardach v3: - Limit test-meson-builds.sh testing to a generic rv64gc configuration. Previous version was missing this change by mistake. v2: - Separate bug-fixes into separate series. - Prevent RV64_CSRR

[PATCH v3 1/8] eal: add initial support for RISC-V architecture

2022-05-10 Thread Stanislaw Kardach
e compiler attribute used in rte_vect.h directly. - rte_*mb() used directly in rte_atomic.h to reduce code duplication. - __atomic_thread_fence() used to implement rte_atomic_thread_fence(). Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach -

[PATCH v3 2/8] net/ixgbe: enable vector stubs for RISC-V

2022-05-10 Thread Stanislaw Kardach
platforms: uio_pci_generic, vfio-pci noiommu and igb_uio. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- doc/guides/nics/features/ixgbe.ini | 1 + drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++-- drivers/net/ixgbe/meson.build | 6 -- 3 files changed

[PATCH v3 3/8] net/memif: set memfd syscall ID on RISC-V

2022-05-10 Thread Stanislaw Kardach
Define the missing __NR_memfd_create syscall id to enable the memif PMD. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- drivers/net/memif/meson.build | 5 - drivers/net/memif/rte_eth_memif.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions

[PATCH v3 4/8] net/tap: set BPF syscall ID for RISC-V

2022-05-10 Thread Stanislaw Kardach
Define the missing __NR_bpf syscall id to enable the tap PMD. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- drivers/net/tap/meson.build | 5 - drivers/net/tap/tap_bpf.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers

[PATCH v3 5/8] examples/l3fwd: enable RISC-V operation

2022-05-10 Thread Stanislaw Kardach
Add missing em_mask_key() implementation and fix l3fwd_common.h inclusion in FIB lookup functions to enable the l3fwd to be run on RISC-V. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- examples/l3fwd/l3fwd_em.c | 8 examples/l3fwd/l3fwd_fib.c

[PATCH v3 6/8] test/cpuflags: add test for RISC-V cpu flag

2022-05-10 Thread Stanislaw Kardach
From: Michal Mazurek Add checks for all flag values defined in the RISC-V misa CSR register. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach --- app/test/test_cpuflags.c | 81 1 file

[PATCH v3 7/8] devtools: add RISC-V to test-meson-builds.sh

2022-05-10 Thread Stanislaw Kardach
Validate RISC-V compilation when test-meson-builds.sh is called. The check will be only performed if appropriate toolchain is present on the system (same as with other architectures). Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- devtools/test-meson

[PATCH v3 8/8] ci: add RISCV64 cross compilation job

2022-05-10 Thread Stanislaw Kardach
Checks cross-compilation using Ubuntu 20.04 x86. Signed-off-by: David Marchand Signed-off-by: Stanislaw Kardach --- .ci/linux-build.sh | 4 .github/workflows/build.yml | 11 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.ci/linux-build.sh b/.ci/linux

[PATCH v2 1/1] examples/l3fwd: fix scalar LPM compilation

2022-05-11 Thread Stanislaw Kardach
l.com Signed-off-by: Stanislaw Kardach --- v2: Replace existing logic with rfc1812_process(). --- examples/l3fwd/l3fwd_lpm.c | 24 ++-- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c index bec22c44cd..7a1

[PATCH v2 1/1] test/ring: remove excessive inlining

2022-05-11 Thread Stanislaw Kardach
on to force inlining as the test code works perfectly fine without it. GCC has a bug report for a similar case (with conditionals): https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93062 Fixes: a9fe152363 test/ring: add custom element size functional tests Signed-off-by: Stanislaw Kardach --- app

[PATCH v2 1/2] lpm: add const to lpm arg of rte_lpm_lookup

2022-05-27 Thread Stanislaw Kardach
All other rte_lpm_lookup* functions take lpm argument as a const. As the basic rte_lpm_lookup() performs the same function, it should also do that. As this function is inline, no API/ABI change happens. Signed-off-by: Stanislaw Kardach --- lib/lpm/rte_lpm.h | 2 +- 1 file changed, 1 insertion

[PATCH v2 2/2] lpm: add a scalar version of lookupx4 function

2022-05-27 Thread Stanislaw Kardach
Signed-off-by: Stanislaw Kardach --- doc/guides/rel_notes/release_22_07.rst | 5 lib/lpm/meson.build| 1 + lib/lpm/rte_lpm.h | 4 ++- lib/lpm/rte_lpm_scalar.h | 36 ++ 4 files changed, 45 insertions(+), 1

[PATCH v3 1/2] lpm: add const to lpm arg of rte_lpm_lookup

2022-05-30 Thread Stanislaw Kardach
All other rte_lpm_lookup* functions take lpm argument as a const. As the basic rte_lpm_lookup() performs the same function, it should also do that. As this function is inline, no API/ABI change happens. Signed-off-by: Stanislaw Kardach --- lib/lpm/rte_lpm.h | 2 +- 1 file changed, 1 insertion

[PATCH v3 2/2] lpm: add a scalar version of lookupx4 function

2022-05-30 Thread Stanislaw Kardach
Signed-off-by: Stanislaw Kardach --- doc/guides/rel_notes/release_22_07.rst | 5 lib/lpm/meson.build| 1 + lib/lpm/rte_lpm.h | 4 ++- lib/lpm/rte_lpm_scalar.h | 40 ++ 4 files changed, 49 insertions(+), 1

[PATCH v4 0/8] Introduce support for RISC-V architecture

2022-05-31 Thread Stanislaw Kardach
h and github CI. I appreciate Your comments and feedback. Best Regards, Stanislaw Kardach v4: - Update RISC-V cross-compilation docs to remove vendor-specific instructions and better match the Ubuntu environment. - Remove optional "fence" removal in the CYCLE and TIME c

[PATCH v4 1/8] eal: add initial support for RISC-V architecture

2022-05-31 Thread Stanislaw Kardach
ic_thread_fence() used to implement rte_atomic_thread_fence(). Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach --- Depends-on: series-22867 ("test/ring: remove excessive inlining") Depends-on: series-22868 ("lpm: ad

[PATCH v4 2/8] net/ixgbe: enable vector stubs for RISC-V

2022-05-31 Thread Stanislaw Kardach
platforms: uio_pci_generic, vfio-pci noiommu and igb_uio. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- doc/guides/nics/features/ixgbe.ini | 1 + drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++-- drivers/net/ixgbe/meson.build | 6 -- 3 files changed

[PATCH v4 3/8] net/memif: set memfd syscall ID on RISC-V

2022-05-31 Thread Stanislaw Kardach
Define the missing __NR_memfd_create syscall id to enable the memif PMD. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- drivers/net/memif/meson.build | 5 - drivers/net/memif/rte_eth_memif.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions

[PATCH v4 4/8] net/tap: set BPF syscall ID for RISC-V

2022-05-31 Thread Stanislaw Kardach
Define the missing __NR_bpf syscall id to enable the tap PMD. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- drivers/net/tap/meson.build | 5 - drivers/net/tap/tap_bpf.h | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers

[PATCH v4 5/8] examples/l3fwd: enable RISC-V operation

2022-05-31 Thread Stanislaw Kardach
Add missing em_mask_key() implementation and fix l3fwd_common.h inclusion in FIB lookup functions to enable the l3fwd to be run on RISC-V. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- examples/l3fwd/l3fwd_em.c | 8 examples/l3fwd/l3fwd_fib.c

[PATCH v4 6/8] test/cpuflags: add test for RISC-V cpu flag

2022-05-31 Thread Stanislaw Kardach
From: Michal Mazurek Add checks for all flag values defined in the RISC-V misa CSR register. Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Michal Mazurek Signed-off-by: Stanislaw Kardach --- app/test/test_cpuflags.c | 81 1 file

[PATCH v4 7/8] devtools: add RISC-V to test-meson-builds.sh

2022-05-31 Thread Stanislaw Kardach
Validate RISC-V compilation when test-meson-builds.sh is called. The check will be only performed if appropriate toolchain is present on the system (same as with other architectures). Sponsored-by: Frank Zhao Sponsored-by: Sam Grove Signed-off-by: Stanislaw Kardach --- devtools/test-meson

[PATCH v4 8/8] ci: add RISCV64 cross compilation job

2022-05-31 Thread Stanislaw Kardach
Checks cross-compilation using Ubuntu 20.04 x86. Signed-off-by: David Marchand Signed-off-by: Stanislaw Kardach --- .ci/linux-build.sh | 4 .github/workflows/build.yml | 11 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.ci/linux-build.sh b/.ci/linux

[PATCH] test/ipsec: check for cryptodevs before testing

2022-06-01 Thread Stanislaw Kardach
Make sure that ipsec_perf_autotest checks if there are any crypto devices available before it starts performance testing. Same test is performed in the ipsec_autotest so it seems prudent to do it here too to not introduce false failures. Signed-off-by: Stanislaw Kardach --- app/test

[PATCH v4 1/2] lpm: add const to lpm arg of rte_lpm_lookup

2022-06-01 Thread Stanislaw Kardach
All other rte_lpm_lookup* functions take lpm argument as a const. As the basic rte_lpm_lookup() performs the same function, it should also do that. As this function is inline, no API/ABI change happens. Signed-off-by: Stanislaw Kardach Acked-by: Vladimir Medvedkin Acked-by: Stephen Hemminger

[PATCH v4 2/2] lpm: add a scalar version of lookupx4 function

2022-06-01 Thread Stanislaw Kardach
Signed-off-by: Stanislaw Kardach --- doc/guides/rel_notes/release_22_07.rst | 5 lib/lpm/meson.build| 1 + lib/lpm/rte_lpm.h | 4 ++- lib/lpm/rte_lpm_scalar.h | 37 ++ 4 files changed, 46 insertions(+), 1

[PATCH 1/1] maintainers: update RISC-V maintainer email

2024-02-13 Thread Stanislaw Kardach
Change my email to a personal one. Signed-off-by: Stanislaw Kardach --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index b9d258e627..e61c57b1be 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -310,7 +310,7 @@ F: examples/*/*_altivec

Re: [PATCH v4 4/9] dts: add ssh pexpect library

2022-09-13 Thread Stanislaw Kardach
bug. 2. Different shells use different prompts on different distros. Hence perhaps there should be a regex here (same as with original_prompt) and there could be a conf.yaml option to modify it on a per-host basis? -- Best Regards, Stanislaw Kardach

Re: [PATCH v4 4/9] dts: add ssh pexpect library

2022-09-14 Thread Stanislaw Kardach
pport using ssh keys for login rather > than hard-coded passwords. > > /Bruce The only reason I have mentioned different shells is to illustrate that prompt might be changed not only due to user modifying PS1 env variable. I agree with the rest (root-only, bash-only). -- Best Regards, Stanislaw Kardach

Re: [PATCH v4 4/9] dts: add ssh pexpect library

2022-09-14 Thread Stanislaw Kardach
.sendline(command) > + > +def get_output_before(self) -> str: The name is missleading. In pxssh terms "before" means all the lines before the matched expect()/prompt(). Here it returns the last line of the output. Perhaps get_last_output_line() is better? > +if not self.isalive(): > +raise SSHSessionDeadException(self.node) > +before: list[str] = self.session.before.rsplit("\r\n", 1) > +if before[0] == "[PEXPECT]": > +before[0] = "" Unnecessary if prompt was handled in proper way as mentioned above. > + > +return before[0] > + > +def get_output_all(self) -> str: > +output: str = self.session.before > +output.replace("[PEXPECT]", "") Ditto. If session.PROMPT was restored properly, this function would not be necessary at all. > +return output > + > +def close(self, force: bool = False) -> None: > +if force is True: > +self.session.close() > +else: > +if self.isalive(): > +self.session.logout() > + > +def isalive(self) -> bool: > +return self.session.isalive() > diff --git a/dts/framework/utils.py b/dts/framework/utils.py > new file mode 100644 > index 00..db87349827 > --- /dev/null > +++ b/dts/framework/utils.py > @@ -0,0 +1,12 @@ > +# SPDX-License-Identifier: BSD-3-Clause > +# Copyright(c) 2010-2014 Intel Corporation > +# Copyright(c) 2022 PANTHEON.tech s.r.o. > +# Copyright(c) 2022 University of New Hampshire > +# > + > +def RED(text: str) -> str: > +return f"\u001B[31;1m{str(text)}\u001B[0m" > + > + > +def GREEN(text: str) -> str: > +return f"\u001B[32;1m{str(text)}\u001B[0m" > -- > 2.30.2 > -- Best Regards, Stanislaw Kardach

Re: [PATCH v4 4/9] dts: add ssh pexpect library

2022-09-22 Thread Stanislaw Kardach
'.', 1)[0] > 'a.b.c' > Oh, I've totally missed that! If that's the case then this function is a result of the always-timeout logic. Note that get_output_before() is only called from send_expect_base() (and indirectly by send_expect()) to get the output of the command without the prompt. So the reason why self.send_expect("echo 'foo'", "#") returns a proper output ('foo\n') is: 0. On login() time pexpect sets the remote prompt to "[PEXPECT]#". 1. send_expect() -> self.send_expect_base() sets the match prompt to #. This causes self.session.prompt() to update the self.session.buffer, match # and chomp it, leaving the ssh buffer as: foo [PEXPECT] 2. send_expect_base() calls self.get_output_before() which cuts the last line of the output. Note that the "if" at the end is necessary for commands that do not return any output. Otherwise the output would be "[PEXPECT]". Also note that if there are any control characters printed by the remote shell, then this will also not work because a straight string comparison is done, not a regex match. Contrary, if self.magic_prompt was not used and pexpect's original prompt was left undisturbed, then all the hacks above would not be needed and the code would be cleaner. > > > +if not self.isalive(): > > > +raise SSHSessionDeadException(self.node) > > > +before: list[str] = self.session.before.rsplit("\r\n", 1) > > > +if before[0] == "[PEXPECT]": > > > +before[0] = "" > > Unnecessary if prompt was handled in proper way as mentioned above. > > > + > > > +return before[0] > > > + > > > +def get_output_all(self) -> str: > > > +output: str = self.session.before > > > +output.replace("[PEXPECT]", "") > > Ditto. If session.PROMPT was restored properly, this function would not be > > necessary at all. > > > +return output > > > + > > > +def close(self, force: bool = False) -> None: > > > +if force is True: > > > +self.session.close() > > > +else: > > > +if self.isalive(): > > > +self.session.logout() > > > + > > > +def isalive(self) -> bool: > > > +return self.session.isalive() > > > diff --git a/dts/framework/utils.py b/dts/framework/utils.py new file > > > mode 100644 index 00..db87349827 > > > --- /dev/null > > > +++ b/dts/framework/utils.py > > > @@ -0,0 +1,12 @@ > > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2010-2014 > > > +Intel Corporation # Copyright(c) 2022 PANTHEON.tech s.r.o. > > > +# Copyright(c) 2022 University of New Hampshire # > > > + > > > +def RED(text: str) -> str: > > > +return f"\u001B[31;1m{str(text)}\u001B[0m" > > > + > > > + > > > +def GREEN(text: str) -> str: > > > +return f"\u001B[32;1m{str(text)}\u001B[0m" > > > -- > > > 2.30.2 > > > > > > > -- > > Best Regards, > > Stanislaw Kardach > -- Best Regards, Stanislaw Kardach

Re: [PATCH v4 4/9] dts: add ssh pexpect library

2022-09-23 Thread Stanislaw Kardach
tion hacks and the public APIs simply to not forget. Though I'd do the refactoring sooner than later because once tests start being merged there will be a higher possibility of them relying on hacks. -- Best Regards, Stanislaw Kardach

Re: [PATCH v5 06/10] dts: add ssh connection module

2022-09-27 Thread Stanislaw Kardach
return before > + > +def __flush(self) -> None: > +""" > +Clear all session buffer > +""" > +self.session.buffer = "" > +self.session.before = "" > + > +def __prompt(self, c

Re: [PATCH] eal: non-temporal memcpy

2022-10-10 Thread Stanislaw Kardach
hind flushing the cache line to free it up to other data? Other than that there is a ratified RISC-V extension for cache management operations (including flush) - Zicbom. NT load/store hints are being worked on right now. -- Best Regards, Stanislaw Kardach

Re: [dpdk-dev] [PATCH v3 17/22] net/ena: support SMP for mz alloc counter

2021-05-07 Thread Stanislaw Kardach
On Fri, May 07, 2021 at 05:48:50PM +0100, Ferruh Yigit wrote: > On 5/6/2021 3:25 PM, Michal Krawczyk wrote: > > From: Stanislaw Kardach > > > > Introduce a memory area for ENA driver shared between all the processes > > of a same prefix (memzone backed). > > Mo

Re: [dpdk-dev] [PATCH v3 17/22] net/ena: support SMP for mz alloc counter

2021-05-10 Thread Stanislaw Kardach
On Sun, May 09, 2021 at 02:41:18PM +0100, Ferruh Yigit wrote: > On 5/7/2021 6:18 PM, Stanislaw Kardach wrote: > > On Fri, May 07, 2021 at 05:48:50PM +0100, Ferruh Yigit wrote: > >> On 5/6/2021 3:25 PM, Michal Krawczyk wrote: > >>> From: Stanislaw Kardach > >

Re: [dpdk-dev] [PATCH v3 18/22] net/ena: move default RSS key to shared mem

2021-05-10 Thread Stanislaw Kardach
On Thu, May 06, 2021 at 04:25:22PM +0200, Michal Krawczyk wrote: > From: Stanislaw Kardach > > Make sure the same random generated RSS key is available to all ENA PMD > instances in all processes. > > Signed-off-by: Stanislaw Kardach > Reviewed-by: Michal Krawczyk > Re

[dpdk-dev] [PATCH v2 0/3] Increase test compatibility with PA IOVA

2021-06-04 Thread Stanislaw Kardach
conf usage on non-FreeBSD platforms. I'm not adding sta...@dpdk.org on purpose as this does not affect any current platform I'm aware of (at least in a production scenario). --- V2: - Fix checkpatch errors - Add affected platform in the cover letter. Stanislaw Kardach (3): test: disab

  1   2   >