From: Will Deacon <will@kernel.org>
To: Mark Brown <broonie@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
linux-arm-kernel@lists.infradead.org,
Guillaume Tucker <guillaume.tucker@collabora.com>,
Kevin Hilman <khilman@baylibre.com>
Subject: Re: [PATCH] arm64: defconfig: Disable DEBUG_INFO
Date: Thu, 4 Mar 2021 14:48:34 +0000 [thread overview]
Message-ID: <20210304144833.GB21410@willie-the-truck> (raw)
In-Reply-To: <20210304143647.GB4731@sirena.org.uk>
On Thu, Mar 04, 2021 at 02:36:47PM +0000, Mark Brown wrote:
> On Thu, Mar 04, 2021 at 12:56:24PM +0000, Will Deacon wrote:
>
> > Hmm. Doing this means ./scripts/faddr2line no longer works with the vmlinux,
> > which means if somebody forgets to enable DEBUG_INFO they're in for a
> > really hard time debugging when something goes wrong.
>
> Assuming they're aware of that script in the first place and try to
> translate addreses with it rather just using the function name in the
> stack trace, and aren't able to easily rebuild if they decide that it's
> something that's useful. What people do is going to depend a lot on
> their use cases.
I use ./scripts/faddr2line all the time to decode the function+offset from
the stacktrace. For example:
$ ./scripts/faddr2line vmlinux gic_handle_irq+0x64/0x120
gic_handle_irq+0x64/0x120:
gic_handle_irq at drivers/irqchip/irq-gic-v3.c:671
where I pulled "gic_handle_irq+0x64/0x120" straight out of this backtrace:
[ 1.947342] Call trace:
[ 1.947576] dump_backtrace+0x0/0x1cc
[ 1.948304] show_stack+0x18/0x64
[ 1.948637] dump_stack+0xcc/0x14c
[ 1.948938] panic+0x14c/0x360
[ 1.949188] sysrq_handle_term+0x0/0x90
[ 1.949645] __handle_sysrq+0x150/0x178
[ 1.950044] handle_sysrq+0x2c/0x38
[ 1.950323] pl011_fifo_to_tty+0x104/0x218
[ 1.950659] pl011_int+0x200/0x484
[ 1.951025] __handle_irq_event_percpu+0x84/0x168
[ 1.951633] handle_irq_event+0x60/0x13c
[ 1.952200] handle_fasteoi_irq+0xf4/0x1c8
[ 1.952688] __handle_domain_irq+0x88/0xcc
[ 1.953075] gic_handle_irq+0x64/0x120
[ 1.953447] el1_irq+0xb4/0x180
[ 1.953778] arch_cpu_idle+0x18/0x28
[ 1.954109] default_idle_call+0x20/0x5c
[ 1.954459] do_idle+0xfc/0x290
[ 1.954709] cpu_startup_entry+0x24/0x28
[ 1.955179] rest_init+0xd8/0xe8
[ 1.955516] arch_call_rest_init+0x10/0x1c
[ 1.955929] start_kernel+0x32c/0x44c
> > Why can't the CI systems just disable DEBUG_INFO themselves instead of
> > changing defconfig for everybody?
>
> What's more likely is that they can just increase the amount of space
> they allocate to jobs (that's certainly what KernelCI does). Testing
> modified versions of configurations isn't great as half the point of
> using the standard configurations is that everyone's working to the same
> thing and should in theory be seeing the same stuff, it's easier to name
> a standard config than name a standard config and a list of tweaks
> applied to it.
I'd be fine if arm64 build reports came back as "defconfig+DEBUG_INFO=n"
and the CI just ran ./scripts/config -d DEBUG_INFO as part of its build
step. For runtime testing, however, having the full vmlinux available is
really helpful if we need to debug.
> This is about picking a sensible default, there's always going to be
> cases where someone wants the other value (otherwise it wouldn't be a
> config option). The contention is that there's a lot more builds being
> slowed down by the extra I/O and disk space being burned than benefit to
> people who end up with the debug info turned on and actively use it but
> these aren't direct tradeoffs so you can't categorically say something
> one way or the other. At the minute defconfig actually results in a
> bigger build tree than an allmodconfig for me (6.8G vs 5.2G) which
> doesn't seem like what I'd expect.
I suppose I'm of the opinion that debug info is a waste of time until you
need it, and then it's suddenly invaluable. So I'd prefer it to be there by
default, as I don't think the extra I/O or disk space is a concern outside
of CI. But it would be good to hear what others have to say.
Will
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-03-04 14:50 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-02 18:58 [PATCH] arm64: defconfig: Disable DEBUG_INFO Mark Brown
2021-03-03 19:24 ` Kevin Hilman
2021-03-04 12:56 ` Will Deacon
2021-03-04 14:36 ` Mark Brown
2021-03-04 14:48 ` Will Deacon [this message]
2021-03-04 15:18 ` Mark Brown
2021-03-04 16:22 ` Catalin Marinas
2021-03-04 16:35 ` Mark Brown
2021-03-04 17:24 ` Kevin Hilman
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=20210304144833.GB21410@willie-the-truck \
--to=will@kernel.org \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=guillaume.tucker@collabora.com \
--cc=khilman@baylibre.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).