* [PATCH] kcov: update documentation on remote coverage collection
@ 2026-05-19 16:06 Jann Horn
2026-05-20 8:27 ` Alexander Potapenko
2026-05-20 17:51 ` Andrey Konovalov
0 siblings, 2 replies; 4+ messages in thread
From: Jann Horn @ 2026-05-19 16:06 UTC (permalink / raw)
To: Alexander Potapenko, Dmitry Vyukov, Andrey Konovalov, kasan-dev,
Andrew Morton
Cc: linux-kernel, Jann Horn
Adjust the docs on remote coverage collection to reflect the changes made
in "kcov: refactor common handle ID into kcov_common_handle_id" and
"kcov: allow simultaneous KCOV_ENABLE/KCOV_REMOTE_ENABLE".
Suggested-by: Alexander Potapenko <glider@google.com>
Signed-off-by: Jann Horn <jannh@google.com>
---
Documentation/dev-tools/kcov.rst | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/dev-tools/kcov.rst b/Documentation/dev-tools/kcov.rst
index 8127849d40f5..54a0baeb917a 100644
--- a/Documentation/dev-tools/kcov.rst
+++ b/Documentation/dev-tools/kcov.rst
@@ -246,6 +246,8 @@ KCOV supports collecting remote coverage from the following contexts:
2. Local kernel background tasks. These are spawned when a userspace process
interacts with some kernel interface and are usually killed when the process
exits (e.g. vhost workers).
+ This can be combined with another KCOV instance that is configured for normal
+ coverage collection.
3. Soft interrupts.
@@ -262,6 +264,9 @@ gets saved to the ``kcov_handle`` field in the current ``task_struct`` and
needs to be passed to the newly spawned local tasks via custom kernel code
modifications. Those tasks should in turn use the passed handle in their
``kcov_remote_start`` and ``kcov_remote_stop`` annotations.
+In the kernel, common handles are wrapped in a ``kcov_common_handle_id``, which
+consumes no space in builds without ``CONFIG_KCOV``; subsystems that integrate
+with this mechanism should not need to use any ``#ifdef CONFIG_KCOV`` or such.
KCOV follows a predefined format for both global and common handles. Each
handle is a ``u64`` integer. Currently, only the one top and the lower 4 bytes
---
base-commit: ab5fce87a778cb780a05984a2ca448f2b41aafbf
change-id: 20260519-kcov-docs-15feabfb10aa
--
Jann Horn <jannh@google.com>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] kcov: update documentation on remote coverage collection
2026-05-19 16:06 [PATCH] kcov: update documentation on remote coverage collection Jann Horn
@ 2026-05-20 8:27 ` Alexander Potapenko
2026-05-20 17:51 ` Andrey Konovalov
1 sibling, 0 replies; 4+ messages in thread
From: Alexander Potapenko @ 2026-05-20 8:27 UTC (permalink / raw)
To: Jann Horn
Cc: Dmitry Vyukov, Andrey Konovalov, kasan-dev, Andrew Morton, linux-kernel
On Tue, May 19, 2026 at 6:06 PM Jann Horn <jannh@google.com> wrote:
>
> Adjust the docs on remote coverage collection to reflect the changes made
> in "kcov: refactor common handle ID into kcov_common_handle_id" and
> "kcov: allow simultaneous KCOV_ENABLE/KCOV_REMOTE_ENABLE".
>
> Suggested-by: Alexander Potapenko <glider@google.com>
> Signed-off-by: Jann Horn <jannh@google.com>
Reviewed-by: Alexander Potapenko <glider@google.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] kcov: update documentation on remote coverage collection
2026-05-19 16:06 [PATCH] kcov: update documentation on remote coverage collection Jann Horn
2026-05-20 8:27 ` Alexander Potapenko
@ 2026-05-20 17:51 ` Andrey Konovalov
2026-05-20 18:15 ` Jann Horn
1 sibling, 1 reply; 4+ messages in thread
From: Andrey Konovalov @ 2026-05-20 17:51 UTC (permalink / raw)
To: Jann Horn
Cc: Alexander Potapenko, Dmitry Vyukov, kasan-dev, Andrew Morton,
linux-kernel
On Tue, May 19, 2026 at 6:06 PM Jann Horn <jannh@google.com> wrote:
>
> Adjust the docs on remote coverage collection to reflect the changes made
> in "kcov: refactor common handle ID into kcov_common_handle_id" and
> "kcov: allow simultaneous KCOV_ENABLE/KCOV_REMOTE_ENABLE".
>
> Suggested-by: Alexander Potapenko <glider@google.com>
> Signed-off-by: Jann Horn <jannh@google.com>
Hi Jann,
> ---
> Documentation/dev-tools/kcov.rst | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/dev-tools/kcov.rst b/Documentation/dev-tools/kcov.rst
> index 8127849d40f5..54a0baeb917a 100644
> --- a/Documentation/dev-tools/kcov.rst
> +++ b/Documentation/dev-tools/kcov.rst
> @@ -246,6 +246,8 @@ KCOV supports collecting remote coverage from the following contexts:
> 2. Local kernel background tasks. These are spawned when a userspace process
> interacts with some kernel interface and are usually killed when the process
> exits (e.g. vhost workers).
> + This can be combined with another KCOV instance that is configured for normal
> + coverage collection.
But does your change only work for collecting coverage from these
local tasks, or from global ones as well? If the latter is allowed as
well, this sentence need to be moved.
>
> 3. Soft interrupts.
>
> @@ -262,6 +264,9 @@ gets saved to the ``kcov_handle`` field in the current ``task_struct`` and
> needs to be passed to the newly spawned local tasks via custom kernel code
> modifications. Those tasks should in turn use the passed handle in their
> ``kcov_remote_start`` and ``kcov_remote_stop`` annotations.
> +In the kernel, common handles are wrapped in a ``kcov_common_handle_id``, which
> +consumes no space in builds without ``CONFIG_KCOV``; subsystems that integrate
> +with this mechanism should not need to use any ``#ifdef CONFIG_KCOV`` or such.
>
> KCOV follows a predefined format for both global and common handles. Each
> handle is a ``u64`` integer. Currently, only the one top and the lower 4 bytes
>
> ---
> base-commit: ab5fce87a778cb780a05984a2ca448f2b41aafbf
> change-id: 20260519-kcov-docs-15feabfb10aa
>
> --
> Jann Horn <jannh@google.com>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] kcov: update documentation on remote coverage collection
2026-05-20 17:51 ` Andrey Konovalov
@ 2026-05-20 18:15 ` Jann Horn
0 siblings, 0 replies; 4+ messages in thread
From: Jann Horn @ 2026-05-20 18:15 UTC (permalink / raw)
To: Andrey Konovalov
Cc: Alexander Potapenko, Dmitry Vyukov, kasan-dev, Andrew Morton,
linux-kernel
On Wed, May 20, 2026 at 7:51 PM Andrey Konovalov <andreyknvl@gmail.com> wrote:
> On Tue, May 19, 2026 at 6:06 PM Jann Horn <jannh@google.com> wrote:
> > diff --git a/Documentation/dev-tools/kcov.rst b/Documentation/dev-tools/kcov.rst
> > index 8127849d40f5..54a0baeb917a 100644
> > --- a/Documentation/dev-tools/kcov.rst
> > +++ b/Documentation/dev-tools/kcov.rst
> > @@ -246,6 +246,8 @@ KCOV supports collecting remote coverage from the following contexts:
> > 2. Local kernel background tasks. These are spawned when a userspace process
> > interacts with some kernel interface and are usually killed when the process
> > exits (e.g. vhost workers).
> > + This can be combined with another KCOV instance that is configured for normal
> > + coverage collection.
>
> But does your change only work for collecting coverage from these
> local tasks, or from global ones as well? If the latter is allowed as
> well, this sentence need to be moved.
It also works for collecting global coverage. When I was writing this,
I figured that anyone wanting to collect global coverage would
probably be doing it from a separate task anyway; but yeah, you're
right, it makes more sense to move this note. I'll send a v2.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-05-20 18:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-19 16:06 [PATCH] kcov: update documentation on remote coverage collection Jann Horn
2026-05-20 8:27 ` Alexander Potapenko
2026-05-20 17:51 ` Andrey Konovalov
2026-05-20 18:15 ` Jann Horn
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®