Commit e2d614e4 authored by Sebastian Graf's avatar Sebastian Graf Committed by Sebastian Graf

Disable timer-based context switches

In the past, we repeatedly had problems with non-deterministic allocations due to stack squeezing during context switches (#4450, #8611).
This patch adds `+RTS -V0 -RTS` as extra `RUNTEST_OPTS` for every single-threaded benchmark.

Is this the right place to add the flags? Should we also do this for all the other benchmarks?

Reviewers: simonmar, osa1, nomeata, O26 nofib

GHC Trac Issues: #8611

Differential Revision:
parent c985746f
......@@ -17,7 +17,16 @@ RUNTEST_OPTS = $(SRC_RUNTEST_OPTS) $(WAY$(_way)_RUNTEST_OPTS) \
ifneq "$(way)" "mp"
# if testing GUM don't generate a -S style log file; it may well differ
SRC_RUNTEST_OPTS += -ghc-timing
SRC_RUNTEST_OPTS += -ghc-timing
# Deactivate context switches to guarantee deterministic allocation
# measurements. See Trac #8611.
# We might want this to also happen in the "mp" way. I left it here,
# assuming that "mp" (probably for multi-processor system) entails
# nondeterministic measurements anyway, but I don't really know enough
# about this to make substantiated claims.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment