From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ye Xiaolong Subject: Re: [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver Date: Wed, 3 Apr 2019 22:22:17 +0800 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 Cc: Luca Boccassi , dev@dpdk.org, Karlsson Magnus , Topel Bjorn To: Ferruh Yigit 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) Content-Disposition: inline In-Reply-To: <5bc49c51-04f4-6f73-889d-d3c0ff749784@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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? >>>> >>> >>> >