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

Reply via email to