Re: [PATCH v4 0/2] thermal: rcar_gen3_thermal: fix IRQ issues
From: Eugeniu Rosca
Date: Fri May 10 2019 - 11:51:40 EST
Hi Niklas,
On Fri, May 10, 2019 at 01:36:08PM +0200, Niklas SÃderlund wrote:
> Hi Eugeniu,
>
> On 2019-05-10 12:42:31 +0200, Eugeniu Rosca wrote:
> > Hi Niklas,
> >
> > On Wed, May 08, 2019 at 01:54:03AM +0200, Niklas SÃderlund wrote:
> > > Hi Jiada,
> > [..]
> > > I really like this series, nice work.
> > >
> > > Tested-by: Niklas SÃderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
> > > Reviewed-by: Niklas SÃderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
> >
> > Is there anything off-the-shelf available for testing the rcar3
> > thermal driver, to avoid reinventing the wheel via
> > https://patchwork.kernel.org/cover/10913163/#22602335
>
> Not that I know of, unfortunately :-(
>
> I have a private home hacked testing framework (don't we all?) based on
> tcl+expect where I have two basic tests for rcar_gen3_thermal. I'm
> willing to share the tests if you by chance want them, but be warned
> that they are highly specialised for my needs and I'm reluctant to
> publish my whole hack tool as it just a ugly hack ;-)
>
> On a high level the tests I have are
>
> 1. thermal-load
> Generates load on target and observes the temperature is increased
> using the /sys/class/thermal/thermal_zone*/temp" interface. This
> seems similar to the test case your reference using stress-ng.
>
> 2. thermal-cooling
> Emulate the passive trip point temperatures using the
> /sys/class/thermal/*/emul_temp interface and observe that the
> specified cooling state is achieved.
>
> I should add a third test to make sure IRQ fires but this is just a pet
> project for me so maybe I will get around to it sometime...
>
> If you know of anything around to test thermal drivers or if you create
> something please let me know so I can add it to my tests. And let me
> know if you want my hacks for inspiration for your own testing.
Thanks for this summary. It would be definitely convenient to have
a set of tests covering the most important features of the driver.
I was particularly thinking of the test procedure in light of below:
- I still can reproduce a few UBSAN (signed integer overflow) and
KASAN (use-after-free) reports with the most recent vanilla driver.
- There are a couple of thermal commits in rcar-3.9.x pending for
mainline submission:
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=fe7d0d1c77f9 ("thermal: rcar_gen3_thermal: Use FUSE values if they are available")
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=2776ccd63649 ("thermal: rcar_gen3_thermal: Fix interrupt count issue")
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=9146af785f41 ("thermal: rcar_gen3_thermal: Enable selection between polling/interrupt mode")
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=55b262766ec2 ("thermal: rcar_gen3_thermal: PIO-INT can be selected for each TSC separately")
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=d323d9de0683 ("thermal: rcar_gen3_thermal: Add support for r8a77990")
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=fb8efb8bac29 ("thermal: rcar_gen3_thermal: Fix interrupts are not raised issue on E3")
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=5627c42a1bd5 ("thermal: rcar_gen3_thermal: Use DIV_ROUND_CLOSEST correctly as its description")
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=d4e41702e53b ("thermal: rcar_gen3_thermal: [H3/M3N] Update calculation formula due to HW evaluation")
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git/commit/?id=958bd36e03b7 ("thermal: rcar_gen3_thermal: [E3] Update calculation formula due to HW evaluation")
Long story short, I think we will review more thermal commits in
hopefully not so distant future and it would be helpful to reach some
common understanding what kind of testing the new patches should pass.
Your summary already gives some insight in that direction. Thanks.
--
Best Regards,
Eugeniu.