From: "Chuck Wolber" <chuck@wolber.net>
To: "Masami Hiramatsu" <mhiramat@kernel.org>
Cc: "Marco Elver" <elver@google.com>,
kasan-dev@googlegroups.com, nathan@kernel.org,
akpm@linux-foundation.org, anton.ivanov@cambridgegreys.com,
oberpar@linux.ibm.com, ardb@kernel.org, arnd@arndb.de,
bhelgaas@google.com, bp@alien8.de, dave.hansen@linux.intel.com,
dvyukov@google.com, hpa@zytor.com, jinghao7@illinois.edu,
johannes@sipsolutions.net, jpoimboe@kernel.org,
justinstitt@google.com, kees@kernel.org,
kent.overstreet@linux.dev, linux-arch@vger.kernel.org,
linux-efi@vger.kernel.org, linux-kbuild@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
linux-um@lists.infradead.org, llvm@lists.linux.dev,
luto@kernel.org, marinov@illinois.edu, masahiroy@kernel.org,
maskray@google.com, mathieu.desnoyers@efficios.com,
mingo@redhat.com, morbo@google.com,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Paul E. McKenney" <paulmck@kernel.org>,
richard@nod.at, "Steven Rostedt" <rostedt@goodmis.org>,
samitolvanen@google.com, tglx@linutronix.de,
tingxur@illinois.edu, tyxu@illinois.edu, wentaoz5@illinois.edu,
x86@kernel.org, peterz@infradead.org,
"Sasha Levin" <sashal@kernel.org>,
"Aleksandr Nogikh" <nogikh@google.com>,
"Taras Madan" <tarasmadan@google.com>,
"Alexander Potapenko" <glider@google.com>
Subject: Re: [PROPOSAL] Replace gcov and kcov with llvm-cov
Date: Wed, 07 Oct 2026 04:17:42 +0000 [thread overview]
Message-ID: <c84149c4-26c3-476e-93d5-4fe72f7c708b@app.fastmail.com> (raw)
In-Reply-To: <20261007023045.04BD71F0089B@smtp.kernel.org>
On Wed, Oct 7, 2026, at 2:30 AM, Masami Hiramatsu wrote:
> On Tue, 06 Oct 2026 16:27:11 +0000, Chuck Wolber <chuck@wolber.net> wrote:
>> On Tue, Oct 6, 2026, at 4:10 PM, Marco Elver wrote:
>> > On Tue, 6 Oct 2026 at 17:14, Chuck Wolber <chuck@wolber.net> wrote:
>
>> >> If there is a desire to take this in pieces or implement other
>> >> intermediate steps, let me know. Otherwise I can generate a
>> >> monolithic set all at once.
>> >>
>> >> [1] https://lore.kernel.org/lkml/20240905043245.1389509-1-wentaoz5@illinois.edu/
>> >>
>> > >> > llvm-cov is generally useful to have; llvm-cov is closest to
>> > >> > gcov, so that might make sense to replace.
>>
>> Swapping llvm-cov for gcov to start with is pretty straightforward,
>> so I can aim my initial patch set there.
>
> Hmm, is it necessary to remove gcov? Would it be difficult to simply
> add support for llvm-cov and enable (make kconfig selectable) one or
> the other depending on the compiler?
Not strictly necessary, no. And what you are describing is what our
original patches do.
The concern was why we would want to have three separate code coverage
tools in the kernel. Each has their own way of doing things, and they
can all live together in the kernel harmoniously.
But the concern was raised so I am trying to find a way forward.
The llvm-cov approach gives results that are reliably tied to actual
lines of source, so that is the one I reflexively reach for any time I
need code coverage. I am at a loss (but definitely willing to be
educated) as to what value gcov style coverage provides in comparison.
I also found some interesting possibilities using intrinsics to enable
boot time tracing with llvm-cov. That is, of course, experimental and
not something I am considering for the intial patch-set. But it got me
thinking about broader configurability that supports more granular forms
of coverage that _may_ address kcov needs in the long term.
I have been working on this off-and on for a few years and still really
want to see this idea succeed. Any guidance on a workable path forward
would be greatly appreciated.
Another option, proposed by Sasha Levin[1], was to use a single
/sys/kernel/debug/coverage interface, quoting him here:
"To clarify, are you suggesting that we'll have something like a single
/sys/kernel/debug/coverage interface that is producing the same structured
output whether we use gcov or llvm?"
I am not sure it is feasible to use the same structured ouput, but it
would isolate things down to a single interface with KConfig knobs being
used to select which coverage data one can expect to find there.
[1] https://lore.kernel.org/lkml/aba_HgSbzLGm6VBQ@laps/
Thank you,
..Ch:W..
next prev parent reply other threads:[~2026-10-07 4:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-06 15:14 Chuck Wolber
2026-10-06 16:10 ` Marco Elver
2026-10-06 16:27 ` Chuck Wolber
2026-10-07 2:30 ` Masami Hiramatsu
2026-10-07 4:17 ` Chuck Wolber [this message]
2026-10-07 4:50 ` Masami Hiramatsu
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=c84149c4-26c3-476e-93d5-4fe72f7c708b@app.fastmail.com \
--to=chuck@wolber.net \
--cc=akpm@linux-foundation.org \
--cc=anton.ivanov@cambridgegreys.com \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=glider@google.com \
--cc=hpa@zytor.com \
--cc=jinghao7@illinois.edu \
--cc=johannes@sipsolutions.net \
--cc=jpoimboe@kernel.org \
--cc=justinstitt@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=kees@kernel.org \
--cc=kent.overstreet@linux.dev \
--cc=linux-arch@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=llvm@lists.linux.dev \
--cc=luto@kernel.org \
--cc=marinov@illinois.edu \
--cc=masahiroy@kernel.org \
--cc=maskray@google.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=mingo@redhat.com \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nogikh@google.com \
--cc=oberpar@linux.ibm.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=richard@nod.at \
--cc=rostedt@goodmis.org \
--cc=samitolvanen@google.com \
--cc=sashal@kernel.org \
--cc=tarasmadan@google.com \
--cc=tglx@linutronix.de \
--cc=tingxur@illinois.edu \
--cc=tyxu@illinois.edu \
--cc=wentaoz5@illinois.edu \
--cc=x86@kernel.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
all inboxes | Powered by JetHome®