From: Geert Uytterhoeven <geert+renesas@glider.be>
To: Chris Down <chris@chrisdown.name>, Petr Mladek <pmladek@suse.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Jessica Yu <jeyu@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
John Ogness <john.ogness@linutronix.de>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Jason Baron <jbaron@akamai.com>,
Jim Cromie <jim.cromie@gmail.com>,
Ilya Dryomov <idryomov@gmail.com>, Xiubo Li <xiubli@redhat.com>,
Jeff Layton <jlayton@kernel.org>
Cc: linux-kernel@vger.kernel.org, ceph-devel@vger.kernel.org,
Geert Uytterhoeven <geert+renesas@glider.be>
Subject: [PATCH 0/4] printk_index: Fix false positives
Date: Wed, 28 Feb 2024 15:00:01 +0100 [thread overview]
Message-ID: <cover.1709127473.git.geert+renesas@glider.be> (raw)
Hi all,
When printk-indexing is enabled, each printk() invocation emits a
pi_entry structure, containing the format string and other information
related to its location in the kernel sources. This is even true when
the printk() is protected by an always-false check, as is typically the
case for debug messages: while the actual code to print the message is
optimized out by the compiler, the pi_entry structure is still emitted.
Hence when debugging is disabled, this leads to the inclusion in the
index of lots of printk formats that cannot be emitted by the current
kernel.
This series fixes that for the common debug helpers under include/.
It reduces the size of an arm64 defconfig kernel with
CONFIG_PRINTK_INDEX=y by ca. 1.5 MiB, or 28% of the overhead of
enabling CONFIG_PRINTK_INDEX=y.
Notes:
- netdev_(v)dbg() and netif_(v)dbg() are not affected, as
net{dev,if}_printk() do not implement printk-indexing, except
for the single global internal instance of __netdev_printk().
- This series fixes only debug code in global header files under
include/. There are more cases to fix in subsystem-specific header
files and in sources files.
Thanks for your comments!
Geert Uytterhoeven (4):
printk: Let no_printk() use _printk()
dev_printk: Add and use dev_no_printk()
dyndbg: Use *no_printk() helpers
ceph: Use no_printk() helper
include/linux/ceph/ceph_debug.h | 18 +++++++-----------
include/linux/dev_printk.h | 25 +++++++++++++------------
include/linux/dynamic_debug.h | 4 ++--
include/linux/printk.h | 2 +-
4 files changed, 23 insertions(+), 26 deletions(-)
--
2.34.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next reply other threads:[~2024-02-28 14:00 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-28 14:00 Geert Uytterhoeven [this message]
2024-02-28 14:00 ` [PATCH 1/4] printk: Let no_printk() use _printk() Geert Uytterhoeven
2024-02-28 14:00 ` [PATCH 2/4] dev_printk: Add and use dev_no_printk() Geert Uytterhoeven
2024-02-28 17:39 ` Andy Shevchenko
2024-02-28 19:33 ` Geert Uytterhoeven
2024-02-28 19:52 ` Andy Shevchenko
2024-02-28 14:00 ` [PATCH 3/4] dyndbg: Use *no_printk() helpers Geert Uytterhoeven
2024-02-28 14:00 ` [PATCH 4/4] ceph: Use no_printk() helper Geert Uytterhoeven
2024-02-28 17:41 ` [PATCH 0/4] printk_index: Fix false positives Andy Shevchenko
2024-02-29 0:37 ` Xiubo Li
2024-03-01 0:35 ` Chris Down
2024-03-19 15:08 ` Petr Mladek
2024-03-26 15:36 ` Petr Mladek
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=cover.1709127473.git.geert+renesas@glider.be \
--to=geert+renesas@glider.be \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ceph-devel@vger.kernel.org \
--cc=chris@chrisdown.name \
--cc=gregkh@linuxfoundation.org \
--cc=idryomov@gmail.com \
--cc=jbaron@akamai.com \
--cc=jeyu@kernel.org \
--cc=jim.cromie@gmail.com \
--cc=jlayton@kernel.org \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
--cc=xiubli@redhat.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