Commit d65197ad authored by Johannes Berg's avatar Johannes Berg Committed by Richard Weinberger

um: Fix time-travel=inf-cpu with xor/raid6

Today, I erroneously built a time-travel configuration with btrfs
enabled, and noticed it cannot boot in time-travel=inf-cpu mode,
both xor and raid6 speed measurement gets stuck.

For xor, work around it by picking the first algorithm if inf-cpu
mode is enabled.

For raid6, I didn't find such a workaround, so disallow enabling
time-travel mode if RAID6_PQ_BENCHMARK is enabled.

With this, and RAID6_PQ_BENCHMARK disabled, I can boot a kernel
that has btrfs enabled in time-travel=inf-cpu mode.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Acked-by: default avatarAnton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 87c9366e
...@@ -189,6 +189,8 @@ config SECCOMP ...@@ -189,6 +189,8 @@ config SECCOMP
config UML_TIME_TRAVEL_SUPPORT config UML_TIME_TRAVEL_SUPPORT
bool bool
prompt "Support time-travel mode (e.g. for test execution)" prompt "Support time-travel mode (e.g. for test execution)"
# inf-cpu mode is incompatible with the benchmarking
depends on !RAID6_PQ_BENCHMARK
help help
Enable this option to support time travel inside the UML instance. Enable this option to support time travel inside the UML instance.
......
...@@ -25,5 +25,4 @@ generic-y += switch_to.h ...@@ -25,5 +25,4 @@ generic-y += switch_to.h
generic-y += topology.h generic-y += topology.h
generic-y += trace_clock.h generic-y += trace_clock.h
generic-y += word-at-a-time.h generic-y += word-at-a-time.h
generic-y += xor.h
generic-y += kprobes.h generic-y += kprobes.h
/* SPDX-License-Identifier: GPL-2.0 */
#include <asm-generic/xor.h>
#include <shared/timer-internal.h>
/* pick an arbitrary one - measuring isn't possible with inf-cpu */
#define XOR_SELECT_TEMPLATE(x) \
(time_travel_mode == TT_MODE_INFCPU ? &xor_block_8regs : NULL)
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