Re: [PATCH V2] dynamic_debug: Add an option to enable dynamic debug for modules only

Orson Zhai
2020-05-16T03:55:20Z

On Fri, May 15, 2020 at 5:55 PM Petr Mladek <pmladek@suse.com> wrote:
>
> On Thu 2020-04-23 00:02:48, Orson Zhai wrote:
> > On Wed, Apr 22, 2020 at 10:25 PM Leon Romanovsky <leon@kernel.org> wrote:
> > >
> > > On Wed, Apr 22, 2020 at 09:06:08PM +0800, Orson Zhai wrote:
> > > > On Tue, Apr 21, 2020 at 3:10 AM Leon Romanovsky <leon@kernel.org> wrote:
> > > > My motivation came from the concept of GKI (Generic Kernel Image) in Android.
> > > > Google will release a common kernel image (binary) to all of the Android system
> > > > vendors in the world instead of letting them to build their owns as before.
> > > > Every SoC vendor's device drivers will be provided in kernel modules only.
> > > > By my patch, the driver owners could debug their modules in field (say
> > > > production releases)
> > > > without having to enable dynamic debug for the whole GKI.
> > >
> > > Will Google release that binary with CONFIG_DYNAMIC_DEBUG_CORE disabled?
> > >
> > In Google's plan, there will be only one GKI (no debug version) for
> > one Android version per kernel version per year.
>
> Are there plans to use modules with debug messages enabled on production
> systems?

Yes, but in a managed way. They are not being enabled directly to log buffer.
Users / FAEs (Field Application Engineer) might control to open or
close every single one on-the-fly.

>
> IMHO, the debug messages are primary needed during development and
> when fixing bugs. I am sure that developers will want to enable many
> more features that will help with debugging and which will be disabled
> on production systems.

I agree with you in general speaking.
For real production build we usually keep a few critical debugging
methods in case of some
potential bugs which are extremely hard to be found in production test.
Dynamic debug is one of these methods.
I assume it is widely used for maintenance to PC or server because I
can find it is enabled in some
popular Linux distribution configs.

Here is the search result from my PC with Ubuntu default installation.
zhai@ThinkPad:/boot$ cat config-4.15.0-99-generic | grep DYNAMIC_DEBUG
CONFIG_DYNAMIC_DEBUG=y

>
> I expect that Google will not release only the single binary. They
> should release also the sources and build configuration. Then

Yes, they have released the source and configuration which could be freely
downloaded from Google's website.

> developers might build their own versions with the needed debugging
> features enabled.

Yes, we do have the debug build for this.
But as I mentioned above, it is a little bit different for my requirement.
Actually my patch is to address the problem for embedded system where
image size is needed to be
considered when CONFIG_DYNAMIC_DEBUG is being enable globally.

For a "make allyesconfig" build, 2,335,704 bytes will be increased by
enabling CONFIG_DYNAMIC_DEBUG.
It is trivial for PC or server but might matter for embedded product.
So my patch is to give user an option to
only enable dynamic debug for modules especially in this GKI case.

Thanks
Orson
>
> Best Regards,
> Petr