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