[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [kvm-unit-tests PATCH v7 10/13] arm/arm64: ITS: INT functional tests
From: |
Zenghui Yu |
Subject: |
Re: [kvm-unit-tests PATCH v7 10/13] arm/arm64: ITS: INT functional tests |
Date: |
Mon, 30 Mar 2020 18:43:37 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.2.0 |
Hi Eric,
On 2020/3/20 17:24, Eric Auger wrote:
Triggers LPIs through the INT command.
the test checks the LPI hits the right CPU and triggers
the right LPI intid, ie. the translation is correct.
Updates to the config table also are tested, along with inv
and invall commands.
Signed-off-by: Eric Auger <address@hidden>
[...]
So I've tested this series and found that the "INT" test will sometimes
fail.
"not ok 12 - gicv3: its-migration: dev2/eventid=20 triggers LPI 8195 en
PE #3 after migration
not ok 13 - gicv3: its-migration: dev7/eventid=255 triggers LPI 8196 on
PE #2 after migration"
From logs:
"INFO: gicv3: its-migration: Migration complete
INT dev_id=2 event_id=20
INFO: gicv3: its-migration: No LPI received whereas (cpuid=3,
intid=8195) was expected
FAIL: gicv3: its-migration: dev2/eventid=20 triggers LPI 8195 en PE #3
after migration
INT dev_id=7 event_id=255
INFO: gicv3: its-migration: No LPI received whereas (cpuid=2,
intid=8196) was expected
FAIL: gicv3: its-migration: dev7/eventid=255 triggers LPI 8196 on PE #2
after migration"
+static void check_lpi_stats(const char *msg)
+{
+ bool pass = false;
+
+ mdelay(100);
After changing this to 'mdelay(1000)', the above error doesn't show up
anymore. But it sounds strange that 100ms is not enough to deliver a
single LPI. I haven't dig it further but will get back here later.
+ smp_rmb(); /* pairs with wmb in lpi_handler */
+ if (lpi_stats.observed.cpu_id != lpi_stats.expected.cpu_id ||
+ lpi_stats.observed.lpi_id != lpi_stats.expected.lpi_id) {
+ if (lpi_stats.observed.cpu_id == -1 &&
+ lpi_stats.observed.lpi_id == -1) {
+ report_info("No LPI received whereas (cpuid=%d, intid=%d)
"
+ "was expected", lpi_stats.expected.cpu_id,
+ lpi_stats.expected.lpi_id);
+ } else {
+ report_info("Unexpected LPI (cpuid=%d, intid=%d)",
+ lpi_stats.observed.cpu_id,
+ lpi_stats.observed.lpi_id);
+ }
+ } else {
+ pass = true;
+ }
+ report(pass, "%s", msg);
+}
This patch itself looks good to me,
Reviewed-by: Zenghui Yu <address@hidden>
Thanks
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, (continued)
- [kvm-unit-tests PATCH v7 09/13] arm/arm64: ITS: Commands, Eric Auger, 2020/03/20
- [kvm-unit-tests PATCH v7 10/13] arm/arm64: ITS: INT functional tests, Eric Auger, 2020/03/20
- Re: [kvm-unit-tests PATCH v7 10/13] arm/arm64: ITS: INT functional tests,
Zenghui Yu <=
- [kvm-unit-tests PATCH v7 11/13] arm/run: Allow Migration tests, Eric Auger, 2020/03/20
- [kvm-unit-tests PATCH v7 12/13] arm/arm64: ITS: migration tests, Eric Auger, 2020/03/20
- [kvm-unit-tests PATCH v7 13/13] arm/arm64: ITS: pending table migration test, Eric Auger, 2020/03/20