[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 0/9] plugins/next (bug fixes, hwprofile, lockstep)
From: |
Alex Bennée |
Subject: |
[PATCH v1 0/9] plugins/next (bug fixes, hwprofile, lockstep) |
Date: |
Tue, 2 Jun 2020 16:46:15 +0100 |
Hi,
This is the current state of my plugins tree. It has a few minor fixes
to the headers as well as a bug I found in the cputlb which was
triggered when a pci_config write via io_writex causes the memory
regions to be reset and as a result a flush and potential re-sizing of
the TLB entries. This meant when a plugin looked up details of the
address later there was no TLB entry with the information which got
flagged as an error on the plugins part.
I found the bug while I was looking around trying to figure out what
was going wrong with my virtio code so I implemented a "hwprofile"
plugin to track exactly what devices where seeing writes. There are
some minor associated tweaks to the virtio PCI code to better name the
MemoryRegions and a new helper API which exposes the region names to
the plugin.
The lockstep plugin is essentially unchanged from previous postings
but hasn't seen any review. I'm minded to include it in the next PR
anyway just so it isn't lost next time I need to do an A-B comparison
on something that only diverges in behaviour several million
instructions into an execution.
The following need review:
- .travis.yml: allow failure for unreliable hosts
- plugins: new hwprofile plugin
- plugins: add API to return a name for a IO device
- hw/virtio/pci: include vdev name in registered PCI sections
- cputlb: ensure we re-fill the TLB if it has reset
- tests/plugin: correctly honour io_count
- plugins: new lockstep plugin for debugging TCG changes
Alex Bennée (7):
plugins: new lockstep plugin for debugging TCG changes
tests/plugin: correctly honour io_count
cputlb: ensure we re-fill the TLB if it has reset
hw/virtio/pci: include vdev name in registered PCI sections
plugins: add API to return a name for a IO device
plugins: new hwprofile plugin
.travis.yml: allow failure for unreliable hosts
Emilio G. Cota (1):
qemu-plugin.h: add missing include <stddef.h> to define size_t
Philippe Mathieu-Daudé (1):
scripts/clean-includes: Mark 'qemu/qemu-plugin.h' as special header
include/qemu/qemu-plugin.h | 6 +
accel/tcg/cputlb.c | 14 ++
hw/virtio/virtio-pci.c | 21 ++-
plugins/api.c | 18 ++
tests/plugin/hwprofile.c | 248 +++++++++++++++++++++++++++
tests/plugin/lockstep.c | 340 +++++++++++++++++++++++++++++++++++++
tests/plugin/mem.c | 2 +-
.travis.yml | 5 +
scripts/clean-includes | 1 +
tests/plugin/Makefile | 2 +
tests/tcg/Makefile.target | 2 +-
11 files changed, 649 insertions(+), 10 deletions(-)
create mode 100644 tests/plugin/hwprofile.c
create mode 100644 tests/plugin/lockstep.c
--
2.20.1
- [PATCH v1 0/9] plugins/next (bug fixes, hwprofile, lockstep),
Alex Bennée <=
- [PATCH v1 2/9] qemu-plugin.h: add missing include <stddef.h> to define size_t, Alex Bennée, 2020/06/02
- [PATCH v1 3/9] scripts/clean-includes: Mark 'qemu/qemu-plugin.h' as special header, Alex Bennée, 2020/06/02
- [PATCH v1 1/9] plugins: new lockstep plugin for debugging TCG changes, Alex Bennée, 2020/06/02
- [PATCH v1 4/9] tests/plugin: correctly honour io_count, Alex Bennée, 2020/06/02
- [PATCH v1 5/9] cputlb: ensure we re-fill the TLB if it has reset, Alex Bennée, 2020/06/02
- [PATCH v1 6/9] hw/virtio/pci: include vdev name in registered PCI sections, Alex Bennée, 2020/06/02