[kvm-unit-tests PATCH v5 00/11] My current MTTCG tests

Alex Bennée
2015-07-31T15:54:31Z

Hi,

This is the current state of my MTTCG tests based on the KVM's unit
testing framework. The earlier patches in the series have already been
reviewed and will (with the exception of the emacs patch) be making
their way upstream.

There are a couple of addition to library functions:
- printf %u suppport
- flush_tlb_page for arm and arm64
- a generic prng from CCAN

The two actual tests are:
- tlbflush-test
- barrier-test

The latter barrier test hangs the current -v6 MTTCG patch set in both
"excl" and "acqrel" modes and will make a good torture test for
Alvise's atomic patch set. I suspect the load/store ordering issues
will show up better once tested on a weak-ordered backend. I'm open to
suggestions for other tests worth adding to show up the issues.

The github tree can be found at:

https://github.com/stsquad/kvm-unit-tests/tree/current-mttcg-tests

Alex Bennée (11):
arm/run: set indentation defaults for emacs
README: add some CONTRIBUTING notes
configure: emit HOST=$host to config.mak
arm/run: introduce usingkvm var and use it
lib/printf: support the %u unsigned fmt field
lib/arm: add flush_tlb_page mmu function
new arm/tlbflush-test: TLB torture test
arm/unittests.cfg: add the tlbflush tests
arm: query /dev/kvm for maximum vcpus
new: add isaac prng library from CCAN
new: arm/barrier-test for memory barriers

README | 26 ++++++
arm/barrier-test.c | 206 +++++++++++++++++++++++++++++++++++++++++++
arm/run | 19 +++-
arm/tlbflush-test.c | 194 ++++++++++++++++++++++++++++++++++++++++
arm/unittests.cfg | 26 +++++-
arm/utils/kvm-query.c | 41 +++++++++
config/config-arm-common.mak | 18 +++-
configure | 2 +
lib/arm/asm/mmu.h | 11 +++
lib/arm64/asm/mmu.h | 8 ++
lib/printf.c | 13 +++
lib/prng.c | 162 ++++++++++++++++++++++++++++++++++
lib/prng.h | 82 +++++++++++++++++
13 files changed, 801 insertions(+), 7 deletions(-)
create mode 100644 arm/barrier-test.c
create mode 100644 arm/tlbflush-test.c
create mode 100644 arm/utils/kvm-query.c
create mode 100644 lib/prng.c
create mode 100644 lib/prng.h

--
2.5.0