From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH] Performance optimization of ACL build process Date: Wed, 31 Aug 2016 08:24:56 -0700 Message-ID: <20160831082456.21423b42@xeon-e3> References: <20160816140128.10149-1-vladyslav.buslov@harmonicinc.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: , To: Vladyslav Buslov Return-path: Received: from mail-pa0-f43.google.com (mail-pa0-f43.google.com [209.85.220.43]) by dpdk.org (Postfix) with ESMTP id B0E652946 for ; Wed, 31 Aug 2016 17:24:47 +0200 (CEST) Received: by mail-pa0-f43.google.com with SMTP id cy9so19701002pac.0 for ; Wed, 31 Aug 2016 08:24:47 -0700 (PDT) In-Reply-To: <20160816140128.10149-1-vladyslav.buslov@harmonicinc.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, 16 Aug 2016 17:01:27 +0300 Vladyslav Buslov wrote: > Hello, > > In our application we need to be able to allocate tens of thousands of ACLs at runtime. > Testing revealed significant performance problems. We were able to track them to memset in calloc function which caused multiple page walks per invocation. > Modifying tb_mem to use huge page memory resulted ~2x performance gain for that operation. > > Regards, > Vladyslav > > Vladyslav Buslov (1): > acl: use rte_calloc for temporary memory allocation > > lib/librte_acl/tb_mem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > What about making sure that the ACL code does it's own initialization of all fields and just use malloc rather than calloc?