From: "Alex Bennée" <alex.bennee@linaro.org>
To: Marc Zyngier <maz@kernel.org>
Cc: kvm@vger.kernel.org, shashi.mallela@linaro.org,
qemu-arm@nongnu.org, kvmarm@lists.cs.columbia.edu,
linux-arm-kernel@lists.infradead.org
Subject: Re: [kvm-unit-tests PATCH v1 1/4] arm64: split its-trigger test into KVM and TCG variants
Date: Wed, 28 Apr 2021 13:06:18 +0100 [thread overview]
Message-ID: <87fszasjdg.fsf@linaro.org> (raw)
In-Reply-To: <eaed3c63988513fe2849c2d6f22937af@kernel.org>
Marc Zyngier <maz@kernel.org> writes:
> On 2021-04-28 11:18, Alex Bennée wrote:
>> A few of the its-trigger tests rely on IMPDEF behaviour where caches
>> aren't flushed before invall events. However TCG emulation doesn't
>> model any invall behaviour and as we can't probe for it we need to be
>> told. Split the test into a KVM and TCG variant and skip the invall
>> tests when under TCG.
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> Cc: Shashi Mallela <shashi.mallela@linaro.org>
>> ---
>> arm/gic.c | 60 +++++++++++++++++++++++++++--------------------
>> arm/unittests.cfg | 11 ++++++++-
>> 2 files changed, 45 insertions(+), 26 deletions(-)
>> diff --git a/arm/gic.c b/arm/gic.c
>> index 98135ef..96a329d 100644
>> --- a/arm/gic.c
>> +++ b/arm/gic.c
>> @@ -36,6 +36,7 @@ static struct gic *gic;
>> static int acked[NR_CPUS], spurious[NR_CPUS];
>> static int irq_sender[NR_CPUS], irq_number[NR_CPUS];
>> static cpumask_t ready;
>> +static bool under_tcg;
>> static void nr_cpu_check(int nr)
>> {
>> @@ -734,32 +735,38 @@ static void test_its_trigger(void)
>> /*
>> * re-enable the LPI but willingly do not call invall
>> * so the change in config is not taken into account.
>> - * The LPI should not hit
>> + * The LPI should not hit. This does however depend on
>> + * implementation defined behaviour - under QEMU TCG emulation
>> + * it can quite correctly process the event directly.
>
> It looks to me that you are using an IMPDEF behaviour of *TCG*
> here. The programming model mandates that there is an invalidation
> if you change the configuration of the LPI.
But does it mandate that the LPI cannot be sent until the invalidation?
>
> M.
--
Alex Bennée
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Marc Zyngier <maz@kernel.org>
Cc: kvm@vger.kernel.org, shashi.mallela@linaro.org,
alexandru.elisei@arm.com, eric.auger@redhat.com,
qemu-arm@nongnu.org, linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, christoffer.dall@arm.com
Subject: Re: [kvm-unit-tests PATCH v1 1/4] arm64: split its-trigger test into KVM and TCG variants
Date: Wed, 28 Apr 2021 13:06:18 +0100 [thread overview]
Message-ID: <87fszasjdg.fsf@linaro.org> (raw)
In-Reply-To: <eaed3c63988513fe2849c2d6f22937af@kernel.org>
Marc Zyngier <maz@kernel.org> writes:
> On 2021-04-28 11:18, Alex Bennée wrote:
>> A few of the its-trigger tests rely on IMPDEF behaviour where caches
>> aren't flushed before invall events. However TCG emulation doesn't
>> model any invall behaviour and as we can't probe for it we need to be
>> told. Split the test into a KVM and TCG variant and skip the invall
>> tests when under TCG.
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> Cc: Shashi Mallela <shashi.mallela@linaro.org>
>> ---
>> arm/gic.c | 60 +++++++++++++++++++++++++++--------------------
>> arm/unittests.cfg | 11 ++++++++-
>> 2 files changed, 45 insertions(+), 26 deletions(-)
>> diff --git a/arm/gic.c b/arm/gic.c
>> index 98135ef..96a329d 100644
>> --- a/arm/gic.c
>> +++ b/arm/gic.c
>> @@ -36,6 +36,7 @@ static struct gic *gic;
>> static int acked[NR_CPUS], spurious[NR_CPUS];
>> static int irq_sender[NR_CPUS], irq_number[NR_CPUS];
>> static cpumask_t ready;
>> +static bool under_tcg;
>> static void nr_cpu_check(int nr)
>> {
>> @@ -734,32 +735,38 @@ static void test_its_trigger(void)
>> /*
>> * re-enable the LPI but willingly do not call invall
>> * so the change in config is not taken into account.
>> - * The LPI should not hit
>> + * The LPI should not hit. This does however depend on
>> + * implementation defined behaviour - under QEMU TCG emulation
>> + * it can quite correctly process the event directly.
>
> It looks to me that you are using an IMPDEF behaviour of *TCG*
> here. The programming model mandates that there is an invalidation
> if you change the configuration of the LPI.
But does it mandate that the LPI cannot be sent until the invalidation?
>
> M.
--
Alex Bennée
WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Marc Zyngier <maz@kernel.org>
Cc: kvm@vger.kernel.org, shashi.mallela@linaro.org,
alexandru.elisei@arm.com, eric.auger@redhat.com,
qemu-arm@nongnu.org, linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, christoffer.dall@arm.com
Subject: Re: [kvm-unit-tests PATCH v1 1/4] arm64: split its-trigger test into KVM and TCG variants
Date: Wed, 28 Apr 2021 13:06:18 +0100 [thread overview]
Message-ID: <87fszasjdg.fsf@linaro.org> (raw)
In-Reply-To: <eaed3c63988513fe2849c2d6f22937af@kernel.org>
Marc Zyngier <maz@kernel.org> writes:
> On 2021-04-28 11:18, Alex Bennée wrote:
>> A few of the its-trigger tests rely on IMPDEF behaviour where caches
>> aren't flushed before invall events. However TCG emulation doesn't
>> model any invall behaviour and as we can't probe for it we need to be
>> told. Split the test into a KVM and TCG variant and skip the invall
>> tests when under TCG.
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> Cc: Shashi Mallela <shashi.mallela@linaro.org>
>> ---
>> arm/gic.c | 60 +++++++++++++++++++++++++++--------------------
>> arm/unittests.cfg | 11 ++++++++-
>> 2 files changed, 45 insertions(+), 26 deletions(-)
>> diff --git a/arm/gic.c b/arm/gic.c
>> index 98135ef..96a329d 100644
>> --- a/arm/gic.c
>> +++ b/arm/gic.c
>> @@ -36,6 +36,7 @@ static struct gic *gic;
>> static int acked[NR_CPUS], spurious[NR_CPUS];
>> static int irq_sender[NR_CPUS], irq_number[NR_CPUS];
>> static cpumask_t ready;
>> +static bool under_tcg;
>> static void nr_cpu_check(int nr)
>> {
>> @@ -734,32 +735,38 @@ static void test_its_trigger(void)
>> /*
>> * re-enable the LPI but willingly do not call invall
>> * so the change in config is not taken into account.
>> - * The LPI should not hit
>> + * The LPI should not hit. This does however depend on
>> + * implementation defined behaviour - under QEMU TCG emulation
>> + * it can quite correctly process the event directly.
>
> It looks to me that you are using an IMPDEF behaviour of *TCG*
> here. The programming model mandates that there is an invalidation
> if you change the configuration of the LPI.
But does it mandate that the LPI cannot be sent until the invalidation?
>
> M.
--
Alex Bennée
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-04-28 12:07 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-28 10:18 [kvm-unit-tests PATCH v1 0/4] enable LPI and ITS for TCG Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:18 ` [kvm-unit-tests PATCH v1 1/4] arm64: split its-trigger test into KVM and TCG variants Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:29 ` Marc Zyngier
2021-04-28 10:29 ` Marc Zyngier
2021-04-28 10:29 ` Marc Zyngier
2021-04-28 12:06 ` Alex Bennée [this message]
2021-04-28 12:06 ` Alex Bennée
2021-04-28 12:06 ` Alex Bennée
2021-04-28 14:00 ` Alexandru Elisei
2021-04-28 14:00 ` Alexandru Elisei
2021-04-28 14:00 ` Alexandru Elisei
2021-04-28 14:36 ` Marc Zyngier
2021-04-28 14:36 ` Marc Zyngier
2021-04-28 14:36 ` Marc Zyngier
2021-04-28 15:26 ` Auger Eric
2021-04-28 15:26 ` Auger Eric
2021-04-28 15:26 ` Auger Eric
2021-04-28 15:37 ` Alex Bennée
2021-04-28 15:37 ` Alex Bennée
2021-04-28 15:37 ` Alex Bennée
2021-04-28 16:31 ` Alex Bennée
2021-04-28 16:31 ` Alex Bennée
2021-04-28 16:31 ` Alex Bennée
2021-04-28 16:46 ` Marc Zyngier
2021-04-28 16:46 ` Marc Zyngier
2021-04-28 16:46 ` Marc Zyngier
2021-04-28 10:18 ` [kvm-unit-tests PATCH v1 2/4] scripts/arch-run: don't use deprecated server/nowait options Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:18 ` [kvm-unit-tests PATCH v1 3/4] arm64: enable its-migration tests for TCG Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:18 ` [kvm-unit-tests PATCH v1 4/4] arm64: split its-migrate-unmapped-collection into KVM and TCG variants Alex Bennée
2021-04-28 10:18 ` Alex Bennée
2021-04-28 10:18 ` Alex Bennée
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=87fszasjdg.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=maz@kernel.org \
--cc=qemu-arm@nongnu.org \
--cc=shashi.mallela@linaro.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 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.