From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ilias Apalodimas Subject: Re: [PATCH v2 net-next 0/8] dpaa2-eth: Introduce XDP support Date: Fri, 7 Dec 2018 19:51:35 +0200 Message-ID: <20181207175135.GA22649@apalos> References: <1543249591-14563-1-git-send-email-ruxandra.radulescu@nxp.com> <20181205164502.5b11ff7e@redhat.com> <20181207172016.GA21965@apalos> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jesper Dangaard Brouer , "netdev@vger.kernel.org" , "davem@davemloft.net" , Ioana Ciornei , "dsahern@gmail.com" , Camelia Alexandra Groza To: Ioana Ciocoi Radulescu Return-path: Received: from mail-wr1-f65.google.com ([209.85.221.65]:33304 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726011AbeLGRvk (ORCPT ); Fri, 7 Dec 2018 12:51:40 -0500 Received: by mail-wr1-f65.google.com with SMTP id c14so4642787wrr.0 for ; Fri, 07 Dec 2018 09:51:39 -0800 (PST) Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: Hi Ioana, > > > > > > I only did a quick grep around the driver so i might be missing something, > > but i can only see allocations via napi_alloc_frag(). XDP requires pages > > (either a single page per packet or a driver that does the page management > > of > > its own and fits 2 frames in a single page, assuming 4kb pages). > > Am i missing something on the driver? > > No, I guess I'm the one missing stuff, I didn't realise single page per packet > is a hard requirement for XDP. Could you point me to more info on this? > Well if you don't have to use 64kb pages you can use the page_pool API (only used from mlx5 atm) and get the xdp recycling for free. The memory 'waste' for 4kb pages isn't too much if the platforms the driver sits on have decent amounts of memory (and the number of descriptors used is not too high). We still have work in progress with Jesper (just posted an RFC)with improvements on the API. Using it is fairly straightforward. This is a patchset on marvell's mvneta driver with the API changes needed: https://www.spinics.net/lists/netdev/msg538285.html If you need 64kb pages you would have to introduce page recycling and sharing like intel/mlx drivers on your driver. /Ilias