From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f196.google.com (mail-wr0-f196.google.com [209.85.128.196]) by dpdk.org (Postfix) with ESMTP id 859DA1B2EF for ; Fri, 26 Jan 2018 16:58:53 +0100 (CET) Received: by mail-wr0-f196.google.com with SMTP id t16so923543wrc.10 for ; Fri, 26 Jan 2018 07:58:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=7m6u0SjiiD8ps5pPNuqEOc3cGu2NvNuDjUoupfrqDOI=; b=VU81x3COtDrM7ZbxGG83YQsBtwXxWdq/ddp/HMp7edn/TlnRAPVtgV6xRvLFmjBVO2 ye7TJXa3iLcwaoM1djqAtShNfjYK82r40zQrxLqRxeFLL0I/PqnAkUWdJ5rOyQX8CQz5 HiC9uwxFmObucYEI55HB20QM1EhviWwMNOhB995jGy4/om70jfazyyP+z4+LyQxZdbYV DGQGlI2CZrgEnxH4V1ZH+MIBjBb8FanZgQQYukh8j3mcD31fKud40w7rc3HllnWlroVk h4lLjAmGeW0ENztGYMiR/8QYULNLoasGQkl84bEYtKGIRFWPtgNTk/9EKrXxUy/J3o8b GB/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=7m6u0SjiiD8ps5pPNuqEOc3cGu2NvNuDjUoupfrqDOI=; b=a34e4IlQ/Y18dtwHywWSFI63I9eV80UDZzfzoZy19MbFSZzl6zHwo6oEpNDypb7IJA BnZo0nHUCVX61SfDOkyotSjn4E/ZakWLoISJM6jITpm+vSVc/w6UQM4BWCBvm0ktkpdr a+K5pv0dozNSxfaNiMWpci1TNjMaz9CcWxta5B26CUI7XnMpnOKEGMmZ+K6pjm7vBw8G g4aehftZ1biUGEUnfUhf1+a8XOkAOIx5L+j3iF3SwFJKe/azBq3y4Dm3czRLJnTe65jI fAmLSWXK/47okXEjII0Dv+JibKmbJ9utEV1Bjul9YJ5ZXrUiwNPtIx0PtbFZUBu0c8GJ 9gtw== X-Gm-Message-State: AKwxytcGriahtooe14+ihp9BptFBorjrsLPb2JH9D1PUz+n2xIuoQvoQ 94yFGGoLr3EVhGPI+wZkmff0 X-Google-Smtp-Source: AH8x2260gk2JwRNpXxMIT5RNVArxwFv59ggL0Om5U4u9my3+67r15/uS03RtHa9knm4xjPfhg/NumA== X-Received: by 10.223.154.110 with SMTP id z101mr5966253wrb.282.1516982333241; Fri, 26 Jan 2018 07:58:53 -0800 (PST) Received: from laranjeiro-vm.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id 137sm5371414wmm.46.2018.01.26.07.58.52 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 26 Jan 2018 07:58:52 -0800 (PST) Date: Fri, 26 Jan 2018 16:58:57 +0100 From: =?iso-8859-1?Q?N=E9lio?= Laranjeiro To: Adrien Mazarguil Cc: Shahaf Shuler , dev@dpdk.org, Marcelo Ricardo Leitner Message-ID: <20180126155857.h5hoslks5fow5mpr@laranjeiro-vm.dev.6wind.com> References: <20180124223625.1928-1-adrien.mazarguil@6wind.com> <20180126141215.30395-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180126141215.30395-1-adrien.mazarguil@6wind.com> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [dpdk-dev] [PATCH v2 0/4] net/mlx: make rdma-core optional at run-time X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jan 2018 15:58:53 -0000 On Fri, Jan 26, 2018 at 03:18:55PM +0100, Adrien Mazarguil wrote: > A problem encountered with Mellanox PMDs and frequently reported by DPDK > application developers and Linux distribution package maintainers is their > dependency on rdma-core components, namely libibverbs, libmlx4, and libmlx5. > > For best performance in applications, DPDK is normally built as a collection > of library archives (.a files), whose external dependencies are inherited > through rte.app.mk during link. > > When these PMDs are built-in, any binary DPDK package, whether DPDK itself > or derived applications, always have to pull rdma-core. This dependency is > not obvious and may be missed during the packaging of any intermediate layer > between DPDK itself and the end application. > > While still required during compilation, this series trades this hard > dependency for an optional one, dynamically loaded at run-time through > dlopen(). > > It supersedes Shachar's previous work on the same topic [1] using a > different approach in order to preserve symbol versioning and address > the remaining issues. > > [1] http://dpdk.org/ml/archives/dev/2017-December/085090.html > > v2 changes: > > - Rebased on dpdk-next-net-mlx. > - Rely on CONFIG_RTE_LIBRTE_MLX[45]_DLOPEN_DEPS instead of > CONFIG_RTE_BUILD_SHARED_LIB to enable this mode, so it can be overridden > if necessary. > - Fixed -lmlx5 -libibverbs leftovers in rte.app.mk. > - Minor fixes for indentation and unnecessary includes in mlx5. > > Adrien Mazarguil (3): > net/mlx4: move rdma-core calls to separate file > net/mlx4: spawn rdma-core dependency plug-in > net/mlx5: spawn rdma-core dependency plug-in > > Nelio Laranjeiro (1): > net/mlx5: move rdma-core calls to separate file > > config/common_base | 2 + > doc/guides/nics/mlx4.rst | 13 ++ > doc/guides/nics/mlx5.rst | 13 ++ > drivers/net/mlx4/Makefile | 42 +++++ > drivers/net/mlx4/mlx4.c | 115 +++++++++++-- > drivers/net/mlx4/mlx4_ethdev.c | 3 +- > drivers/net/mlx4/mlx4_flow.c | 32 ++-- > drivers/net/mlx4/mlx4_glue.c | 275 ++++++++++++++++++++++++++++++ > drivers/net/mlx4/mlx4_glue.h | 80 +++++++++ > drivers/net/mlx4/mlx4_intr.c | 10 +- > drivers/net/mlx4/mlx4_mr.c | 7 +- > drivers/net/mlx4/mlx4_rxq.c | 53 +++--- > drivers/net/mlx4/mlx4_txq.c | 17 +- > drivers/net/mlx5/Makefile | 42 +++++ > drivers/net/mlx5/mlx5.c | 123 +++++++++++--- > drivers/net/mlx5/mlx5_ethdev.c | 7 +- > drivers/net/mlx5/mlx5_flow.c | 92 +++++------ > drivers/net/mlx5/mlx5_glue.c | 321 ++++++++++++++++++++++++++++++++++++ > drivers/net/mlx5/mlx5_glue.h | 99 +++++++++++ > drivers/net/mlx5/mlx5_mr.c | 7 +- > drivers/net/mlx5/mlx5_rxq.c | 54 +++--- > drivers/net/mlx5/mlx5_txq.c | 22 +-- > drivers/net/mlx5/mlx5_vlan.c | 13 +- > mk/rte.app.mk | 8 + > 24 files changed, 1265 insertions(+), 185 deletions(-) > create mode 100644 drivers/net/mlx4/mlx4_glue.c > create mode 100644 drivers/net/mlx4/mlx4_glue.h > create mode 100644 drivers/net/mlx5/mlx5_glue.c > create mode 100644 drivers/net/mlx5/mlx5_glue.h > > -- > 2.11.0 Acked-by: Nelio Laranjeiro -- Nélio Laranjeiro 6WIND