David, I will connect with David Christensen in regards to what they are doing for CI. I have talked to him in the past but now that things are rolling I will reconnect with him. I do have hardware that the CI could run on to verify the build. I think testing of the hardware part would end up being at some regular interval since that will have to occur on internal infrastructure.
Matt..... Mathew Thoennes zSystems Research T.J. Watson Research Center [email protected] (914)945-4545 -----Original Message----- From: David Marchand <[email protected]> Sent: Wednesday, August 2, 2023 11:25 AM To: David Miller <[email protected]> Cc: [email protected]; Mathew S Thoennes <[email protected]>; Konstantin Ananyev <[email protected]>; Olivier Matz <[email protected]>; Yipeng Wang <[email protected]>; Sameh Gobriel <[email protected]>; Bruce Richardson <[email protected]>; Vladimir Medvedkin <[email protected]>; Dmitry Kozlyuk <[email protected]>; Yuying Zhang <[email protected]>; Beilei Xing <[email protected]>; Matan Azrad <[email protected]>; Viacheslav Ovsiienko <[email protected]>; Ori Kam <[email protected]>; Suanming Mou <[email protected]>; Qiming Yang <[email protected]>; Wenjun Wu <[email protected]>; Jakub Grajciar <[email protected]>; Harman Kalra <[email protected]>; Thomas Monjalon <[email protected]>; David Christensen <[email protected]> Subject: [EXTERNAL] Re: [PATCH v3] Add support for IBM Z s390x Hello David, On Wed, Jul 26, 2023 at 3:35 AM David Miller <[email protected]> wrote: > > Minimal changes to drivers and app to support the IBM s390x. This seems a bit more than "minimal changes" :-). > > Signed-off-by: David Miller <[email protected]> > Reviewed-by: Mathew S Thoennes <[email protected]> > --- > app/test-acl/main.c | 4 + > app/test/test_acl.c | 1 + > app/test/test_atomic.c | 7 +- > app/test/test_cmdline_ipaddr.c | 12 +- > app/test/test_cmdline_num.c | 110 ++++ > app/test/test_hash_functions.c | 29 + > app/test/test_xmmt_ops.h | 14 + > buildtools/pmdinfogen.py | 11 +- > config/meson.build | 2 + > config/s390x/meson.build | 51 ++ > config/s390x/s390x_linux_clang_ubuntu | 19 + > doc/guides/nics/features/i40e.ini | 1 + > drivers/common/mlx5/mlx5_common.h | 9 + > drivers/net/i40e/i40e_rxtx_vec_s390x.c | 630 +++++++++++++++++++ > drivers/net/i40e/meson.build | 2 + > drivers/net/ixgbe/ixgbe_rxtx.c | 8 +- > drivers/net/memif/rte_eth_memif.h | 2 + > drivers/net/mlx5/mlx5_rx.c | 24 +- > drivers/net/octeontx/base/octeontx_pki_var.h | 6 + > examples/l3fwd/l3fwd_em.c | 8 + > examples/l3fwd/l3fwd_lpm_s390x.h | 137 ++++ > examples/l3fwd/l3fwd_s390x.h | 261 ++++++++ > lib/acl/acl_bld.c | 3 + > lib/acl/acl_gen.c | 9 + > lib/acl/acl_run_scalar.c | 8 + > lib/acl/rte_acl.c | 27 + > lib/acl/rte_acl.h | 5 +- > lib/eal/s390x/include/meson.build | 16 + > lib/eal/s390x/include/rte_atomic.h | 44 ++ > lib/eal/s390x/include/rte_byteorder.h | 43 ++ > lib/eal/s390x/include/rte_cpuflags.h | 41 ++ > lib/eal/s390x/include/rte_cycles.h | 44 ++ > lib/eal/s390x/include/rte_io.h | 184 ++++++ > lib/eal/s390x/include/rte_mcslock.h | 18 + > lib/eal/s390x/include/rte_memcpy.h | 55 ++ > lib/eal/s390x/include/rte_pause.h | 22 + > lib/eal/s390x/include/rte_power_intrinsics.h | 20 + > lib/eal/s390x/include/rte_prefetch.h | 46 ++ > lib/eal/s390x/include/rte_rwlock.h | 42 ++ > lib/eal/s390x/include/rte_spinlock.h | 85 +++ > lib/eal/s390x/include/rte_ticketlock.h | 18 + > lib/eal/s390x/include/rte_vect.h | 35 ++ > lib/eal/s390x/meson.build | 16 + > lib/eal/s390x/rte_cpuflags.c | 91 +++ > lib/eal/s390x/rte_cycles.c | 11 + > lib/eal/s390x/rte_hypervisor.c | 11 + > lib/eal/s390x/rte_power_intrinsics.c | 51 ++ > lib/hash/rte_fbk_hash.h | 7 + > lib/lpm/meson.build | 1 + > lib/lpm/rte_lpm.h | 2 + > lib/lpm/rte_lpm6.c | 18 + > lib/lpm/rte_lpm_s390x.h | 130 ++++ > meson.build | 2 + > 53 files changed, 2439 insertions(+), 14 deletions(-) - This is too big to review. Please split this patch separating the really minimum support (getting EAL and main libraries to build, disabling the rest that is "broken" for s390x) then adding more components support in later patches. RISC V and LoongArch "recent" additions are good examples. https://patchwork.dpdk.org/project/dpdk/list/?series=23380&state=%2A&archive=both https://patchwork.dpdk.org/project/dpdk/list/?series=24969&state=%2A&archive=both - We need one maintainer for this new architecture. - You'll notice that the DPDK CI reported issues, please fix them. - What are the plans in terms of CI? We need some compilation testing and ideally some regular runtime testing. Maybe you can reach out to IBM PPC DPDK guys, like David Christensen, to see what they are doing. -- David Marchand

