All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@kernel.org>
To: Daniel Latypov <dlatypov@google.com>
Cc: Maxime Ripard <maxime@cerno.tech>,
	Mike Turquette <mturquette@baylibre.com>,
	linux-clk@vger.kernel.org,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	Phil Elwell <phil@raspberrypi.com>,
	Tim Gover <tim.gover@raspberrypi.com>,
	Dom Cobley <dom@raspberrypi.com>,
	dri-devel@lists.freedesktop.org, kunit-dev@googlegroups.com
Subject: Re: [PATCH v6 02/12] clk: Introduce Kunit Tests for the framework
Date: Fri, 25 Mar 2022 14:19:47 -0700	[thread overview]
Message-ID: <20220325211949.77643C004DD@smtp.kernel.org> (raw)
In-Reply-To: <CAGS_qxrDs5RYa4nxNR2ghsyBhgVyMHApi+GJKzGxF7FvNHe9dQ@mail.gmail.com>

Quoting Daniel Latypov (2022-02-24 15:21:57)
> On Thu, Feb 24, 2022 at 2:54 PM Stephen Boyd <sboyd@kernel.org> wrote:
> >
> > Quoting Daniel Latypov (2022-02-23 14:50:59)
> > > On Wed, Feb 23, 2022 at 2:56 AM Maxime Ripard <maxime@cerno.tech> wrote:
> > > >
> > > > Let's test various parts of the rate-related clock API with the kunit
> > > > testing framework.
> > > >
> > > > Cc: kunit-dev@googlegroups.com
> > > > Suggested-by: Stephen Boyd <sboyd@kernel.org>
> > > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > >
> > > Tested-by: Daniel Latypov <dlatypov@google.com>
> > >
> > > Looks good to me on the KUnit side.
> > > Two small nits below.
> > >
> > > FYI, I computed the incremental coverage for this series, i.e.:
> > > 1) applied the full series
> > > 2) computed the absolute coverage
> > >
> > > $  ./tools/testing/kunit/kunit.py run  --kunitconfig=drivers/clk
> > > --make_options=CC=/usr/bin/gcc-6 --kconfig_add=CONFIG_DEBUG_KERNEL=y
> > > --kconfig_add=CONFIG_DEBUG_INFO=y --kconfig_add=CONFIG_GCOV=y
> > > $ lcov -t "clk_tests" -o coverage.info -c -d .kunit/ --gcov-tool=/usr/bin/gcov-6
> >
> > This is cool. Thanks! Is it possible to add some 'coverage' command to
> > kunit so we don't have to recall this invocation?
> 
> This is documented at
> https://www.kernel.org/doc/html/latest/dev-tools/kunit/running_tips.html#generating-code-coverage-reports-under-uml
> It also includes pointers on how to use lcov to process the .gcda files.
> I wrote it before --kconfig_add existed, so it just looks a bit different.
> 
> The main blockers to directly supporting this in kunit.py are
> 1.) this only works on UML
> 2.) it needs gcc-6 or lower (and the kernel's min version is 5.1, iirc)...
> 3.) in kernels older than 5.14, this requires some more hacks to get
> working. So for the large portion of us stuck dealing with somewhat
> older kernels, we'd have to do stuff manually anyway.
> 
> For #1, we'd need different kconfig options and kunit.py's QEMU would
> need some sort of userspace (busybox should be sufficient).
> For #2, I don't recall what the precise issues were anymore. But I
> think there were some more issues in gcc 8 or 9... :(
> 
> >
> > >
> > > 3) intersected that with the total diff
> >
> > This would also be cool to do automatically with a revision range.
> 
> Hmm, can you elaborate?
> I assume you mean other revision ranges beyond this patch set?

I mean somehow to tell kunit.py that I want incremental coverage
information for a git revision range so that I can say something like

	kunit.py incremental HEAD~3..HEAD

and have it tell me the line coverage.

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Boyd <sboyd@kernel.org>
To: Daniel Latypov <dlatypov@google.com>
Cc: Dom Cobley <dom@raspberrypi.com>,
	Tim Gover <tim.gover@raspberrypi.com>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	Mike Turquette <mturquette@baylibre.com>,
	dri-devel@lists.freedesktop.org, linux-clk@vger.kernel.org,
	Maxime Ripard <maxime@cerno.tech>,
	Phil Elwell <phil@raspberrypi.com>,
	kunit-dev@googlegroups.com
Subject: Re: [PATCH v6 02/12] clk: Introduce Kunit Tests for the framework
Date: Fri, 25 Mar 2022 14:19:47 -0700	[thread overview]
Message-ID: <20220325211949.77643C004DD@smtp.kernel.org> (raw)
In-Reply-To: <CAGS_qxrDs5RYa4nxNR2ghsyBhgVyMHApi+GJKzGxF7FvNHe9dQ@mail.gmail.com>

Quoting Daniel Latypov (2022-02-24 15:21:57)
> On Thu, Feb 24, 2022 at 2:54 PM Stephen Boyd <sboyd@kernel.org> wrote:
> >
> > Quoting Daniel Latypov (2022-02-23 14:50:59)
> > > On Wed, Feb 23, 2022 at 2:56 AM Maxime Ripard <maxime@cerno.tech> wrote:
> > > >
> > > > Let's test various parts of the rate-related clock API with the kunit
> > > > testing framework.
> > > >
> > > > Cc: kunit-dev@googlegroups.com
> > > > Suggested-by: Stephen Boyd <sboyd@kernel.org>
> > > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > >
> > > Tested-by: Daniel Latypov <dlatypov@google.com>
> > >
> > > Looks good to me on the KUnit side.
> > > Two small nits below.
> > >
> > > FYI, I computed the incremental coverage for this series, i.e.:
> > > 1) applied the full series
> > > 2) computed the absolute coverage
> > >
> > > $  ./tools/testing/kunit/kunit.py run  --kunitconfig=drivers/clk
> > > --make_options=CC=/usr/bin/gcc-6 --kconfig_add=CONFIG_DEBUG_KERNEL=y
> > > --kconfig_add=CONFIG_DEBUG_INFO=y --kconfig_add=CONFIG_GCOV=y
> > > $ lcov -t "clk_tests" -o coverage.info -c -d .kunit/ --gcov-tool=/usr/bin/gcov-6
> >
> > This is cool. Thanks! Is it possible to add some 'coverage' command to
> > kunit so we don't have to recall this invocation?
> 
> This is documented at
> https://www.kernel.org/doc/html/latest/dev-tools/kunit/running_tips.html#generating-code-coverage-reports-under-uml
> It also includes pointers on how to use lcov to process the .gcda files.
> I wrote it before --kconfig_add existed, so it just looks a bit different.
> 
> The main blockers to directly supporting this in kunit.py are
> 1.) this only works on UML
> 2.) it needs gcc-6 or lower (and the kernel's min version is 5.1, iirc)...
> 3.) in kernels older than 5.14, this requires some more hacks to get
> working. So for the large portion of us stuck dealing with somewhat
> older kernels, we'd have to do stuff manually anyway.
> 
> For #1, we'd need different kconfig options and kunit.py's QEMU would
> need some sort of userspace (busybox should be sufficient).
> For #2, I don't recall what the precise issues were anymore. But I
> think there were some more issues in gcc 8 or 9... :(
> 
> >
> > >
> > > 3) intersected that with the total diff
> >
> > This would also be cool to do automatically with a revision range.
> 
> Hmm, can you elaborate?
> I assume you mean other revision ranges beyond this patch set?

I mean somehow to tell kunit.py that I want incremental coverage
information for a git revision range so that I can say something like

	kunit.py incremental HEAD~3..HEAD

and have it tell me the line coverage.

  reply	other threads:[~2022-03-25 21:19 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-23 10:55 [PATCH v6 00/12] clk: Improve clock range handling Maxime Ripard
2022-02-23 10:55 ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 01/12] clk: Fix clk_hw_get_clk() when dev is NULL Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 02/12] clk: Introduce Kunit Tests for the framework Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 22:50   ` Daniel Latypov
2022-02-23 22:50     ` Daniel Latypov
2022-02-24 22:54     ` Stephen Boyd
2022-02-24 22:54       ` Stephen Boyd
2022-02-24 23:21       ` Daniel Latypov
2022-02-24 23:21         ` Daniel Latypov
2022-03-25 21:19         ` Stephen Boyd [this message]
2022-03-25 21:19           ` Stephen Boyd
2022-03-25 22:44           ` Daniel Latypov
2022-03-25 22:44             ` Daniel Latypov
2022-02-25 14:26       ` Maxime Ripard
2022-02-25 14:26         ` Maxime Ripard
2022-02-25 22:44         ` Stephen Boyd
2022-02-25 22:44           ` Stephen Boyd
2022-02-28 11:10           ` Maxime Ripard
2022-02-28 11:10             ` Maxime Ripard
2022-02-25 13:22     ` Maxime Ripard
2022-02-25 13:22       ` Maxime Ripard
2022-02-25 21:29       ` Daniel Latypov
2022-02-25 21:29         ` Daniel Latypov
2022-02-28 10:47         ` Maxime Ripard
2022-02-28 10:47           ` Maxime Ripard
2022-03-25 22:36           ` Daniel Latypov
2022-03-25 22:36             ` Daniel Latypov
2022-03-28  7:57             ` Maxime Ripard
2022-03-28  7:57               ` Maxime Ripard
2022-03-28 19:36               ` Daniel Latypov
2022-03-28 19:36                 ` Daniel Latypov
2022-03-30  7:43                 ` Maxime Ripard
2022-03-30  7:43                   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 03/12] clk: Enforce that disjoints limits are invalid Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 04/12] clk: Always clamp the rounded rate Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 05/12] clk: Use clamp instead of open-coding our own Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-24 22:51   ` Stephen Boyd
2022-02-24 22:51     ` Stephen Boyd
2022-02-23 10:55 ` [PATCH v6 06/12] clk: Always set the rate on clk_set_range_rate Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 07/12] clk: Add clk_drop_range Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 08/12] clk: bcm: rpi: Add variant structure Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 09/12] clk: bcm: rpi: Set a default minimum rate Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 10/12] clk: bcm: rpi: Run some clocks at the minimum rate allowed Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:55 ` [PATCH v6 11/12] drm/vc4: Add logging and comments Maxime Ripard
2022-02-23 10:55   ` Maxime Ripard
2022-02-23 10:56 ` [PATCH v6 12/12] drm/vc4: hdmi: Remove clock rate initialization Maxime Ripard
2022-02-23 10:56   ` Maxime Ripard

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=20220325211949.77643C004DD@smtp.kernel.org \
    --to=sboyd@kernel.org \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=dlatypov@google.com \
    --cc=dom@raspberrypi.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kunit-dev@googlegroups.com \
    --cc=linux-clk@vger.kernel.org \
    --cc=maxime@cerno.tech \
    --cc=mturquette@baylibre.com \
    --cc=phil@raspberrypi.com \
    --cc=tim.gover@raspberrypi.com \
    /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.