Comments below.

-Matias

> -----Original Message-----
> From: lng-odp [mailto:[email protected]] On Behalf Of EXT Maxim
> Uvarov
> Sent: Tuesday, February 16, 2016 1:06 PM
> To: [email protected]
> Subject: [lng-odp] [API-NEXT PATCH] linux-generic: pktio: add option to enable
> and disable ipc pktio
> 
> With more options to enable/disable features it's more easy to isolate
> and debug problem if any. For now I have suspitious that in CI make check
> runs in parallel with other make checks which share the same pool memory.
> I.e. one process can corrupt memory for other process. Moving IPC to option
> it will be easy to debug that.
> 
> Signed-off-by: Maxim Uvarov <[email protected]>
> ---
>  configure.ac                            |  3 ++-
>  platform/linux-generic/m4/configure.m4  |  1 +
>  platform/linux-generic/m4/odp_ipc.m4    | 29
> +++++++++++++++++++++++++++++
>  platform/linux-generic/odp_pool.c       |  4 ++++
>  platform/linux-generic/pktio/io_ops.c   |  2 ++
>  platform/linux-generic/test/Makefile.am |  7 +++++--
>  6 files changed, 43 insertions(+), 3 deletions(-)
>  create mode 100644 platform/linux-generic/m4/odp_ipc.m4
> 
> diff --git a/configure.ac b/configure.ac
> index 257f8c3..f7225cb 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -85,6 +85,7 @@ AC_SUBST([platform_with_platform_test],
> ["platform/${with_platform}/test"])
>  # Prepare default values for platform specific optional features
> 
> ##############################################################
> ############
>  netmap_support=no
> +pktio_ipc_support=no
> 

We should probably choose a common naming scheme for these variables.
'pktio_<type>_support' sounds OK to me.

> 
> ##############################################################
> ############
>  # Run platform specific checks and settings
> @@ -102,7 +103,7 @@ fi
> 
> ##############################################################
> ############
>  AM_CONDITIONAL([netmap_support], [test x$netmap_support = xyes ])
>  AM_CONDITIONAL([HAVE_PCAP], [test $have_pcap = yes])
> -
> +AM_CONDITIONAL([pktio_ipc_support], [test x$pktio_ipc_support = yes])

Same thing as above. AM_CONDITIONAL naming convention seems to be all caps. I'm
currently working on a similar patch for DPDK, so I'd like to use the same 
naming scheme.

> 
>  AC_ARG_WITH([sdk-install-path],
>  AC_HELP_STRING([--with-sdk-install-path=DIR path to external libs and
> headers],
> diff --git a/platform/linux-generic/m4/configure.m4 b/platform/linux-
> generic/m4/configure.m4
> index 2ac4799..b8c1c52 100644
> --- a/platform/linux-generic/m4/configure.m4
> +++ b/platform/linux-generic/m4/configure.m4
> @@ -21,6 +21,7 @@ m4_include([platform/linux-generic/m4/odp_openssl.m4])
>  m4_include([platform/linux-generic/m4/odp_netmap.m4])
>  m4_include([platform/linux-generic/m4/odp_dpdk.m4])
>  m4_include([platform/linux-generic/m4/odp_pcap.m4])
> +m4_include([platform/linux-generic/m4/odp_ipc.m4])
> 
>  AC_CONFIG_FILES([platform/linux-generic/Makefile
>                platform/linux-generic/test/Makefile
> diff --git a/platform/linux-generic/m4/odp_ipc.m4 b/platform/linux-
> generic/m4/odp_ipc.m4
> new file mode 100644
> index 0000000..29506a0
> --- /dev/null
> +++ b/platform/linux-generic/m4/odp_ipc.m4
> @@ -0,0 +1,29 @@
> +#############################################################
> #############
> +# Enable IPC pktio support
> +#############################################################
> #############
> +AC_ARG_ENABLE([pktio_ipc_support],
> +    [  --enable-pktio_ipc-support  include ipc IO support],
> +    [if test x$enableval = xyes; then
> +     pktio_ipc_support=yes
> +    fi])
> +
> +#############################################################
> #############
> +# Save and set temporary compilation flags
> +#############################################################
> #############
> +OLD_CPPFLAGS=$CPPFLAGS
> +CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS"
> +
> +#############################################################
> #############
> +# Check for DPDK availability
> +#############################################################

Wrong header.

> #############
> +if test x$pktio_ipc_support = xyes
> +then
> +    ODP_CFLAGS="$ODP_CFLAGS -DODP_PKTIO_IPC"
> +else
> +    pktio_ipc_support=no
> +fi
> +
> +#############################################################
> #############
> +# Restore old saved variables
> +#############################################################
> #############
> +CPPFLAGS=$OLD_CPPFLAGS
> diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-
> generic/odp_pool.c
> index 78ccc0f..9eaa0c8 100644
> --- a/platform/linux-generic/odp_pool.c
> +++ b/platform/linux-generic/odp_pool.c
> @@ -421,7 +421,11 @@ odp_pool_t _pool_create(const char *name,
>  odp_pool_t odp_pool_create(const char *name,
>                          odp_pool_param_t *params)
>  {
> +#ifdef ODP_PKTIO_IPC
>       return _pool_create(name, params, ODP_SHM_PROC);
> +#else
> +     return _pool_create(name, params, 0);
> +#endif
>  }
> 
>  odp_pool_t odp_pool_lookup(const char *name)
> diff --git a/platform/linux-generic/pktio/io_ops.c b/platform/linux-
> generic/pktio/io_ops.c
> index 15aa160..5824785 100644
> --- a/platform/linux-generic/pktio/io_ops.c
> +++ b/platform/linux-generic/pktio/io_ops.c
> @@ -21,7 +21,9 @@ const pktio_if_ops_t * const pktio_if_ops[]  = {
>  #ifdef HAVE_PCAP
>       &pcap_pktio_ops,
>  #endif
> +#ifdef ODP_PKTIO_IPC
>       &ipc_pktio_ops,
> +#endif
>       &tap_pktio_ops,
>       &sock_mmap_pktio_ops,
>       &sock_mmsg_pktio_ops,
> diff --git a/platform/linux-generic/test/Makefile.am b/platform/linux-
> generic/test/Makefile.am
> index 1011437..09ace38 100644
> --- a/platform/linux-generic/test/Makefile.am
> +++ b/platform/linux-generic/test/Makefile.am
> @@ -1,12 +1,11 @@
>  include $(top_srcdir)/test/Makefile.inc
>  TESTS_ENVIRONMENT += TEST_DIR=${top_builddir}/test/validation
> 
> -ODP_MODULES = pktio pktio_ipc ring
> +ODP_MODULES = pktio ring
> 
>  if test_vald
>  TESTS = pktio/pktio_run \
>       pktio/pktio_run_tap \
> -     pktio_ipc/pktio_ipc_run \
>       ring/ringtest$(EXEEXT) \
>       ${top_builddir}/test/validation/atomic/atomic_main$(EXEEXT) \
>       ${top_builddir}/test/validation/barrier/barrier_main$(EXEEXT) \
> @@ -38,6 +37,10 @@ SUBDIRS = $(ODP_MODULES)
>  if HAVE_PCAP
>  TESTS += pktio/pktio_run_pcap
>  endif
> +if pktio_ipc_support
> +TESTS += pktio_ipc/pktio_ipc_run
> +SUBDIRS += pktio_ipc
> +endif
>  endif
> 
>  dist_check_SCRIPTS = run-test tests-validation.env $(LOG_COMPILER)
> --
> 2.7.1.250.gff4ea60
> 
> _______________________________________________
> lng-odp mailing list
> [email protected]
> https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to