[dpdk-dev] [PATCH v1 3/6] mempool: support block dequeue operation
Andrew Rybchenko
arybchenko at solarflare.com
Wed Apr 25 11:49:22 CEST 2018
On 04/19/2018 07:41 PM, Olivier Matz wrote:
> On Mon, Mar 26, 2018 at 05:12:56PM +0100, Andrew Rybchenko wrote:
> [...]
>> @@ -1531,6 +1615,71 @@ rte_mempool_get(struct rte_mempool *mp, void **obj_p)
>> }
>>
>> /**
>> + * @internal Get contiguous blocks of objects from the pool. Used internally.
>> + * @param mp
>> + * A pointer to the mempool structure.
>> + * @param first_obj_table
>> + * A pointer to a pointer to the first object in each block.
>> + * @param n
>> + * A number of blocks to get.
>> + * @return
>> + * - >0: Success
>> + * - <0: Error
> I guess it is 0 here, not >0.
Yes, thanks.
>> + */
>> +static __rte_always_inline int
>> +__mempool_generic_get_contig_blocks(struct rte_mempool *mp,
>> + void **first_obj_table, unsigned int n)
>> +{
>> + int ret;
>> +
>> + ret = rte_mempool_ops_dequeue_contig_blocks(mp, first_obj_table, n);
>> + if (ret < 0)
>> + __MEMPOOL_CONTIG_BLOCKS_STAT_ADD(mp, get_fail, n);
>> + else
>> + __MEMPOOL_CONTIG_BLOCKS_STAT_ADD(mp, get_success, n);
>> +
>> + return ret;
>> +}
>> +
> Is it worth having this function?
Just to follow the same code structure as usual dequeue.
> I think it would be simple to include the code in
> rte_mempool_get_contig_blocks() below... or am I missing something?
I agree. Will do in v3.
[...]
More information about the dev
mailing list