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> > > .