On Tue, Apr 2, 2019 at 5:13 PM Burakov, Anatoly <anatoly.bura...@intel.com> wrote:
> 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: sta...@dpdk.org > > Cc: alejandro.luc...@netronome.com > > > > [1] commit 1df21702873d ("mem: use address hint for mapping hugepages") > > > > Signed-off-by: Shahaf Shuler <shah...@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.bura...@intel.com> > > We can always increase the number of tries later :) > > This is also fine for me. If the map address is not within the supported range by a device with addressing limitations, the device will not be used. Not sure how this is likely to happen, but I guess if it is become a problem, another solution should be implemented. Acked-by: Alejandro Lucero <alejandro.luc...@netronome.com> > -- > Thanks, > Anatoly >