Thread (8 messages) 8 messages, 4 authors, 2020-05-18

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

flat view

From: Orson Zhai <orsonzhai@gmail.com>
Date: 2020-05-16 03:55:20
Also in: linux-doc, linux-rdma, lkml

On Fri, May 15, 2020 at 5:55 PM Petr Mladek [off-list ref] wrote:
On Thu 2020-04-23 00:02:48, Orson Zhai wrote:
quoted
On Wed, Apr 22, 2020 at 10:25 PM Leon Romanovsky [off-list ref] wrote:
quoted
On Wed, Apr 22, 2020 at 09:06:08PM +0800, Orson Zhai wrote:
quoted
On Tue, Apr 21, 2020 at 3:10 AM Leon Romanovsky [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help