From: Orson Zhai <orson.unisoc@gmail.com>
To: Jason Baron <jbaron@akamai.com>,
Andrew Morton <akpm@linux-foundation.org>,
Changbin Du <changbin.du@intel.com>,
Randy Dunlap <rdunlap@infradead.org>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Shuah Khan <skhan@linuxfoundation.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Brendan Higgins <brendanhiggins@google.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Ard Biesheuvel <ardb@kernel.org>, Gary Hook <Gary.Hook@amd.com>,
Andy Shevchenko <andy.shevchenko@gmail.com>,
David Gow <davidgow@google.com>,
Mark Rutland <mark.rutland@arm.com>
Cc: orsonzhai@gmail.com, linux-kernel@vger.kernel.org,
kernel-team@android.com, Orson Zhai <orson.unisoc@gmail.com>
Subject: [RFC PATCH] dynamic_debug: Add config option of DYNAMIC_DEBUG_CORE
Date: Thu, 19 Mar 2020 03:03:06 +0800 [thread overview]
Message-ID: <1584558186-23373-1-git-send-email-orson.unisoc@gmail.com> (raw)
There is the requirement from new Android that kernel image (GKI) and
kernel modules are supposed to be built at differnet places. Some people
want to enable dynamic debug for kernel modules only but not for kernel
image itself with the consideration of binary size increased or more
memory being used.
By this patch, dynamic debug is divided into core part (the defination of
functions) and macro replacement part. We can only have the core part to
be built-in and do not have to activate the debug output from kenrel image.
Signed-off-by: Orson Zhai <orson.unisoc@gmail.com>
---
include/linux/dynamic_debug.h | 2 +-
lib/Kconfig.debug | 18 ++++++++++++++++--
lib/Makefile | 2 +-
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
index 4cf02ec..abcd5fd 100644
--- a/include/linux/dynamic_debug.h
+++ b/include/linux/dynamic_debug.h
@@ -48,7 +48,7 @@ struct _ddebug {
-#if defined(CONFIG_DYNAMIC_DEBUG)
+#if defined(CONFIG_DYNAMIC_DEBUG_CORE)
int ddebug_add_module(struct _ddebug *tab, unsigned int n,
const char *modname);
extern int ddebug_remove_module(const char *mod_name);
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 69def4a..78a7256 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -97,8 +97,7 @@ config BOOT_PRINTK_DELAY
config DYNAMIC_DEBUG
bool "Enable dynamic printk() support"
default n
- depends on PRINTK
- depends on DEBUG_FS
+ select DYNAMIC_DEBUG_CORE
help
Compiles debug level messages into the kernel, which would not
@@ -164,6 +163,21 @@ config DYNAMIC_DEBUG
See Documentation/admin-guide/dynamic-debug-howto.rst for additional
information.
+config DYNAMIC_DEBUG_CORE
+ bool "Enable core functions of dynamic debug support"
+ depends on PRINTK
+ depends on DEBUG_FS
+ help
+ Enable this option to build ddebug_* and __dynamic_* routines
+ into kernel. If you want enable whole dynamic debug features,
+ select CONFIG_DYNAMIC_DEBUG directly and this option will be
+ automatically selected.
+
+ This option is selected when you want to enable dynamic debug
+ for kernel modules only but not for the kernel base. Especailly
+ in the case that kernel modules are built out of the place where
+ kernel base is built.
+
config SYMBOLIC_ERRNAME
bool "Support symbolic error names in printf"
default y if PRINTK
diff --git a/lib/Makefile b/lib/Makefile
index 611872c..2096d83 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -183,7 +183,7 @@ lib-$(CONFIG_GENERIC_BUG) += bug.o
obj-$(CONFIG_HAVE_ARCH_TRACEHOOK) += syscall.o
-obj-$(CONFIG_DYNAMIC_DEBUG) += dynamic_debug.o
+obj-$(CONFIG_DYNAMIC_DEBUG_CORE) += dynamic_debug.o
obj-$(CONFIG_SYMBOLIC_ERRNAME) += errname.o
obj-$(CONFIG_NLATTR) += nlattr.o
--
2.7.4
next reply other threads:[~2020-03-18 19:04 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-18 19:03 Orson Zhai [this message]
2020-03-18 19:23 ` [RFC PATCH] dynamic_debug: Add config option of DYNAMIC_DEBUG_CORE Andy Shevchenko
2020-03-18 20:11 ` Orson Zhai
2020-03-18 20:12 ` Joe Perches
2020-03-18 21:18 ` Jason Baron
2020-03-19 15:28 ` Orson Zhai
2020-03-19 20:19 ` Jason Baron
2020-03-20 18:30 ` Orson Zhai
2020-03-21 4:25 ` Orson Zhai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1584558186-23373-1-git-send-email-orson.unisoc@gmail.com \
--to=orson.unisoc@gmail.com \
--cc=Gary.Hook@amd.com \
--cc=akpm@linux-foundation.org \
--cc=andy.shevchenko@gmail.com \
--cc=ardb@kernel.org \
--cc=brendanhiggins@google.com \
--cc=changbin.du@intel.com \
--cc=davidgow@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=jbaron@akamai.com \
--cc=kernel-team@android.com \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mhiramat@kernel.org \
--cc=orsonzhai@gmail.com \
--cc=rdunlap@infradead.org \
--cc=skhan@linuxfoundation.org \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox