DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: kirankumark@marvell.com
Cc: Pavan Nikhilesh <pbhagavatula@marvell.com>,
	Shijith Thotton <sthotton@marvell.com>,
	 Nithin Dabilpuram <ndabilpuram@marvell.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	 Satha Rao <skoteshwar@marvell.com>,
	dev@dpdk.org
Subject: Re: [dpdk-dev][PATCH] drivers: optimize the build time for cnxk
Date: Tue, 4 Apr 2023 11:29:43 +0530	[thread overview]
Message-ID: <CALBAE1Pte4z6wwoQauNdok5o49Xdhm9Zvmi5AR7YBvY9=iy1tA@mail.gmail.com> (raw)
In-Reply-To: <20221111052248.3920036-1-kirankumark@marvell.com>

On Fri, Nov 11, 2022 at 10:53 AM <kirankumark@marvell.com> wrote:
>
> From: Kiran Kumar K <kirankumark@marvell.com>
>
> While building cnxk, if build platform is cn9k, cn10k files
> are also being compiled and vice versa. This is causing more
> build time. Adding changes to avoid this by checking the
> platform and compile only platform specific files. If no
> platform is provided, both cn9k and cn10k files will be compiled.
>
> Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>


Applied to dpdk-next-net-mrvl/for-next-net. Thanks


> ---
>  drivers/event/cnxk/cn9k_eventdev.c | 16 ----------------
>  drivers/event/cnxk/cnxk_eventdev.c | 14 ++++++++++++++
>  drivers/event/cnxk/cnxk_eventdev.h |  1 +
>  drivers/event/cnxk/meson.build     | 22 ++++++++++++++++++----
>  drivers/net/cnxk/meson.build       | 14 ++++++++++++++
>  5 files changed, 47 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c
> index f5a42a86f8..7b09f27644 100644
> --- a/drivers/event/cnxk/cn9k_eventdev.c
> +++ b/drivers/event/cnxk/cn9k_eventdev.c
> @@ -6,7 +6,6 @@
>  #include "cnxk_eventdev.h"
>  #include "cnxk_worker.h"
>
> -#define CN9K_DUAL_WS_NB_WS         2
>  #define CN9K_DUAL_WS_PAIR_ID(x, id) (((x)*CN9K_DUAL_WS_NB_WS) + id)
>
>  #define CN9K_SET_EVDEV_DEQ_OP(dev, deq_op, deq_ops)                            \
> @@ -239,21 +238,6 @@ cn9k_sso_hws_reset(void *arg, void *hws)
>                 ws->swtag_req = 0;
>  }
>
> -void
> -cn9k_sso_set_rsrc(void *arg)
> -{
> -       struct cnxk_sso_evdev *dev = arg;
> -
> -       if (dev->dual_ws)
> -               dev->max_event_ports = dev->sso.max_hws / CN9K_DUAL_WS_NB_WS;
> -       else
> -               dev->max_event_ports = dev->sso.max_hws;
> -       dev->max_event_queues =
> -               dev->sso.max_hwgrp > RTE_EVENT_MAX_QUEUES_PER_DEV ?
> -                             RTE_EVENT_MAX_QUEUES_PER_DEV :
> -                             dev->sso.max_hwgrp;
> -}
> -
>  static int
>  cn9k_sso_rsrc_init(void *arg, uint8_t hws, uint8_t hwgrp)
>  {
> diff --git a/drivers/event/cnxk/cnxk_eventdev.c b/drivers/event/cnxk/cnxk_eventdev.c
> index db62d32a81..efa9359ce6 100644
> --- a/drivers/event/cnxk/cnxk_eventdev.c
> +++ b/drivers/event/cnxk/cnxk_eventdev.c
> @@ -623,3 +623,17 @@ cnxk_sso_remove(struct rte_pci_device *pci_dev)
>  {
>         return rte_event_pmd_pci_remove(pci_dev, cnxk_sso_fini);
>  }
> +
> +void
> +cn9k_sso_set_rsrc(void *arg)
> +{
> +       struct cnxk_sso_evdev *dev = arg;
> +
> +       if (dev->dual_ws)
> +               dev->max_event_ports = dev->sso.max_hws / CN9K_DUAL_WS_NB_WS;
> +       else
> +               dev->max_event_ports = dev->sso.max_hws;
> +       dev->max_event_queues = dev->sso.max_hwgrp > RTE_EVENT_MAX_QUEUES_PER_DEV ?
> +                                       RTE_EVENT_MAX_QUEUES_PER_DEV :
> +                                       dev->sso.max_hwgrp;
> +}
> diff --git a/drivers/event/cnxk/cnxk_eventdev.h b/drivers/event/cnxk/cnxk_eventdev.h
> index 738e335ea4..fdbcfb4640 100644
> --- a/drivers/event/cnxk/cnxk_eventdev.h
> +++ b/drivers/event/cnxk/cnxk_eventdev.h
> @@ -56,6 +56,7 @@
>  #define CNXK_TAG_IS_HEAD(x)        (BIT_ULL(35) & x)
>
>  #define CN9K_SSOW_GET_BASE_ADDR(_GW) ((_GW)-SSOW_LF_GWS_OP_GET_WORK0)
> +#define CN9K_DUAL_WS_NB_WS          2
>
>  #define CN10K_GW_MODE_NONE     0
>  #define CN10K_GW_MODE_PREF     1
> diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build
> index aa42ab3a90..227c6ae7a8 100644
> --- a/drivers/event/cnxk/meson.build
> +++ b/drivers/event/cnxk/meson.build
> @@ -8,11 +8,17 @@ if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
>      subdir_done()
>  endif
>
> +if meson.is_cross_build()
> +        soc_type = meson.get_cross_property('platform', '')
> +else
> +        soc_type = platform
> +endif
> +
> +if soc_type != 'cn9k' and soc_type != 'cn10k'
> +        soc_type = 'all'
> +endif
> +
>  sources = files(
> -        'cn9k_eventdev.c',
> -        'cn9k_worker.c',
> -        'cn10k_eventdev.c',
> -        'cn10k_worker.c',
>          'cnxk_eventdev.c',
>          'cnxk_eventdev_adptr.c',
>          'cnxk_eventdev_selftest.c',
> @@ -21,7 +27,10 @@ sources = files(
>          'cnxk_tim_worker.c',
>  )
>
> +if soc_type == 'cn9k' or soc_type == 'all'
>  sources += files(
> +        'cn9k_eventdev.c',
> +        'cn9k_worker.c',
>          'deq/cn9k/deq_0_15_burst.c',
>          'deq/cn9k/deq_16_31_burst.c',
>          'deq/cn9k/deq_32_47_burst.c',
> @@ -320,8 +329,12 @@ sources += files(
>          'tx/cn9k/tx_96_111_dual_seg.c',
>          'tx/cn9k/tx_112_127_dual_seg.c',
>  )
> +endif
>
> +if soc_type == 'cn10k' or soc_type == 'all'
>  sources += files(
> +        'cn10k_eventdev.c',
> +        'cn10k_worker.c',
>          'deq/cn10k/deq_0_15_burst.c',
>          'deq/cn10k/deq_16_31_burst.c',
>          'deq/cn10k/deq_32_47_burst.c',
> @@ -470,6 +483,7 @@ sources += files(
>          'tx/cn10k/tx_96_111_seg.c',
>          'tx/cn10k/tx_112_127_seg.c',
>  )
> +endif
>
>  extra_flags = ['-flax-vector-conversions', '-Wno-strict-aliasing']
>  foreach flag: extra_flags
> diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build
> index c7ca24d437..99531c1917 100644
> --- a/drivers/net/cnxk/meson.build
> +++ b/drivers/net/cnxk/meson.build
> @@ -8,6 +8,16 @@ if not dpdk_conf.get('RTE_ARCH_64')
>      subdir_done()
>  endif
>
> +if meson.is_cross_build()
> +        soc_type = meson.get_cross_property('platform', '')
> +else
> +        soc_type = platform
> +endif
> +
> +if soc_type != 'cn9k' and soc_type != 'cn10k'
> +        soc_type = 'all'
> +endif
> +
>  sources = files(
>          'cnxk_ethdev.c',
>          'cnxk_ethdev_cman.c',
> @@ -25,6 +35,7 @@ sources = files(
>          'cnxk_tm.c',
>  )
>
> +if soc_type == 'cn9k' or soc_type == 'all'
>  # CN9K
>  sources += files(
>          'cn9k_ethdev.c',
> @@ -103,7 +114,9 @@ sources += files(
>          'tx/cn9k/tx_96_111_vec_mseg.c',
>          'tx/cn9k/tx_112_127_vec_mseg.c',
>  )
> +endif
>
> +if soc_type == 'cn10k' or soc_type == 'all'
>  # CN10K
>  sources += files(
>          'cn10k_ethdev.c',
> @@ -182,6 +195,7 @@ sources += files(
>          'tx/cn10k/tx_96_111_vec_mseg.c',
>          'tx/cn10k/tx_112_127_vec_mseg.c',
>  )
> +endif
>
>  deps += ['bus_pci', 'cryptodev', 'eventdev', 'security']
>  deps += ['common_cnxk', 'mempool_cnxk']
> --
> 2.34.1
>

      reply	other threads:[~2023-04-04  6:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-11  5:22 kirankumark
2023-04-04  5:59 ` Jerin Jacob [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALBAE1Pte4z6wwoQauNdok5o49Xdhm9Zvmi5AR7YBvY9=iy1tA@mail.gmail.com' \
    --to=jerinjacobk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=kirankumark@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=pbhagavatula@marvell.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=sthotton@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).