From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 99A1EA051C; Tue, 11 Feb 2020 11:28:10 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E25522B89; Tue, 11 Feb 2020 11:28:08 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id CD314293C for ; Tue, 11 Feb 2020 11:28:06 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Feb 2020 02:28:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,428,1574150400"; d="scan'208";a="233410229" Received: from unknown (HELO [10.237.220.105]) ([10.237.220.105]) by orsmga003.jf.intel.com with ESMTP; 11 Feb 2020 02:28:04 -0800 To: David Marchand Cc: siddarth rai , dev References: <6cebb805-91a3-c074-2380-8ec90ed6c132@intel.com> From: "Burakov, Anatoly" Message-ID: Date: Tue, 11 Feb 2020 10:28:03 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] Big spike in DPDK VSZ 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 11-Feb-20 8:11 AM, David Marchand wrote: > Hello Anatoly, > > On Tue, Feb 4, 2020 at 11:23 AM Burakov, Anatoly > wrote: >> >> On 30-Jan-20 8:51 AM, David Marchand wrote: >>> On Thu, Jan 30, 2020 at 8:48 AM siddarth rai wrote: >>>> I have been using DPDK 19.08 and I notice the process VSZ is huge. >>>> >>>> I tried running the test PMD. It takes 64G VSZ and if I use the >>>> '--in-memory' option it takes up to 188G. >>>> >>>> Is there anyway to disable allocation of such huge VSZ in DPDK ? >>> >>> *Disclaimer* I don't know the arcanes of the mem subsystem. >>> >>> I suppose this is due to the memory allocator in dpdk that reserves >>> unused virtual space (for memory hotplug + multiprocess). >> >> Yes, that's correct. In order to guarantee memory reservation succeeding >> at all times, we need to reserve all possible memory in advance. >> Otherwise we may end up in a situation where primary process has >> allocated a page, but the secondary can't map it because the address >> space is already occupied by something else. >> >>> >>> If this is the case, maybe we could do something to enhance the >>> situation for applications that won't care about multiprocess. >>> Like inform dpdk that the application won't use multiprocess and skip >>> those reservations. >> >> You're welcome to try this, but i assure you, avoiding these >> reservations is a lot of work, because you'd be adding a yet another >> path to an already overly complex allocator :) > > Went and looked at the EAL options we have. > I understand that the --in-memory (essentially the --no-shconf > functionality) option should be enough. > I can see that Siddarth uses it. > > But the problem is that the memory allocator still reserves big va > areas for memory hotplug. Yes, because even though we don't *share* this memory, we still grow it dynamically. We could have *not* done it, but that would be adding another code path - currently, we're piggybacking off existing infrastructure. > > >> >>> >>> Or another idea would be to limit those reservations to what is passed >>> via --socket-limit. >>> >>> Anatoly? >> >> I have a patchset in the works that does this and was planning to submit >> it to 19.08, but things got in the way and it's still sitting there >> collecting bit rot. This may be reason enough to resurrect it and finish >> it up :) > > Does this patchset contain more than just taking --socket-limit into account? No, it actually doesn't rely on any of the existing options. It has to do with tweaking the config options related to memseg list sizings (essentially like adjusting config options at compile time, only without hardcoding them). > > > -- > David Marchand > -- Thanks, Anatoly