[dpdk-dev] [PATCH v13 1/3] mempool: support external mempool operations
Hunt, David
david.hunt at intel.com
Fri Jun 17 12:47:43 CEST 2016
On 17/6/2016 11:18 AM, Olivier Matz wrote:
> Hi David,
>
> While testing Lazaros' patch, I found an issue in this series.
> I the test application is started with --no-huge, it does not work,
> the mempool_autotest does not work. Please find the exaplanation
> below:
>
> On 06/16/2016 02:30 PM, David Hunt wrote:
>> @@ -386,9 +352,9 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr,
>> int ret;
>>
>> /* create the internal ring if not already done */
>> - if ((mp->flags & MEMPOOL_F_RING_CREATED) == 0) {
>> - ret = rte_mempool_ring_create(mp);
>> - if (ret < 0)
>> + if ((mp->flags & MEMPOOL_F_POOL_CREATED) == 0) {
>> + ret = rte_mempool_ops_alloc(mp);
>> + if (ret != 0)
>> return ret;
>> }
>>
> Previously, the function rte_mempool_ring_create(mp) was setting the
> MEMPOOL_F_RING_CREATED flag. Now it is not set. I think we could
> set it just after the "return ret".
>
> When started with --no-huge, the mempool memory is allocated in
> several chunks (one per page), so it tries to allocate the ring for
> each chunk.
>
> Regards,
> Olivier
OK, Will do.
ret = rte_mempool_ops_alloc(mp);
if (ret != 0)
return ret;
+ mp->flags |= MEMPOOL_F_POOL_CREATED;
Rgds,
Dave.
More information about the dev
mailing list