Re: [PATCH v2] cma: introduce CMA_ALLOC_DEBUG config

From: Pavan Kondeti
Date: Sun Aug 13 2023 - 23:01:16 EST


Bibek,

On Thu, Aug 10, 2023 at 09:54:51AM -0700, Andrew Morton wrote:
> On Wed, 9 Aug 2023 18:46:40 +0530 Bibek Kumar Patro <quic_bibekkum@xxxxxxxxxxx> wrote:
>
> > Currently enabling CONFIG_CMA_DEBUG enables DEBUG preprocessor macro.
> > If DEBUG is defined, it's equivalent to a printk with KERN_DEBUG loglevel
> > flooding the dmesg buffer with pr_debug prints from mm/cma driver and from
> > included files as well. This results in excessive amount of CMA logging and
> > also might distract the debug teams with unrelated KERN_DEBUG prints.One of
> > the ways engineers currently tackle this problem is by passing loglevel=N
> > though commandline to suppress KERN_DEBUG messages. This approach can
> > sometimes become tiresome due to its repetitive nature.
> > This patch proposes an alternative approach by introducing a simple new
> > config CONFIG_CMA_ALLOC_DEBUG which only shows the cma bit allocation
> > status in case of cma failure and do not enable DEBUG preprocessor macro
> > from CONFIG_CMA_DEBUG avoiding excessive CMA logging from pr_debug.
> > Engineers and tech teams seeking only for bitmap status in case of cma
> > failure can use this simple config instead of worrying about changing
> > the loglevel or trying other similar workarounds.
>
> Would it be better to control this at runtime? With a /proc or /sys tunable?

IIUC, Andrew is asking/suggesting that would a runtime knob be useful
here?

For ex:

/proc/sys/vm/cma_dump_on_failure : This needs to be registerd in the
cma.c . grep for "register_sysctl_init" in mm code. We can set this to
true by default in case CMA_DEBUG is enabled so that current users are
not affected.

/sys/kernel/mm/cma/bitmap_dump_on_failure : This needs to stay in
cma_sysfs.c code

Thanks,
Pavan