From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id EBFE91B217 for ; Wed, 3 Apr 2019 16:27:10 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2019 07:27:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,304,1549958400"; d="scan'208";a="161038424" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.110.206]) by fmsmga001.fm.intel.com with ESMTP; 03 Apr 2019 07:27:08 -0700 Date: Wed, 3 Apr 2019 22:22:17 +0800 From: Ye Xiaolong To: Ferruh Yigit Cc: Luca Boccassi , dev@dpdk.org, Karlsson Magnus , Topel Bjorn Message-ID: <20190403142217.GA36385@intel.com> References: <20190301080947.91086-1-xiaolong.ye@intel.com> <20190402154653.711-1-xiaolong.ye@intel.com> <20190402154653.711-2-xiaolong.ye@intel.com> <20190403095939.GA32340@intel.com> <56ce5855b02d47a085a8d36451561c400f0b039c.camel@debian.org> <0dde8c20e9992047f29d39ad45dcf511244a5297.camel@debian.org> <80c81c0c-cf64-59f8-a592-26cd865fbd89@intel.com> <37073834d0b9a9f5a6e9f39bac3adc5eb29779ab.camel@debian.org> <5bc49c51-04f4-6f73-889d-d3c0ff749784@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5bc49c51-04f4-6f73-889d-d3c0ff749784@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver 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: Wed, 03 Apr 2019 14:27:11 -0000 On 04/03, Ferruh Yigit wrote: [snip] > >It seems, 'tools/include/asm/barrier.h' is required for 'smp_wmb()' & >'smp_rmb()' in 'xsk.h'. >We have equivalents of these in DPDK [1], and perhaps it can be possible to use >them and not include this header at all. > >in 'rte_eth_af_xdp.c', before including 'xsk.h', we can include an local >compatibility header which does following should work: >#define smp_rmb() rte_rmb() >#define smp_wmb() rte_wmb() > >@Xiaolong, what do you think? It sounds perfect to me, I'll take it in my next version. Something to confirm, So we can now assume af_xdp pmd user would use kernel (say v5.1-rc4) that contains fixes regarding to xsk.h and libelf, I still need to do following changes. 1. I shall use as xsk.h should be installed in system folders. 2. `-lelf` is not needed in rte.app.mk 3. I need to document the libbpf build and install steps in af_xdp.rst 4. add the above two defines before including xsk.h Thanks, Xiaolong > >[1] >https://git.dpdk.org/dpdk/tree/lib/librte_eal/common/include/arch/x86/rte_atomic.h?h=v19.02#n30 > >> >> The one in tools/include also is GPL-2.0 only so it cannot be included >> from the PMD, which is BSD-3-clause only (and it recursively includes >> the other arch-specific kernel headers) >> >>> Anyway, as Xiaolong mentioned, following is working, can it work from >>> a distro >>> point of view: >>> - get kernel source code (>= v5.1-rc1) >>> - build libbfp and install >>> - set 'RTE_KERNELDIR' to point kernel source path >>> - build dpdk with af_xdp enabled >> >> As long as the full kernel tree is required, we cannot enable it in >> Debian and Ubuntu - we can't have it at build time on the build >> workers, and also there's the licensing problem. > >Got it. > >In above steps, 'libbpf' also build from kernel source tree, will it be problem >in you builds to not have it build from source? > >If not, taking into account that xsk.h also will be fixed, only >'tools/include/asm/barrier.h' remains the problem, and it looks like it can be >solved, please check above. > > >> >>>> Also, the license in asm/barrier.h is GPL-2.0 only. It is not a >>>> userspace header so it is not covered by the userspace exception, >>>> which >>>> means at the very least the af_xdp PMD shared object is also >>>> licensed >>>> under GPL-2.0 only, isn't it? >>>> >>> >>> > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 48FDEA0679 for ; Wed, 3 Apr 2019 16:27:12 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1EF971B2AF; Wed, 3 Apr 2019 16:27:12 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id EBFE91B217 for ; Wed, 3 Apr 2019 16:27:10 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2019 07:27:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,304,1549958400"; d="scan'208";a="161038424" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.110.206]) by fmsmga001.fm.intel.com with ESMTP; 03 Apr 2019 07:27:08 -0700 Date: Wed, 3 Apr 2019 22:22:17 +0800 From: Ye Xiaolong To: Ferruh Yigit Cc: Luca Boccassi , dev@dpdk.org, Karlsson Magnus , Topel Bjorn Message-ID: <20190403142217.GA36385@intel.com> References: <20190301080947.91086-1-xiaolong.ye@intel.com> <20190402154653.711-1-xiaolong.ye@intel.com> <20190402154653.711-2-xiaolong.ye@intel.com> <20190403095939.GA32340@intel.com> <56ce5855b02d47a085a8d36451561c400f0b039c.camel@debian.org> <0dde8c20e9992047f29d39ad45dcf511244a5297.camel@debian.org> <80c81c0c-cf64-59f8-a592-26cd865fbd89@intel.com> <37073834d0b9a9f5a6e9f39bac3adc5eb29779ab.camel@debian.org> <5bc49c51-04f4-6f73-889d-d3c0ff749784@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline In-Reply-To: <5bc49c51-04f4-6f73-889d-d3c0ff749784@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190403142217.mF4aTkmtQ8fKcHeZMzVz_KkcRd4HhF2IU_goVQuj21E@z> On 04/03, Ferruh Yigit wrote: [snip] > >It seems, 'tools/include/asm/barrier.h' is required for 'smp_wmb()' & >'smp_rmb()' in 'xsk.h'. >We have equivalents of these in DPDK [1], and perhaps it can be possible to use >them and not include this header at all. > >in 'rte_eth_af_xdp.c', before including 'xsk.h', we can include an local >compatibility header which does following should work: >#define smp_rmb() rte_rmb() >#define smp_wmb() rte_wmb() > >@Xiaolong, what do you think? It sounds perfect to me, I'll take it in my next version. Something to confirm, So we can now assume af_xdp pmd user would use kernel (say v5.1-rc4) that contains fixes regarding to xsk.h and libelf, I still need to do following changes. 1. I shall use as xsk.h should be installed in system folders. 2. `-lelf` is not needed in rte.app.mk 3. I need to document the libbpf build and install steps in af_xdp.rst 4. add the above two defines before including xsk.h Thanks, Xiaolong > >[1] >https://git.dpdk.org/dpdk/tree/lib/librte_eal/common/include/arch/x86/rte_atomic.h?h=v19.02#n30 > >> >> The one in tools/include also is GPL-2.0 only so it cannot be included >> from the PMD, which is BSD-3-clause only (and it recursively includes >> the other arch-specific kernel headers) >> >>> Anyway, as Xiaolong mentioned, following is working, can it work from >>> a distro >>> point of view: >>> - get kernel source code (>= v5.1-rc1) >>> - build libbfp and install >>> - set 'RTE_KERNELDIR' to point kernel source path >>> - build dpdk with af_xdp enabled >> >> As long as the full kernel tree is required, we cannot enable it in >> Debian and Ubuntu - we can't have it at build time on the build >> workers, and also there's the licensing problem. > >Got it. > >In above steps, 'libbpf' also build from kernel source tree, will it be problem >in you builds to not have it build from source? > >If not, taking into account that xsk.h also will be fixed, only >'tools/include/asm/barrier.h' remains the problem, and it looks like it can be >solved, please check above. > > >> >>>> Also, the license in asm/barrier.h is GPL-2.0 only. It is not a >>>> userspace header so it is not covered by the userspace exception, >>>> which >>>> means at the very least the af_xdp PMD shared object is also >>>> licensed >>>> under GPL-2.0 only, isn't it? >>>> >>> >>> >