r.mem, r.mem_ovf ? '!' : ' ');
}
+void wvtest_pass(bool cond, const char* str)
+{
+ printf("! %s %s\n", str, cond ? "ok" : "FAILURE");
+}
+
+#define WVPASS(cond) wvtest_pass(cond, #cond)
+
#define MGTEST(timeout_us, mem_budget, flags, code) \
({ \
long retval; \
err(1, "sched_setaffinity");
printf("Pinned to CPU %d\n", cpu);
+ struct mg_ret r;
for (uint64_t flags = 0; flags < 4; flags++) {
compute_kernel(1); /* warm up */
- MGTEST(5000, 10000, flags, compute_kernel(1000));
+ r = MGTEST(5000, 10000, flags, compute_kernel(1000));
+ WVPASS(!r.mem_ovf);
+ WVPASS(r.time > 900);
MGTEST(500, 10000, flags, compute_kernel(1000));
MGTEST(5000, 10000, flags, compute_kernel(2000));
MGTEST(500, 10000, flags, compute_kernel(2000));