From: Peter Oberparleiter <oberpar@linux.ibm.com>
To: Sasha Levin <sashal@kernel.org>, linux-kernel@vger.kernel.org
Cc: Alexander Potapenko <glider@google.com>,
Andrey Konovalov <andreyknvl@gmail.com>,
Chuck Wolber <chuck@wolber.net>,
Dmitry Vyukov <dvyukov@google.com>,
kasan-dev@googlegroups.com, Marco Elver <elver@google.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@kernel.org>
Subject: Re: [PATCH v2 03/20] coverage: add a common debugfs interface
Date: Thu, 5 Nov 2026 18:49:27 +0100 [thread overview]
Message-ID: <27596ddc-6624-49b3-9ea9-891f477eee38@linux.ibm.com> (raw)
In-Reply-To: <20261103015238.3780910-4-sashal@kernel.org>
On 03.11.2026 02:52, Sasha Levin wrote:
> Each coverage implementation creates its own top-level debugfs entry
> with its own conventions: /sys/kernel/debug/gcov/ and
> /sys/kernel/debug/kcov. Give them a common root,
> /sys/kernel/debug/coverage/, which contains:
>
> backend name of the selected code coverage measurement implementation
> reset write to reset all coverage data of that implementation
> gcov symlink to ../gcov when gcov is enabled
> kcov symlink to ../kcov when KCOV is enabled
>
> backend and reset are only present when a code coverage measurement
> implementation is selected, so a kernel with only KCOV just has the kcov
> symlink. The data formats are defined by the respective toolchains and
> stay implementation specific. The existing paths are kept as they are,
> since lcov, distribution tooling and syzkaller rely on them; the gcov
> reset file now shares its implementation with the common one.
>
> The common reset never touches KCOV, whose coverage buffers are owned
> by the tasks that set them up.
This part is slightly inconsistent - there is a common reset attribute,
but it doesn't apply to all coverage mechanisms. Also for gcov, there
are two reset attributes that perform the same function.
Would it make sense to only keep the attribute in the backend directory
and possibly mandate a common name via convention?
[...]
> +void __init coverage_register_backend(const struct coverage_backend *backend)
> +{
> + if (WARN_ON(coverage_backend))
> + return;
Can this happen at all?
--
Peter Oberparleiter
Linux on IBM Z Development - IBM Germany R&D
next prev parent reply other threads:[~2026-11-05 17:49 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 1:52 [PATCH v2 00/20] Unify code coverage and add Clang source-based coverage with MC/DC Sasha Levin
2026-11-03 1:52 ` [PATCH v2 01/20] coverage: move gcov and kcov under kernel/coverage/ Sasha Levin
2026-11-05 17:38 ` Peter Oberparleiter
2026-11-03 1:52 ` [PATCH v2 02/20] kbuild: unify static coverage instrumentation as COVERAGE_PROFILE Sasha Levin
2026-11-03 1:52 ` [PATCH v2 03/20] coverage: add a common debugfs interface Sasha Levin
2026-11-05 17:49 ` Peter Oberparleiter [this message]
2026-11-06 1:05 ` Sasha Levin
2026-11-03 1:52 ` [PATCH v2 04/20] compiler_types.h: Don't instrument __always_inline functions for coverage Sasha Levin
2026-11-03 1:52 ` [PATCH v2 05/20] context_tracking: Always inline the empty stubs called from noinstr code Sasha Levin
2026-11-03 1:52 ` [PATCH v2 06/20] lockdep: " Sasha Levin
2026-11-03 1:52 ` [PATCH v2 07/20] perf: Always inline the empty perf_lopwr_cb() stub Sasha Levin
2026-11-03 1:52 ` [PATCH v2 08/20] rseq: Always inline the empty stubs called from noinstr code Sasha Levin
2026-11-03 1:52 ` [PATCH v2 09/20] x86: Always inline " Sasha Levin
2026-11-03 1:52 ` [PATCH v2 10/20] x86/sev: Use non-instrumented bitops in the GHCB accessors Sasha Levin
2026-11-04 13:36 ` Sean Christopherson
2026-11-03 1:52 ` [PATCH v2 11/20] objtool: Detect code coverage instrumentation in noinstr code Sasha Levin
2026-11-03 1:52 ` [PATCH v2 12/20] x86/sev: Stop excluding noinstr.o from code coverage Sasha Levin
2026-11-03 1:52 ` [PATCH v2 13/20] x86/entry: Stop excluding the entry code from KCOV Sasha Levin
2026-11-03 1:52 ` [PATCH v2 14/20] coverage: add Clang's source-based code coverage Sasha Levin
2026-11-03 1:52 ` [PATCH v2 15/20] x86: Enable " Sasha Levin
2026-11-03 1:52 ` [PATCH v2 16/20] coverage: add MC/DC measurement Sasha Levin
2026-11-03 1:52 ` [PATCH v2 17/20] gcov: fix gcov_info_add() merge semantics for IOR counters Sasha Levin
2026-11-05 17:50 ` Peter Oberparleiter
2026-11-03 1:52 ` [PATCH v2 18/20] kconfig: add CC_HAS_CONDITION_COVERAGE for MC/DC support detection Sasha Levin
2026-11-03 1:52 ` [PATCH v2 19/20] gcov: add MC/DC condition coverage support Sasha Levin
2026-11-05 17:56 ` Peter Oberparleiter
2026-11-06 1:05 ` Sasha Levin
2026-11-03 1:52 ` [PATCH v2 20/20] Documentation: dev-tools: document the common code coverage interface Sasha Levin
2026-11-05 17:36 ` [PATCH v2 00/20] Unify code coverage and add Clang source-based coverage with MC/DC 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=27596ddc-6624-49b3-9ea9-891f477eee38@linux.ibm.com \
--to=oberpar@linux.ibm.com \
--cc=andreyknvl@gmail.com \
--cc=chuck@wolber.net \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=glider@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=peterz@infradead.org \
--cc=sashal@kernel.org \
--cc=tglx@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®