From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id B04C61B0FF; Wed, 27 Mar 2019 12:49:46 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Mar 2019 04:49:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,276,1549958400"; d="scan'208";a="286302175" Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.237.220.103]) ([10.237.220.103]) by orsmga004.jf.intel.com with ESMTP; 27 Mar 2019 04:49:44 -0700 To: Shahaf Shuler , dev@dpdk.org Cc: thomas@monjalon.net, stable@dpdk.org, alejandro.lucero@netronome.com References: <20190321202156.117496-1-shahafs@mellanox.com> From: "Burakov, Anatoly" Message-ID: <0c3648af-015b-eddf-1967-becc670e42a2@intel.com> Date: Wed, 27 Mar 2019 11:49:43 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.0 MIME-Version: 1.0 In-Reply-To: <20190321202156.117496-1-shahafs@mellanox.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] mem: don't use address hint for mapping unless requested 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: Wed, 27 Mar 2019 11:49:47 -0000 On 21-Mar-19 8:21 PM, Shahaf Shuler wrote: > patch[1] added an address hint as starting address for 64 bit systems in > case an explicit base virtual address was not set by the user. > > The justification for such hint was to help devices that work in VA > mode and has a address range limitation to work smoothly with the eal > memory subsystem. > > While the base address value selected may work fine for the eal > initialization, it easily breaks when trying to register external memory > using rte_extmem_register API. > > Trying to register anonymous memory on RH x86_64 machine took several > minutes, during them the function eal_get_virtual_area repeatedly > scanned for a good VA candidate. > > The attempt to guess which VA address will be free for mapping will > always result in not portable, error prone code: > * different application may use different libraries along w/ DPDK. One > can never guess which library was called first and how much virtual > memory it consumed. > * external memory can be registered at any time in the application run > time. > > This patch removes the default address hint and use the address returned > by mmap. > devices with address limitations should suggest to their users a proper > base-virtaddr (EAL arg) to use. > > Fixes: 1df21702873d ("mem: use address hint for mapping hugepages") > Cc: stable@dpdk.org > Cc: alejandro.lucero@netronome.com > > [1] commit 1df21702873d ("mem: use address hint for mapping hugepages") > > Signed-off-by: Shahaf Shuler > --- I understand the motivation, however this will lower the reliability of secondary process initialization. Perhaps, the hinting could be improved by not trying to use the hint multiple times, but rather just once? I.e. if using hint succeeded - great, if not - try without one. Most of the time hint will work correctly, i think. -- Thanks, Anatoly From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 805CDA05D3 for ; Wed, 27 Mar 2019 12:49:48 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0C7311B1E9; Wed, 27 Mar 2019 12:49:48 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id B04C61B0FF; Wed, 27 Mar 2019 12:49:46 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Mar 2019 04:49:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,276,1549958400"; d="scan'208";a="286302175" Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.237.220.103]) ([10.237.220.103]) by orsmga004.jf.intel.com with ESMTP; 27 Mar 2019 04:49:44 -0700 To: Shahaf Shuler , dev@dpdk.org Cc: thomas@monjalon.net, stable@dpdk.org, alejandro.lucero@netronome.com References: <20190321202156.117496-1-shahafs@mellanox.com> From: "Burakov, Anatoly" Message-ID: <0c3648af-015b-eddf-1967-becc670e42a2@intel.com> Date: Wed, 27 Mar 2019 11:49:43 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.0 MIME-Version: 1.0 In-Reply-To: <20190321202156.117496-1-shahafs@mellanox.com> Content-Type: text/plain; charset="UTF-8"; format="flowed" Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] mem: don't use address hint for mapping unless requested 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" Message-ID: <20190327114943.TdIJYMW14ajwbfqVGGbzhbH8MIaSPy7NhdpQxy7LCFI@z> On 21-Mar-19 8:21 PM, Shahaf Shuler wrote: > patch[1] added an address hint as starting address for 64 bit systems in > case an explicit base virtual address was not set by the user. > > The justification for such hint was to help devices that work in VA > mode and has a address range limitation to work smoothly with the eal > memory subsystem. > > While the base address value selected may work fine for the eal > initialization, it easily breaks when trying to register external memory > using rte_extmem_register API. > > Trying to register anonymous memory on RH x86_64 machine took several > minutes, during them the function eal_get_virtual_area repeatedly > scanned for a good VA candidate. > > The attempt to guess which VA address will be free for mapping will > always result in not portable, error prone code: > * different application may use different libraries along w/ DPDK. One > can never guess which library was called first and how much virtual > memory it consumed. > * external memory can be registered at any time in the application run > time. > > This patch removes the default address hint and use the address returned > by mmap. > devices with address limitations should suggest to their users a proper > base-virtaddr (EAL arg) to use. > > Fixes: 1df21702873d ("mem: use address hint for mapping hugepages") > Cc: stable@dpdk.org > Cc: alejandro.lucero@netronome.com > > [1] commit 1df21702873d ("mem: use address hint for mapping hugepages") > > Signed-off-by: Shahaf Shuler > --- I understand the motivation, however this will lower the reliability of secondary process initialization. Perhaps, the hinting could be improved by not trying to use the hint multiple times, but rather just once? I.e. if using hint succeeded - great, if not - try without one. Most of the time hint will work correctly, i think. -- Thanks, Anatoly