[dpdk-dev] Regarding rte_memzone_reserve with len =0

Olivier MATZ olivier.matz at 6wind.com
Wed May 13 13:08:43 CEST 2015


On 05/13/2015 12:14 PM, Gonzalez Monroy, Sergio wrote:
> On 12/05/2015 15:48, Olivier MATZ wrote:
>> Hi Sergio,
>>
>> On 05/06/2015 06:10 PM, Gonzalez Monroy, Sergio wrote:
>>> Hi,
>>>
>>> I was wondering about the use case of rte_memzone_reserve_xxxx APIs with
>>> len=0.
>>>
>>>  From the docs (http://dpdk.org/doc/api/rte__memzone_8h.html):
>>> len          The size of the memory to be reserved. If it is 0, the
>>> biggest contiguous zone will be reserved.
>>>
>>> What are the use cases?
>>> When would you want a memzone of undetermined size?
>>>
>>> Any thoughts appreciated.
>>
>> As the application does not have access to the lengths of memory
>> segments, probably the initial idea is when an application wants
>> to allocate more memory that the biggest segment.
>>
>> Example, the application wants to allocate 1G (even fragmented):
>>
>> - the easy case is when it can be done in one call to
>>   rte_memzone_reserve(1G)
>>
>> - else, the application can iterate like in this sample:
>>
>>      remain = 1 * 1024 * 1024 * 1024;
>>      while (remain > 0) {
>>          mz = rte_memzone_reserve(remain);
>>          if (mz != NULL)
>>             return 0;
>>          mz = rte_memzone_reserve(remain);
> You meant rte_memzone_reserve(0) here, right?

yes, sorry for the typo




More information about the dev mailing list