[dpdk-dev] [PATCH v2] mem: limit use of address hint

Burakov, Anatoly anatoly.burakov at intel.com
Tue Apr 2 18:13:05 CEST 2019


On 31-Mar-19 9:43 AM, 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.
> 
> In order not to break the existing secondary process design, this patch
> only limits the max number of tries that will be done with the
> address hint.
> When the number of tries exceeds the threshold the code
> will use the suggested address from kernel.
> 
> Fixes: 1df21702873d ("mem: use address hint for mapping hugepages")
> Cc: stable at dpdk.org
> Cc: alejandro.lucero at netronome.com
> 
> [1] commit 1df21702873d ("mem: use address hint for mapping hugepages")
> 
> Signed-off-by: Shahaf Shuler <shahafs at mellanox.com>
> ---
> 
> On v2:
>   * instead of a complete remove of the hint limit the number of tries we allow.
> ---

LGTM

Tested-by: Anatoly Burakov <anatoly.burakov at intel.com>

We can always increase the number of tries later :)

-- 
Thanks,
Anatoly


More information about the dev mailing list