Re: [PATCH 0/4] mm: cma: add some debug information for CMA

From: Stefan Strogin
Date: Mon Feb 16 2015 - 13:54:09 EST


Hello Joonsoo,

Thank you for your answer.

On 13/02/15 06:03, Joonsoo Kim wrote:
> On Fri, Feb 13, 2015 at 01:15:40AM +0300, Stefan Strogin wrote:
>>
>> Here is an example use case when we need it. We want a big (megabytes)
>> CMA buffer to be allocated in runtime in default CMA region. If someone
>> already uses CMA then the big allocation can fail. If it happens then with
>> such an interface we could find who used CMA at the moment of failure, who
>> caused fragmentation (possibly ftrace also would be helpful here) and so on.
>
> Hello,
>
> So, I'm not sure that information about allocated CMA buffer is really
> needed to solve your problem. You just want to know who uses default CMA
> region and you can know it by adding tracepoint in your 4/4 patch. We
> really need this custom allocation tracer? What can we do more with
> this custom tracer to solve your problem? Could you more specific
> about your problem and how to solve it by using this custom tracer?
>

I think, yes, we could solve the problem using only trace events. We
could get all CMA allocations and releases. But if we want to get
the current state of CMA region, for example to know actual
fragmentation, should we parse the tracer's output or what else? IMHO it
would be easier for testers if they have the list of currently allocated
buffers right away.

>>
>> These patches add some files to debugfs when CONFIG_CMA_DEBUGFS is enabled.
>
> If this tracer is justifiable, I think that making it conditional is
> better than just enabling always on CONFIG_CMA_DEBUGFS. Some users
> don't want to this feature although they enable CONFIG_CMA_DEBUGFS.
>
> Thanks.
>

Thank you. I think, this makes sense because of overhead.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/