From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver Date: Wed, 3 Apr 2019 16:52:00 +0100 Message-ID: <6f660657-d488-1121-126a-a38c9744b1eb@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> <20190403142217.GA36385@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Luca Boccassi , dev@dpdk.org, Karlsson Magnus , Topel Bjorn To: Ye Xiaolong Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 60AD51B4BD for ; Wed, 3 Apr 2019 17:52:03 +0200 (CEST) In-Reply-To: <20190403142217.GA36385@intel.com> Content-Language: en-US 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 4/3/2019 3:22 PM, Ye Xiaolong wrote: > 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 Looks good to me, only for item 4) instead of putting those defines into .c file directly, can create a private header in driver folder, put those lines and I assume will need a few includes for rte_rmb as well, and include that header before 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? >>>>> >>>> >>>> >>