Re: [PATCH v2] cma: introduce CMA_ALLOC_DEBUG config

From: Pavan Kondeti
Date: Sun Aug 27 2023 - 23:39:23 EST


On Fri, Aug 25, 2023 at 06:38:13PM +0530, Bibek Kumar Patro wrote:
> On 8/14/2023 8:30 AM, Pavan Kondeti wrote:
> > 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?
> >
>
> Thanks Andrew for suggestion and Pavan for the details, tunable approach
> looks viable too since we get to control this during runtime, but had
> one query in mind where your inputs would help. In case any engineer wishes
> to check boot time CMA failures, would it be easier to use a
> CONFIG or /proc , /sys tunable?
> (Assuming for /proc or /sys tunable, one has to modify the
> init/post_boot scripts to mount the fs and set the tunable to true )
>

Good point about on how to enable this during boot. A sysctl knob is
good here since it can be turned on/off via kernel commandline. This
means, you don't need to modify the kernel image and wait for the
userspace to come up. See
Documentation/admin-guide/kernel-parameters.txt (grep for sysctl) for
more details.

Thanks,
Pavan