mirror-linux/tools/testing/selftests
Paolo Bonzini 0c899c25d7 KVM: x86: do not attempt TSC synchronization on guest writes
KVM special-cases writes to MSR_IA32_TSC so that all CPUs have
the same base for the TSC.  This logic is complicated, and we
do not want it to have any effect once the VM is started.

In particular, if any guest started to synchronize its TSCs
with writes to MSR_IA32_TSC rather than MSR_IA32_TSC_ADJUST,
the additional effect of kvm_write_tsc code would be uncharted
territory.

Therefore, this patch makes writes to MSR_IA32_TSC behave
essentially the same as writes to MSR_IA32_TSC_ADJUST when
they come from the guest.  A new selftest (which passes
both before and after the patch) checks the current semantics
of writes to MSR_IA32_TSC and MSR_IA32_TSC_ADJUST originating
from both the host and the guest.

Upcoming work to remove the special side effects
of host-initiated writes to MSR_IA32_TSC and MSR_IA32_TSC_ADJUST
will be able to build onto this test, adjusting the host side
to use the new APIs and achieve the same effect.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-09-28 07:59:52 -04:00
..
android
arm64 kselftest: arm64: Remove redundant clean target 2020-06-24 14:25:59 +01:00
bpf selftests/bpf: Fix massive output from test_maps 2020-08-28 13:58:19 +02:00
breakpoints selftests: breakpoints: do not use ksft_exit_skip after ksft_set_plan 2020-07-06 15:47:48 -06:00
capabilities
cgroup kselftests: cgroup: add perpcu memory accounting test 2020-08-12 10:57:55 -07:00
clone3 linux-kselftest-5.9-rc1 2020-08-05 10:28:25 -07:00
core tests: add CLOSE_RANGE_UNSHARE tests 2020-06-17 00:07:38 +02:00
cpu-hotplug
cpufreq
dmabuf-heaps kselftests: dmabuf-heaps: Fix confused return value on expected error testing 2020-05-08 09:40:58 -06:00
drivers selftests: mlxsw: RED: Test offload of trapping on RED qevents 2020-08-03 18:06:46 -07:00
efivarfs
exec selftests/exec: add file type errno tests 2020-08-14 19:56:56 -07:00
filesystems selftests/binderfs: Fix harness API usage 2020-07-06 15:59:16 -06:00
firmware selftest/firmware: Add selftest timeout in settings 2020-07-25 12:05:20 +02:00
fpu selftests/fpu: Add an FPU selftest 2020-06-29 10:02:23 +02:00
ftrace selftests/ftrace: Support ":README" suffix for requires 2020-06-16 10:42:47 -06:00
futex
gpio
ia64
intel_pstate
ipc
ir
kcmp
kexec
kmod selftests: kmod: use variable NAME in kmod_test_0001() 2020-08-12 10:58:01 -07:00
kselftest Driver core changes for 5.9-rc1 2020-08-05 11:52:17 -07:00
kvm KVM: x86: do not attempt TSC synchronization on guest writes 2020-09-28 07:59:52 -04:00
lib lib: make a test module with set/clear bit 2020-06-04 19:06:25 -07:00
livepatch selftests/livepatch: adopt to newer sysctl error format 2020-07-15 08:54:35 +02:00
lkdtm lkdtm: Make arch-specific tests always available 2020-06-29 18:41:39 +02:00
locking
media_tests
membarrier
memfd
memory-hotplug
mincore selftests: add mincore() tests 2020-08-07 11:33:27 -07:00
mount
mqueue
net selftests: disable rp_filter for icmp_redirect.sh 2020-08-17 14:59:24 -07:00
netfilter selftests: netfilter: add command usage 2020-08-28 20:12:00 +02:00
nsfs tools/testing: Replace zero-length array with flexible-array 2020-05-08 09:42:14 -06:00
ntb NTB: ntb_test: Fix bug when counting remote files 2020-06-05 20:02:09 -04:00
openat2
pid_namespace selftests: Remove unneeded selftest API headers 2020-07-06 15:59:07 -06:00
pidfd linux-kselftest-5.9-rc1 2020-08-05 10:28:25 -07:00
powerpc selftests/powerpc: Update PROT_SAO test to skip ISA 3.1 2020-08-24 14:12:54 +10:00
prctl
proc
pstore pstore/platform: Use backend name for console registration 2020-05-30 10:34:02 -07:00
ptp testptp: add new options for perout phase and pulse width 2020-07-20 18:04:59 -07:00
ptrace
rcutorture Merge branches 'doc.2020.06.29a', 'fixes.2020.06.29a', 'kfree_rcu.2020.06.29a', 'rcu-tasks.2020.06.29a', 'scale.2020.06.29a', 'srcu.2020.06.29a' and 'torture.2020.06.29a' into HEAD 2020-06-29 12:03:15 -07:00
resctrl
rseq
rtc
safesetid
seccomp Cleanup, SECCOMP_FILTER support, message printing fixes, and other 2020-08-15 18:50:32 -07:00
sigaltstack selftests: sigaltstack: do not use ksft_exit_skip after ksft_set_plan 2020-07-06 15:57:15 -06:00
size
sparc64
splice selftests: splice: Check behavior of full and short splices 2020-08-07 10:50:11 -07:00
static_keys
sync selftests: sync_test: do not use ksft_exit_skip after ksft_set_plan 2020-07-06 15:57:28 -06:00
sysctl linux-kselftest-5.8-rc1 2020-06-09 10:03:12 -07:00
tc-testing tc-testing: Add tdc to kselftests 2020-07-20 18:29:37 -07:00
timens selftests/timens: handle a case when alarm clocks are not supported 2020-05-22 13:29:55 -06:00
timers
tmpfs
tpm2 selftests: tpm: upgrade TPM2 tests from Python 2 to Python 3 2020-07-06 14:20:35 -06:00
uevent selftests: Remove unneeded selftest API headers 2020-07-06 15:59:07 -06:00
user
vDSO selftests: vdso: Add a selftest for vDSO getcpu() 2020-05-22 11:05:07 -06:00
vm mm/migrate: add migrate-shared test for migrate_vma_*() 2020-08-12 10:57:56 -07:00
watchdog
wireguard wireguard: device: avoid circular netns references 2020-06-23 14:50:34 -07:00
x86 Merge branch 'gate-page-refcount' (patches from Dave Hansen) 2020-09-03 18:43:06 -07:00
zram
.gitignore
Makefile selftests: add mincore() tests 2020-08-07 11:33:27 -07:00
gen_kselftest_tar.sh selftests: introduce gen_tar Makefile target 2020-05-19 16:11:46 -06:00
kselftest.h linux-kselftest-5.9-rc1 2020-08-05 10:28:25 -07:00
kselftest_deps.sh
kselftest_harness.h selftests/harness: Limit step counter reporting 2020-07-17 13:56:35 -06:00
kselftest_install.sh
kselftest_module.h
lib.mk selftests: fix condition in run_tests 2020-07-07 14:11:31 -06:00