From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cyril Chemparathy Subject: Re: [PATCH 11/15] eal/tile: add EAL support for global mPIPE initialization Date: Mon, 8 Dec 2014 13:32:30 -0800 Message-ID: <548618EE.2010104@ezchip.com> References: <1418029178-25162-1-git-send-email-zlu@ezchip.com> <1418029178-25162-12-git-send-email-zlu@ezchip.com> <20141208200331.GB4238@hmsreliant.think-freely.org> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Cc: dev-VfR2kkLFssw@public.gmane.org To: Neil Horman , Zhigang Lu Return-path: In-Reply-To: <20141208200331.GB4238-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Hi Neil, On 12/8/2014 12:03 PM, Neil Horman wrote: > On Mon, Dec 08, 2014 at 04:59:34PM +0800, Zhigang Lu wrote: >> The TileGx mPIPE hardware provides Ethernet connectivity, >> packet classification, and packet load balancing services. >> >> Signed-off-by: Zhigang Lu >> Signed-off-by: Cyril Chemparathy >> --- >> .../common/include/arch/tile/rte_mpipe.h | 67 ++++++++++ >> lib/librte_eal/linuxapp/eal/Makefile | 3 + >> lib/librte_eal/linuxapp/eal/eal.c | 9 ++ >> lib/librte_eal/linuxapp/eal/eal_mpipe_tile.c | 147 +++++++++++++++++++++ >> mk/rte.app.mk | 4 + >> 5 files changed, 230 insertions(+) >> create mode 100644 lib/librte_eal/common/include/arch/tile/rte_mpipe.h >> create mode 100644 lib/librte_eal/linuxapp/eal/eal_mpipe_tile.c >> > This seems like the wrong way to implement mpip access. If you want to use it > for networking access, you should create a pmd to talk to it. If you just want > raw gxio access, you already have a gxio library that applications can interface > to. Theres no need to create addtional DPDK api services just to wrap it up, > especially given that those surfaces won't exist outside of the tile arch (i.e. > this allows for the creation of very non-portable applications). Thanks for the taking a look. The mPIPE hardware block includes hardware managed buffer pools, which we've abstracted under the mempool interface in the very next patch in the series. As a result of this mempool dependency, mPIPE needs to be globally initialized on TileGX architecture. The alternative is to not include support for the hardware managed buffer pool, but that decision incurs a significant performance hit. Thanks -- Cyril.