summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2023-01-27 16:33:27 +0100
committerLouis Burda <quent.burda@gmail.com>2023-01-27 16:34:43 +0100
commitbb2c0277010fa5fc3010dca79685d527bd87d9fb (patch)
treedd719f969a6d9f1377fa85dc7325b53d9622a863 /test
parent1f418a1c4480cef90b8596ae17bdca9cc7ca1b88 (diff)
downloadcachepc-bb2c0277010fa5fc3010dca79685d527bd87d9fb.tar.gz
cachepc-bb2c0277010fa5fc3010dca79685d527bd87d9fb.zip
Add CPC_TRACK_STEPS and make apic reset more robust
Diffstat (limited to 'test')
-rw-r--r--test/kvm-step.c4
-rw-r--r--test/qemu-eviction.c5
-rwxr-xr-xtest/qemu-pagestepbin98560 -> 98536 bytes
-rw-r--r--test/qemu-pagestep.c15
4 files changed, 10 insertions, 14 deletions
diff --git a/test/kvm-step.c b/test/kvm-step.c
index a79b04f..c08fb80 100644
--- a/test/kvm-step.c
+++ b/test/kvm-step.c
@@ -136,20 +136,16 @@ main(int argc, const char **argv)
eventcnt += monitor(&kvm, true);
}
- printf("Monitor req pause\n");
ret = ioctl(kvm_dev, KVM_CPC_VM_REQ_PAUSE);
if (ret) err(1, "KVM_CPC_VM_REQ_PAUSE");
while (1) {
- printf("Monitor Polling\n");
ret = ioctl(kvm_dev, KVM_CPC_POLL_EVENT, &event);
if (ret && errno == EAGAIN) continue;
if (ret) err(1, "KVM_CPC_POLL_EVENT");
- printf("Monitor Event\n");
if (event.type == CPC_EVENT_PAUSE) break;
- printf("Skipping non-pause event..\n");
ret = ioctl(kvm_dev, KVM_CPC_ACK_EVENT, &event.id);
if (ret) err(1, "KVM_CPC_ACK_EVENT");
}
diff --git a/test/qemu-eviction.c b/test/qemu-eviction.c
index 016ee9e..43456dc 100644
--- a/test/qemu-eviction.c
+++ b/test/qemu-eviction.c
@@ -38,10 +38,9 @@ monitor(bool baseline)
if (ret) err(1, "KVM_CPC_READ_COUNTS");
printf("Event: rip:%016llx cnt:%llu "
- "inst:%08llx data:%08llx ret:%llu\n",
+ "inst:%08llx ret:%llu\n",
vm_get_rip(), event.step.fault_count,
- event.step.fault_gfns[0], event.step.fault_gfns[1],
- event.step.retinst);
+ event.step.inst_gfn, event.step.retinst);
print_counts(counts);
printf("\n");
print_counts_raw(counts);
diff --git a/test/qemu-pagestep b/test/qemu-pagestep
index 320190d..819523b 100755
--- a/test/qemu-pagestep
+++ b/test/qemu-pagestep
Binary files differ
diff --git a/test/qemu-pagestep.c b/test/qemu-pagestep.c
index 4e54161..412fefb 100644
--- a/test/qemu-pagestep.c
+++ b/test/qemu-pagestep.c
@@ -25,13 +25,14 @@ monitor(void)
if (ret && errno == EAGAIN) return;
if (ret) err(1, "KVM_CPC_POLL_EVENT");
- if (event.type != CPC_EVENT_TRACK_PAGE)
- errx(1, "unexpected event type %i", event.type);
-
- printf("Event: rip:%016llx prev:%08llx next:%08llx ret:%llu\n",
- vm_get_rip(), event.page.inst_gfn_prev,
- event.page.inst_gfn, event.page.retinst);
- printf("\n");
+ if (event.type == CPC_EVENT_TRACK_PAGE) {
+ printf("Event: rip:%016llx prev:%08llx next:%08llx ret:%llu\n",
+ vm_get_rip(), event.page.inst_gfn_prev,
+ event.page.inst_gfn, event.page.retinst);
+ printf("\n");
+ } else {
+ printf("Unexpected event type %i\n", event.type);
+ }
ret = ioctl(kvm_dev, KVM_CPC_ACK_EVENT, &event.id);
if (ret) err(1, "KVM_CPC_ACK_EVENT");