From: "Alex Bennée" <alex.bennee@linaro.org>
To: Andrew Jones <drjones@redhat.com>
Cc: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org,
marc.zyngier@arm.com, mttcg@greensocs.com,
peter.maydell@linaro.org, claudio.fontana@huawei.com,
nikunj@linux.vnet.ibm.com, jan.kiszka@siemens.com,
mark.burton@greensocs.com, a.rigo@virtualopensystems.com,
qemu-devel@nongnu.org, cota@braap.org, serge.fdrv@gmail.com,
pbonzini@redhat.com, bobby.prani@gmail.com, rth@twiddle.net,
fred.konrad@greensocs.com
Subject: Re: [Qemu-devel] [kvm-unit-tests PATCH v7 00/11] QEMU MTTCG Test cases
Date: Mon, 28 Nov 2016 11:12:41 +0000 [thread overview]
Message-ID: <878ts3uac6.fsf@linaro.org> (raw)
In-Reply-To: <20161128103744.s3wq53xzsxvu5uus@kamzik.brq.redhat.com>
Andrew Jones <drjones@redhat.com> writes:
> On Thu, Nov 24, 2016 at 04:10:22PM +0000, Alex Bennée wrote:
>> Hi,
>>
>> Looking at my records it seems as though it has been a while since I
>> last posted these tests. As I'm hoping to get the final bits of MTTCG
>> merged upstream on the next QEMU development cycle I've been re-basing
>> these and getting them cleaned up for merging.
>>
>> Some of the patches might be worth taking now if the maintainers are
>> happy to do so (run_test tweaks, libcflat updates?). The others could
>> do with more serious review. I've CC'd some of the ARM guys to look
>> over the tlbflush/barrier tests so they can cast their expert eyes
>> over them ;-)
>>
>> There are two additions to the series.
>>
>> The tcg-test is a general torture test aimed at QEMU's TCG execution
>> model. It stresses the cpu execution loop through the use of
>> cross-page and computed jumps. It can also add IRQ's and self-modifying
>> code to the mix.
>>
>> The tlbflush-data test is a new one, the old tlbflush test is renamed
>> tlbflush-code to better indicate the code path it exercise. The the
>> code test tests the translation invalidation pathways in QEMU the data
>> test exercises the SoftMMU's TLBs and explicitly that tlbflush
>> completion semantics are correct.
>>
>> The tlbflush-data passes most of the times on real hardware but
>> definitely showed the problem with deferred TLB flushes running under
>> MTTCG QEMU. I've looked at some of the failure cases on real hardware
>> and it did look like a timestamp appeared on a page that shouldn't
>> have been accessible at the time - I don't know if this is a real
>> silicon bug or my misreading of the semantics so I'd appreciate
>> a comment from the experts.
>>
>> The code needs to be applied on top of Drew's latest ARM GIC patches
>> or you can grab my tree from:
>>
>> https://github.com/stsquad/kvm-unit-tests/tree/mttcg/current-tests-v7
>
> Thanks Alex,
>
> I've skimmed over everything looking at it from a framwork/sytle
> perspective. I didn't dig in trying to understand the tests though.
> One general comment, I see many tests introduce MAX_CPUS 8. Why do
> that? Why not allow all cpus by using NR_CPUS for the array sizes?
Yeah - I can fix those. I wonder what the maximum is with GIC V3?
>
> Thanks,
> drew
>
>>
>> Cheers,
>>
>> Alex.
>>
>> Alex Bennée (11):
>> run_tests: allow forcing of acceleration mode
>> run_tests: allow disabling of timeouts
>> run_tests: allow passing of options to QEMU
>> libcflat: add PRI(dux)32 format types
>> lib: add isaac prng library from CCAN
>> arm/Makefile.common: force -fno-pic
>> arm/tlbflush-code: Add TLB flush during code execution test
>> arm/tlbflush-data: Add TLB flush during data writes test
>> arm/locking-tests: add comprehensive locking test
>> arm/barrier-litmus-tests: add simple mp and sal litmus tests
>> arm/tcg-test: some basic TCG exercising tests
>>
>> Makefile | 2 +
>> arm/Makefile.arm | 2 +
>> arm/Makefile.arm64 | 2 +
>> arm/Makefile.common | 11 ++
>> arm/barrier-litmus-test.c | 437 ++++++++++++++++++++++++++++++++++++++++++++++
>> arm/locking-test.c | 302 ++++++++++++++++++++++++++++++++
>> arm/tcg-test-asm.S | 170 ++++++++++++++++++
>> arm/tcg-test-asm64.S | 169 ++++++++++++++++++
>> arm/tcg-test.c | 337 +++++++++++++++++++++++++++++++++++
>> arm/tlbflush-code.c | 212 ++++++++++++++++++++++
>> arm/tlbflush-data.c | 401 ++++++++++++++++++++++++++++++++++++++++++
>> arm/unittests.cfg | 190 ++++++++++++++++++++
>> lib/arm/asm/barrier.h | 63 ++++++-
>> lib/arm64/asm/barrier.h | 50 ++++++
>> lib/libcflat.h | 5 +
>> lib/prng.c | 162 +++++++++++++++++
>> lib/prng.h | 82 +++++++++
>> run_tests.sh | 18 +-
>> scripts/functions.bash | 13 +-
>> scripts/runtime.bash | 8 +
>> 20 files changed, 2626 insertions(+), 10 deletions(-)
>> create mode 100644 arm/barrier-litmus-test.c
>> create mode 100644 arm/locking-test.c
>> create mode 100644 arm/tcg-test-asm.S
>> create mode 100644 arm/tcg-test-asm64.S
>> create mode 100644 arm/tcg-test.c
>> create mode 100644 arm/tlbflush-code.c
>> create mode 100644 arm/tlbflush-data.c
>> create mode 100644 lib/prng.c
>> create mode 100644 lib/prng.h
>>
>> --
>> 2.10.1
>>
>>
--
Alex Bennée
WARNING: multiple messages have this Message-ID (diff)
From: alex.bennee@linaro.org (Alex Bennée)
To: linux-arm-kernel@lists.infradead.org
Subject: [Qemu-devel] [kvm-unit-tests PATCH v7 00/11] QEMU MTTCG Test cases
Date: Mon, 28 Nov 2016 11:12:41 +0000 [thread overview]
Message-ID: <878ts3uac6.fsf@linaro.org> (raw)
In-Reply-To: <20161128103744.s3wq53xzsxvu5uus@kamzik.brq.redhat.com>
Andrew Jones <drjones@redhat.com> writes:
> On Thu, Nov 24, 2016 at 04:10:22PM +0000, Alex Benn?e wrote:
>> Hi,
>>
>> Looking at my records it seems as though it has been a while since I
>> last posted these tests. As I'm hoping to get the final bits of MTTCG
>> merged upstream on the next QEMU development cycle I've been re-basing
>> these and getting them cleaned up for merging.
>>
>> Some of the patches might be worth taking now if the maintainers are
>> happy to do so (run_test tweaks, libcflat updates?). The others could
>> do with more serious review. I've CC'd some of the ARM guys to look
>> over the tlbflush/barrier tests so they can cast their expert eyes
>> over them ;-)
>>
>> There are two additions to the series.
>>
>> The tcg-test is a general torture test aimed at QEMU's TCG execution
>> model. It stresses the cpu execution loop through the use of
>> cross-page and computed jumps. It can also add IRQ's and self-modifying
>> code to the mix.
>>
>> The tlbflush-data test is a new one, the old tlbflush test is renamed
>> tlbflush-code to better indicate the code path it exercise. The the
>> code test tests the translation invalidation pathways in QEMU the data
>> test exercises the SoftMMU's TLBs and explicitly that tlbflush
>> completion semantics are correct.
>>
>> The tlbflush-data passes most of the times on real hardware but
>> definitely showed the problem with deferred TLB flushes running under
>> MTTCG QEMU. I've looked at some of the failure cases on real hardware
>> and it did look like a timestamp appeared on a page that shouldn't
>> have been accessible at the time - I don't know if this is a real
>> silicon bug or my misreading of the semantics so I'd appreciate
>> a comment from the experts.
>>
>> The code needs to be applied on top of Drew's latest ARM GIC patches
>> or you can grab my tree from:
>>
>> https://github.com/stsquad/kvm-unit-tests/tree/mttcg/current-tests-v7
>
> Thanks Alex,
>
> I've skimmed over everything looking at it from a framwork/sytle
> perspective. I didn't dig in trying to understand the tests though.
> One general comment, I see many tests introduce MAX_CPUS 8. Why do
> that? Why not allow all cpus by using NR_CPUS for the array sizes?
Yeah - I can fix those. I wonder what the maximum is with GIC V3?
>
> Thanks,
> drew
>
>>
>> Cheers,
>>
>> Alex.
>>
>> Alex Benn?e (11):
>> run_tests: allow forcing of acceleration mode
>> run_tests: allow disabling of timeouts
>> run_tests: allow passing of options to QEMU
>> libcflat: add PRI(dux)32 format types
>> lib: add isaac prng library from CCAN
>> arm/Makefile.common: force -fno-pic
>> arm/tlbflush-code: Add TLB flush during code execution test
>> arm/tlbflush-data: Add TLB flush during data writes test
>> arm/locking-tests: add comprehensive locking test
>> arm/barrier-litmus-tests: add simple mp and sal litmus tests
>> arm/tcg-test: some basic TCG exercising tests
>>
>> Makefile | 2 +
>> arm/Makefile.arm | 2 +
>> arm/Makefile.arm64 | 2 +
>> arm/Makefile.common | 11 ++
>> arm/barrier-litmus-test.c | 437 ++++++++++++++++++++++++++++++++++++++++++++++
>> arm/locking-test.c | 302 ++++++++++++++++++++++++++++++++
>> arm/tcg-test-asm.S | 170 ++++++++++++++++++
>> arm/tcg-test-asm64.S | 169 ++++++++++++++++++
>> arm/tcg-test.c | 337 +++++++++++++++++++++++++++++++++++
>> arm/tlbflush-code.c | 212 ++++++++++++++++++++++
>> arm/tlbflush-data.c | 401 ++++++++++++++++++++++++++++++++++++++++++
>> arm/unittests.cfg | 190 ++++++++++++++++++++
>> lib/arm/asm/barrier.h | 63 ++++++-
>> lib/arm64/asm/barrier.h | 50 ++++++
>> lib/libcflat.h | 5 +
>> lib/prng.c | 162 +++++++++++++++++
>> lib/prng.h | 82 +++++++++
>> run_tests.sh | 18 +-
>> scripts/functions.bash | 13 +-
>> scripts/runtime.bash | 8 +
>> 20 files changed, 2626 insertions(+), 10 deletions(-)
>> create mode 100644 arm/barrier-litmus-test.c
>> create mode 100644 arm/locking-test.c
>> create mode 100644 arm/tcg-test-asm.S
>> create mode 100644 arm/tcg-test-asm64.S
>> create mode 100644 arm/tcg-test.c
>> create mode 100644 arm/tlbflush-code.c
>> create mode 100644 arm/tlbflush-data.c
>> create mode 100644 lib/prng.c
>> create mode 100644 lib/prng.h
>>
>> --
>> 2.10.1
>>
>>
--
Alex Benn?e
next prev parent reply other threads:[~2016-11-28 11:12 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-24 16:10 [kvm-unit-tests PATCH v7 00/11] QEMU MTTCG Test cases Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 01/11] run_tests: allow forcing of acceleration mode Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 8:51 ` Andrew Jones
2016-11-28 8:51 ` [Qemu-devel] " Andrew Jones
2016-11-28 8:51 ` Andrew Jones
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 02/11] run_tests: allow disabling of timeouts Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 9:00 ` Andrew Jones
2016-11-28 9:00 ` [Qemu-devel] " Andrew Jones
2016-11-28 9:00 ` Andrew Jones
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 03/11] run_tests: allow passing of options to QEMU Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 9:10 ` [Qemu-devel] " Andrew Jones
2016-11-28 9:10 ` Andrew Jones
2016-11-28 11:22 ` Alex Bennée
2016-11-28 11:22 ` Alex Bennée
2016-11-28 11:22 ` Alex Bennée
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 04/11] libcflat: add PRI(dux)32 format types Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 9:18 ` Andrew Jones
2016-11-28 9:18 ` [Qemu-devel] " Andrew Jones
2016-11-28 9:18 ` Andrew Jones
2017-01-10 15:23 ` Alex Bennée
2017-01-10 15:23 ` [Qemu-devel] " Alex Bennée
2017-01-10 15:23 ` Alex Bennée
2017-01-10 15:29 ` Alex Bennée
2017-01-10 15:29 ` [Qemu-devel] " Alex Bennée
2017-01-10 15:29 ` Alex Bennée
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 05/11] lib: add isaac prng library from CCAN Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 06/11] arm/Makefile.common: force -fno-pic Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 9:33 ` [Qemu-devel] " Andrew Jones
2016-11-28 9:33 ` Andrew Jones
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 07/11] arm/tlbflush-code: Add TLB flush during code execution test Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 9:42 ` Andrew Jones
2016-11-28 9:42 ` [Qemu-devel] " Andrew Jones
2016-11-28 9:42 ` Andrew Jones
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 08/11] arm/tlbflush-data: Add TLB flush during data writes test Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 10:11 ` Andrew Jones
2016-11-28 10:11 ` [Qemu-devel] " Andrew Jones
2016-11-28 10:11 ` Andrew Jones
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 09/11] arm/locking-tests: add comprehensive locking test Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 10:29 ` Andrew Jones
2016-11-28 10:29 ` [Qemu-devel] " Andrew Jones
2016-11-28 10:29 ` Andrew Jones
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 10/11] arm/barrier-litmus-tests: add simple mp and sal litmus tests Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-24 16:10 ` [kvm-unit-tests PATCH v7 11/11] arm/tcg-test: some basic TCG exercising tests Alex Bennée
2016-11-24 16:10 ` [Qemu-devel] " Alex Bennée
2016-11-24 16:10 ` Alex Bennée
2016-11-28 10:37 ` [Qemu-devel] [kvm-unit-tests PATCH v7 00/11] QEMU MTTCG Test cases Andrew Jones
2016-11-28 10:37 ` Andrew Jones
2016-11-28 10:37 ` Andrew Jones
2016-11-28 11:12 ` Alex Bennée [this message]
2016-11-28 11:12 ` Alex Bennée
2016-11-28 11:14 ` Peter Maydell
2016-11-28 11:14 ` Peter Maydell
2016-11-28 11:14 ` Peter Maydell
2016-11-28 11:58 ` Andrew Jones
2016-11-28 11:58 ` Andrew Jones
2016-11-28 11:58 ` Andrew Jones
2016-11-28 13:30 ` Peter Maydell
2016-11-28 13:30 ` Peter Maydell
2016-11-28 13:30 ` Peter Maydell
2016-11-28 14:04 ` Andrew Jones
2016-11-28 14:04 ` Andrew Jones
2016-11-28 14:04 ` Andrew Jones
2016-11-28 14:07 ` Andrew Jones
2016-11-28 14:07 ` Andrew Jones
2016-11-28 14:07 ` Andrew Jones
2016-11-28 14:09 ` Peter Maydell
2016-11-28 14:09 ` Peter Maydell
2016-11-28 14:09 ` Peter Maydell
2016-11-28 10:51 ` Andrew Jones
2016-11-28 10:51 ` Andrew Jones
2016-11-28 10:51 ` Andrew Jones
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=878ts3uac6.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=a.rigo@virtualopensystems.com \
--cc=bobby.prani@gmail.com \
--cc=christoffer.dall@linaro.org \
--cc=claudio.fontana@huawei.com \
--cc=cota@braap.org \
--cc=drjones@redhat.com \
--cc=fred.konrad@greensocs.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=marc.zyngier@arm.com \
--cc=mark.burton@greensocs.com \
--cc=mttcg@greensocs.com \
--cc=nikunj@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=serge.fdrv@gmail.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.