Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/119265 _apply patch failure_ Submitter: David Miller Date: Friday, October 28 2022 21:52:40 Applied on: CommitID:92e9fe0d87b1e27306167b56a0c90c471966c630 Apply patch set 119265 failed: .git/rebase-apply/patch:1905: trailing whitespace. if (rte_vect_get_max_simd_bitwidth() >= RTE_VECT_SIMD_128) Checking patch app/test-acl/main.c... Hunk #1 succeeded at 89 (offset 6 lines). Checking patch app/test-pmd/config.c... error: while searching for: static uint64_t prev_bytes_tx[RTE_MAX_ETHPORTS]; static uint64_t prev_ns[RTE_MAX_ETHPORTS]; struct timespec cur_time; uint64_t diff_pkts_rx, diff_pkts_tx, diff_bytes_rx, diff_bytes_tx, diff_ns; uint64_t mpps_rx, mpps_tx, mbps_rx, mbps_tx; struct rte_eth_stats stats; static const char *nic_stats_border = "########################"; error: patch failed: app/test-pmd/config.c:245 Hunk #2 succeeded at 340 (offset 38 lines). Checking patch app/test/test_acl.c... Checking patch app/test/test_atomic.c... Checking patch app/test/test_cmdline.c... Checking patch app/test/test_cmdline_ipaddr.c... Checking patch app/test/test_cmdline_num.c... Checking patch app/test/test_hash_functions.c... Checking patch app/test/test_xmmt_ops.h... error: while searching for: return data; } #endif #endif /* _TEST_XMMT_OPS_H_ */ error: patch failed: app/test/test_xmmt_ops.h:49 Checking patch buildtools/pmdinfogen.py... Checking patch config/meson.build... error: while searching for: cpu_instruction_set = 'generic' elif host_machine.cpu_family().startswith('ppc') cpu_instruction_set = 'power8' endif endif error: patch failed: config/meson.build:121 Checking patch config/s390x/meson.build... .git/rebase-apply/patch:565: new blank line at EOF. + Checking patch config/s390x/s390x_linux_clang_ubuntu... Checking patch doc/guides/nics/features/i40e.ini... Checking patch drivers/common/mlx5/mlx5_common.h... Checking patch drivers/net/i40e/i40e_rxtx_vec_s390x.c... Checking patch drivers/net/i40e/meson.build... Hunk #1 succeeded at 87 (offset 14 lines). Checking patch drivers/net/ixgbe/ixgbe_rxtx.c... error: while searching for: } /* Stubs needed for linkage when RTE_ARCH_PPC_64 is set */ #if defined(RTE_ARCH_PPC_64) int ixgbe_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev) { error: patch failed: drivers/net/ixgbe/ixgbe_rxtx.c:5958 Checking patch drivers/net/memif/rte_eth_memif.h... error: while searching for: #define __NR_memfd_create 279 #elif defined __powerpc__ #define __NR_memfd_create 360 #elif defined __i386__ #define __NR_memfd_create 356 #else error: patch failed: drivers/net/memif/rte_eth_memif.h:178 Checking patch drivers/net/mlx5/mlx5_rx.c... Hunk #1 succeeded at 227 (offset 18 lines). Hunk #2 succeeded at 239 (offset 18 lines). Hunk #3 succeeded at 335 (offset 18 lines). Checking patch drivers/net/octeontx/base/octeontx_pki_var.h... Checking patch examples/l3fwd-acl/main.c... error: examples/l3fwd-acl/main.c: does not exist in index Checking patch examples/l3fwd/l3fwd_em.c... error: while searching for: return vec_and(data, mask); } #else #error No vector engine (SSE, NEON, ALTIVEC) available, check your toolchain #endif error: patch failed: examples/l3fwd/l3fwd_em.c:239 Checking patch examples/l3fwd/l3fwd_lpm_s390x.h... Checking patch examples/l3fwd/l3fwd_s390x.h... Checking patch lib/acl/acl_bld.c... Hunk #1 succeeded at 780 (offset 3 lines). Checking patch lib/acl/acl_gen.c... Checking patch lib/acl/acl_run_scalar.c... Checking patch lib/acl/rte_acl.c... Checking patch lib/acl/rte_acl.h... Hunk #1 succeeded at 242 (offset 1 line). Checking patch lib/eal/s390x/include/meson.build... Checking patch lib/eal/s390x/include/rte_atomic.h... Checking patch lib/eal/s390x/include/rte_byteorder.h... Checking patch lib/eal/s390x/include/rte_cpuflags.h... Checking patch lib/eal/s390x/include/rte_cycles.h... Checking patch lib/eal/s390x/include/rte_io.h... Checking patch lib/eal/s390x/include/rte_mcslock.h... Checking patch lib/eal/s390x/include/rte_memcpy.h... Checking patch lib/eal/s390x/include/rte_pause.h... Checking patch lib/eal/s390x/include/rte_power_intrinsics.h... Checking patch lib/eal/s390x/include/rte_prefetch.h... Checking patch lib/eal/s390x/include/rte_rwlock.h... Checking patch lib/eal/s390x/include/rte_spinlock.h... Checking patch lib/eal/s390x/include/rte_ticketlock.h... Checking patch lib/eal/s390x/include/rte_vect.h... Checking patch lib/eal/s390x/meson.build... .git/rebase-apply/patch:2779: new blank line at EOF. + Checking patch lib/eal/s390x/rte_cpuflags.c... Checking patch lib/eal/s390x/rte_cycles.c... Checking patch lib/eal/s390x/rte_hypervisor.c... Checking patch lib/eal/s390x/rte_power_intrinsics.c... Checking patch lib/hash/rte_fbk_hash.h... Checking patch lib/lpm/meson.build... error: while searching for: # without worrying about which architecture we actually need indirect_headers += files( 'rte_lpm_altivec.h', 'rte_lpm_neon.h', 'rte_lpm_sse.h', 'rte_lpm_sve.h', error: patch failed: lib/lpm/meson.build:13 Checking patch lib/lpm/rte_lpm.h... error: while searching for: #endif #elif defined(RTE_ARCH_PPC_64) #include "rte_lpm_altivec.h" #else #include "rte_lpm_sse.h" #endif error: patch failed: lib/lpm/rte_lpm.h:405 Checking patch lib/lpm/rte_lpm6.c... Checking patch lib/lpm/rte_lpm_s390x.h... Checking patch meson.build... error: while searching for: arch_subdir = 'arm' elif host_machine.cpu_family().startswith('ppc') arch_subdir = 'ppc' endif # configure the build, and make sure configs here and in config folder are error: patch failed: meson.build:50 Applied patch app/test-acl/main.c cleanly. Applying patch app/test-pmd/config.c with 1 reject... Rejected hunk #1. Hunk #2 applied cleanly. Applied patch app/test/test_acl.c cleanly. Applied patch app/test/test_atomic.c cleanly. Applied patch app/test/test_cmdline.c cleanly. Applied patch app/test/test_cmdline_ipaddr.c cleanly. Applied patch app/test/test_cmdline_num.c cleanly. Applied patch app/test/test_hash_functions.c cleanly. Applying patch app/test/test_xmmt_ops.h with 1 reject... Rejected hunk #1. Applied patch buildtools/pmdinfogen.py cleanly. Applying patch config/meson.build with 1 reject... Rejected hunk #1. Applied patch config/s390x/meson.build cleanly. Applied patch config/s390x/s390x_linux_clang_ubuntu cleanly. Applied patch doc/guides/nics/features/i40e.ini cleanly. Applied patch drivers/common/mlx5/mlx5_common.h cleanly. Applied patch drivers/net/i40e/i40e_rxtx_vec_s390x.c cleanly. Applied patch drivers/net/i40e/meson.build cleanly. Applying patch drivers/net/ixgbe/ixgbe_rxtx.c with 1 reject... Rejected hunk #1. Applying patch drivers/net/memif/rte_eth_memif.h with 1 reject... Rejected hunk #1. Applied patch drivers/net/mlx5/mlx5_rx.c cleanly. Applied patch drivers/net/octeontx/base/octeontx_pki_var.h cleanly. Applying patch examples/l3fwd/l3fwd_em.c with 1 reject... Rejected hunk #1. Applied patch examples/l3fwd/l3fwd_lpm_s390x.h cleanly. Applied patch examples/l3fwd/l3fwd_s390x.h cleanly. Applied patch lib/acl/acl_bld.c cleanly. Applied patch lib/acl/acl_gen.c cleanly. Applied patch lib/acl/acl_run_scalar.c cleanly. Applied patch lib/acl/rte_acl.c cleanly. Applied patch lib/acl/rte_acl.h cleanly. Applied patch lib/eal/s390x/include/meson.build cleanly. Applied patch lib/eal/s390x/include/rte_atomic.h cleanly. Applied patch lib/eal/s390x/include/rte_byteorder.h cleanly. Applied patch lib/eal/s390x/include/rte_cpuflags.h cleanly. Applied patch lib/eal/s390x/include/rte_cycles.h cleanly. Applied patch lib/eal/s390x/include/rte_io.h cleanly. Applied patch lib/eal/s390x/include/rte_mcslock.h cleanly. Applied patch lib/eal/s390x/include/rte_memcpy.h cleanly. Applied patch lib/eal/s390x/include/rte_pause.h cleanly. Applied patch lib/eal/s390x/include/rte_power_intrinsics.h cleanly. Applied patch lib/eal/s390x/include/rte_prefetch.h cleanly. Applied patch lib/eal/s390x/include/rte_rwlock.h cleanly. Applied patch lib/eal/s390x/include/rte_spinlock.h cleanly. Applied patch lib/eal/s390x/include/rte_ticketlock.h cleanly. Applied patch lib/eal/s390x/include/rte_vect.h cleanly. Applied patch lib/eal/s390x/meson.build cleanly. Applied patch lib/eal/s390x/rte_cpuflags.c cleanly. Applied patch lib/eal/s390x/rte_cycles.c cleanly. Applied patch lib/eal/s390x/rte_hypervisor.c cleanly. Applied patch lib/eal/s390x/rte_power_intrinsics.c cleanly. Applied patch lib/hash/rte_fbk_hash.h cleanly. Applying patch lib/lpm/meson.build with 1 reject... Rejected hunk #1. Applying patch lib/lpm/rte_lpm.h with 1 reject... Rejected hunk #1. Applied patch lib/lpm/rte_lpm6.c cleanly. Applied patch lib/lpm/rte_lpm_s390x.h cleanly. Applying patch meson.build with 1 reject... Rejected hunk #1. diff a/app/test-pmd/config.c b/app/test-pmd/config.c (rejected hunks) @@ -245,9 +245,9 @@ nic_stats_display(portid_t port_id) static uint64_t prev_bytes_tx[RTE_MAX_ETHPORTS]; static uint64_t prev_ns[RTE_MAX_ETHPORTS]; struct timespec cur_time; - uint64_t diff_pkts_rx, diff_pkts_tx, diff_bytes_rx, diff_bytes_tx, - diff_ns; - uint64_t mpps_rx, mpps_tx, mbps_rx, mbps_tx; + __uint128_t diff_pkts_rx, diff_pkts_tx, diff_bytes_rx, diff_bytes_tx, + diff_ns; + __uint128_t mpps_rx, mpps_tx, mbps_rx, mbps_tx; struct rte_eth_stats stats; static const char *nic_stats_border = "########################"; diff a/app/test/test_xmmt_ops.h b/app/test/test_xmmt_ops.h (rejected hunks) @@ -49,6 +49,20 @@ vect_set_epi32(int i3, int i2, int i1, int i0) return data; } +#elif defined(RTE_ARCH_S390X) + +/* loads the xmm_t value from address p(does not need to be 16-byte aligned)*/ +#define vect_loadu_sil128(p) vec_xld2(0, (signed int *)p) + +/* sets the 4 signed 32-bit integer values and returns the xmm_t variable */ +static __rte_always_inline xmm_t +vect_set_epi32(int i3, int i2, int i1, int i0) +{ + xmm_t data = (xmm_t){i0, i1, i2, i3}; + + return data; +} + #endif #endif /* _TEST_XMMT_OPS_H_ */ diff a/config/meson.build b/config/meson.build (rejected hunks) @@ -121,6 +121,8 @@ if cpu_instruction_set == 'generic' cpu_instruction_set = 'generic' elif host_machine.cpu_family().startswith('ppc') cpu_instruction_set = 'power8' + elif host_machine.cpu_family().startswith('s390x') + machine = 'z13' endif endif diff a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c (rejected hunks) @@ -5958,7 +5958,7 @@ ixgbe_config_rss_filter(struct rte_eth_dev *dev, } /* Stubs needed for linkage when RTE_ARCH_PPC_64 is set */ -#if defined(RTE_ARCH_PPC_64) +#if defined(RTE_ARCH_PPC_64) || defined(RTE_ARCH_S390X) int ixgbe_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev) { diff a/drivers/net/memif/rte_eth_memif.h b/drivers/net/memif/rte_eth_memif.h (rejected hunks) @@ -178,6 +178,8 @@ const char *memif_version(void); #define __NR_memfd_create 279 #elif defined __powerpc__ #define __NR_memfd_create 360 +#elif defined __s390x__ +#define __NR_memfd_create 350 #elif defined __i386__ #define __NR_memfd_create 356 #else diff a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c (rejected hunks) @@ -239,6 +239,14 @@ em_mask_key(void *key, xmm_t mask) return vec_and(data, mask); } +#elif defined(__s390x__) +static inline xmm_t +em_mask_key(void *key, xmm_t mask) +{ + xmm_t data = (xmm_t) vec_xld2(0, (unsigned int *)(key)); + + return data + mask; +} #else #error No vector engine (SSE, NEON, ALTIVEC) available, check your toolchain #endif diff a/lib/lpm/meson.build b/lib/lpm/meson.build (rejected hunks) @@ -13,6 +13,7 @@ headers = files('rte_lpm.h', 'rte_lpm6.h') # without worrying about which architecture we actually need indirect_headers += files( 'rte_lpm_altivec.h', + 'rte_lpm_s390x.h', 'rte_lpm_neon.h', 'rte_lpm_sse.h', 'rte_lpm_sve.h', diff a/lib/lpm/rte_lpm.h b/lib/lpm/rte_lpm.h (rejected hunks) @@ -405,6 +405,8 @@ rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t hop[4], #endif #elif defined(RTE_ARCH_PPC_64) #include "rte_lpm_altivec.h" +#elif defined(RTE_ARCH_S390X) +#include "rte_lpm_s390x.h" #else #include "rte_lpm_sse.h" #endif diff a/meson.build b/meson.build (rejected hunks) @@ -50,6 +50,8 @@ elif host_machine.cpu_family().startswith('arm') or host_machine.cpu_family().st arch_subdir = 'arm' elif host_machine.cpu_family().startswith('ppc') arch_subdir = 'ppc' +elif host_machine.cpu_family().startswith('s390x') + arch_subdir = 's390x' endif # configure the build, and make sure configs here and in config folder are https://lab.dpdk.org/results/dashboard/patchsets/24236/ UNH-IOL DPDK Community Lab