Re: [PATCH v3 4/4] dma-buf: heaps: add chunk heap to dmabuf heaps

From: John Stultz
Date: Tue Jan 19 2021 - 13:32:12 EST


On Tue, Jan 12, 2021 at 5:22 PM Minchan Kim <minchan@xxxxxxxxxx> wrote:
>
> From: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
>
> This patch supports chunk heap that allocates the buffers that
> arranged into a list a fixed size chunks taken from CMA.
>
> The chunk heap driver is bound directly to a reserved_memory
> node by following Rob Herring's suggestion in [1].
>
> [1] https://lore.kernel.org/lkml/20191025225009.50305-2-john.stultz@xxxxxxxxxx/T/#m3dc63acd33fea269a584f43bb799a876f0b2b45d
>
> Signed-off-by: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
> Signed-off-by: Hridya Valsaraju <hridya@xxxxxxxxxx>
> Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
> ---
...
> +static int register_chunk_heap(struct chunk_heap *chunk_heap_info)
> +{
> + struct dma_heap_export_info exp_info;
> +
> + exp_info.name = cma_get_name(chunk_heap_info->cma);

One potential issue here, you're setting the name to the same as the
CMA name. Since the CMA heap uses the CMA name, if one chunk was
registered as a chunk heap but also was the default CMA area, it might
be registered twice. But since both would have the same name it would
be an initialization race as to which one "wins".

So maybe could you postfix the CMA name with "-chunk" or something?

thanks
-john