From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 7C1FE7CE5 for ; Tue, 19 Sep 2017 09:28:32 +0200 (CEST) Received: from [37.168.108.167] (helo=droids-corp.org) by mail.droids-corp.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1duD2l-0002wx-Cc; Tue, 19 Sep 2017 09:34:08 +0200 Received: by droids-corp.org (sSMTP sendmail emulation); Tue, 19 Sep 2017 09:28:19 +0200 Date: Tue, 19 Sep 2017 09:28:19 +0200 From: Olivier MATZ To: Eelco Chaudron Cc: Thomas Monjalon , dev@dpdk.org, jingjing.wu@intel.com Message-ID: <20170919072818.zbhjsfhpbqf4fqxz@neon> References: <22990026376b08418cb0eb6f028840c03e89f47f.1505221429.git.echaudro@redhat.com> <4147502.SWF1kaKTU5@xps> <2ff0680b-b73f-fd1f-9f41-caa38a13bcde@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2ff0680b-b73f-fd1f-9f41-caa38a13bcde@redhat.com> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [dpdk-dev] [PATCH] app/testpmd: adds mlockall() to fix pages X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Sep 2017 07:28:32 -0000 Hi, On Thu, Sep 14, 2017 at 09:22:38AM +0200, Eelco Chaudron wrote: > On 13/09/17 11:39, Thomas Monjalon wrote: > > 12/09/2017 15:08, Eelco Chaudron: > > > Call the mlockall() function, to attempt to lock all of its process > > > memory into physical RAM, and preventing the kernel from paging any > > > of its memory to disk. > > > > > > When using testpmd for performance testing, depending on the code path > > > taken, we see a couple of page faults in a row. These faults effect > > > the overall drop-rate of testpmd. On Linux the mlockall() call will > > > prefault all the pages of testpmd (and the DPDK libraries if linked > > > dynamically), even without LD_BIND_NOW. > > Does it work on FreeBSD? > I do not have a FreeBSD setup, but from the documentation I've read the call > is supported by FreeBSD. > If some one has a working setup, please give this patch a quick try. > > Is there any drawback? > > Do we need to add an option for it? > The only drawback I can think of is that with this change memory phyiscal > memory is consumed as pages are pre-loaded. > For testpmd (just loaded not doing anything) this is 2MB vs 35MB of memory > used. I do not think this yields an extra option. One small comment: the call to mlockall() will fail if we don't have the permissions. I guess it's not an issue, but I wonder if we should log it? Olivier