From patchwork Thu Feb 18 09:45:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Uvarov X-Patchwork-Id: 62162 Delivered-To: patch@linaro.org Received: by 10.112.43.199 with SMTP id y7csp483661lbl; Thu, 18 Feb 2016 01:46:02 -0800 (PST) X-Received: by 10.140.28.162 with SMTP id 31mr7620764qgz.81.1455788762082; Thu, 18 Feb 2016 01:46:02 -0800 (PST) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id m46si51930015qgd.105.2016.02.18.01.46.01; Thu, 18 Feb 2016 01:46:02 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dkim=neutral (body hash did not verify) header.i=@linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 96A0B61881; Thu, 18 Feb 2016 09:46:01 +0000 (UTC) Authentication-Results: lists.linaro.org; dkim=fail reason="verification failed; unprotected key" header.d=linaro.org header.i=@linaro.org header.b=VEkSYAZe; dkim-adsp=none (unprotected policy); dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 1F18761877; Thu, 18 Feb 2016 09:45:55 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id B459C61879; Thu, 18 Feb 2016 09:45:52 +0000 (UTC) Received: from mail-lf0-f46.google.com (mail-lf0-f46.google.com [209.85.215.46]) by lists.linaro.org (Postfix) with ESMTPS id 2493061875 for ; Thu, 18 Feb 2016 09:45:51 +0000 (UTC) Received: by mail-lf0-f46.google.com with SMTP id m1so28873603lfg.0 for ; Thu, 18 Feb 2016 01:45:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=dg6SEjsiriBq2VTaOlwwmcyk3TH/4G5xTga6O6dThcw=; b=VEkSYAZerCDLnbYqn7fU3kTCrkBipqzKWGIFSnFwW6iYEsmhOEbxAKQVJanb+qpI6b KS/z85sSCWfjzBVq5q1Q4KQrf7+TydKkM4LcOfRF2GPBGYFcRWh0UC2RiGerPXfTEErd Rknyt/MeTAU7ZmQTQXXgE/NOvW5sEJYHKLcmQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=dg6SEjsiriBq2VTaOlwwmcyk3TH/4G5xTga6O6dThcw=; b=KcNOa46cXIjo6qocKHB4iJk40OC161p0Sbt8DeNLoLAgmfdnDFgZvYKRrXZmCgpGE4 JiaAPzqXiPC9E7oVYkf3xi4Td9ZVESjhS7DNpXnFUe9bvHSico3+4O15JU0fNgBQfxon 1Gj/n0SZwnE6kgmffG0eTwANAo+++saRgaHpBjOWa5mK/nkZ2B0bpvDyy4pYrfjOj1x3 jl3pa3ReStEwznCwVWkinfpINNg8ViCq4x1Uk4ahapuAnaRUD8wuo09rcMeaV+1yZHEo RI2fm48yR4Hpok/TtUc/5y/5iwnzN8ntAgYv4seoen7CD5lKVBT50QRDYRz59qCCnRni s9eg== X-Gm-Message-State: AG10YOTy2lC04amzrMsKlAUACTG1jjHzc/YreXFjwLZSKAVWhPXkRYgeJz4ISPhH/XvPwEXNggs= X-Received: by 10.25.147.212 with SMTP id v203mr2297300lfd.167.1455788749970; Thu, 18 Feb 2016 01:45:49 -0800 (PST) Received: from localhost.localdomain (ppp91-76-173-134.pppoe.mtu-net.ru. [91.76.173.134]) by smtp.gmail.com with ESMTPSA id tv1sm814247lbb.4.2016.02.18.01.45.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 18 Feb 2016 01:45:49 -0800 (PST) From: Maxim Uvarov To: lng-odp@lists.linaro.org Date: Thu, 18 Feb 2016 12:45:42 +0300 Message-Id: <1455788742-21831-1-git-send-email-maxim.uvarov@linaro.org> X-Mailer: git-send-email 2.7.1.250.gff4ea60 X-Topics: patch Subject: [lng-odp] [API-NEXT PATCHv4] linux-generic: pktio: add option to enable and disable ipc pktio X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" 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 --- v4: - fix Matias comments to do things more accurate in .m4 configure.ac | 3 ++- platform/linux-generic/m4/configure.m4 | 1 + platform/linux-generic/m4/odp_ipc.m4 | 9 +++++++++ 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, 23 insertions(+), 3 deletions(-) create mode 100644 platform/linux-generic/m4/odp_ipc.m4 diff --git a/configure.ac b/configure.ac index 257f8c3..1aa44d2 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 ########################################################################## # 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], [test x$pktio_ipc_support = xyes]) 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..9475031 --- /dev/null +++ b/platform/linux-generic/m4/odp_ipc.m4 @@ -0,0 +1,9 @@ +########################################################################## +# 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 + ODP_CFLAGS="$ODP_CFLAGS -DPKTIO_IPC" + fi]) diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c index 78ccc0f..950fa90 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 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..faa72d1 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 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..4bf24cb 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 +TESTS += pktio_ipc/pktio_ipc_run +SUBDIRS += pktio_ipc +endif endif dist_check_SCRIPTS = run-test tests-validation.env $(LOG_COMPILER)