On 2021/9/3 23:35, Conor Walsh wrote:
> 
>> This patch introduce DMA device library implementation which includes
>> configuration and I/O with the DMA devices.
>>
>> Signed-off-by: Chengwen Feng <fengcheng...@huawei.com>
>> Acked-by: Bruce Richardson <bruce.richard...@intel.com>
>> Acked-by: Morten Brørup <m...@smartsharesystems.com>
>> ---
> <snip>
>> +
>> +static int
>> +dmadev_shared_data_prepare(void)
>> +{
>> +    const struct rte_memzone *mz;
>> +
>> +    if (dmadev_shared_data == NULL) {
>> +        if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
>> +            /* Allocate port data and ownership shared memory. */
>> +            mz = rte_memzone_reserve(mz_rte_dmadev_data,
>> +                     sizeof(*dmadev_shared_data),
>> +                     rte_socket_id(), 0);
>> +        } else
>> +            mz = rte_memzone_lookup(mz_rte_dmadev_data);
>> +        if (mz == NULL)
>> +            return -ENOMEM;
> 
> This memzone is not free'd anywhere in the library, I would suggest freeing 
> as part of the release pmd function.

All dmadevs data is in a contiguous area.
When you release a pmd, you can't release some of it.

This is more common in other libs, so I recommend keeping it as it is.

Thanks

> 
> <snip>
> 
> Reviewed-by: Conor Walsh <conor.wa...@intel.com>
> 
> .

Reply via email to