From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
To: chuck@wolber.net
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
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:50:47 +0000 [thread overview]
Message-ID: <20261007045050.601511F0089B@smtp.kernel.org> (raw)
In-Reply-To: <c84149c4-26c3-476e-93d5-4fe72f7c708b@app.fastmail.com>
On Wed, 07 Oct 2026 04:17:42 +0000, Chuck Wolber <chuck@wolber.net> wrote:
> 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.
OK, let me check it.
>
> 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 agree with llvm-cov is better than GCOV. But since gcc users can
NOT use this feature, for checking code coverage in the kernel,
we still need to keep it for gcc users.
> 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.
Ah, that's an interesting idea :)
>
> 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.
Yeah, that soulds reasonable for me.
Thank you,
>
>
> [1] https://lore.kernel.org/lkml/aba_HgSbzLGm6VBQ@laps/
>
>
> Thank you,
>
> ..Ch:W..
--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
next prev parent reply other threads:[~2026-10-07 4:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-06 15:14 [PROPOSAL] Replace gcov and kcov with llvm-cov 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
2026-10-07 4:50 ` Masami Hiramatsu [this message]
2026-10-08 15:58 ` Peter Oberparleiter
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=20261007045050.601511F0089B@smtp.kernel.org \
--to=mhiramat@kernel.org \
--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=chuck@wolber.net \
--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=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.