x86: pvclock: Really remove the sched notifier for cross-cpu migrations
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 23 Apr 2015 11:20:18 +0000 (13:20 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 27 Apr 2015 13:49:30 +0000 (15:49 +0200)
commit73459e2a1ada09a68c02cc5b73f3116fc8194b3d
tree2d85beb72d2ee970926f65554099764e2cdc1f9c
parent5dca0d9147458be9b9363b8a484aa77d710b412a
x86: pvclock: Really remove the sched notifier for cross-cpu migrations

This reverts commits 0a4e6be9ca17c54817cf814b4b5aa60478c6df27
and 80f7fdb1c7f0f9266421f823964fd1962681f6ce.

The task migration notifier was originally introduced in order to support
the pvclock vsyscall with non-synchronized TSC, but KVM only supports it
with synchronized TSC.  Hence, on KVM the race condition is only needed
due to a bad implementation on the host side, and even then it's so rare
that it's mostly theoretical.

As far as KVM is concerned it's possible to fix the host, avoiding the
additional complexity in the vDSO and the (re)introduction of the task
migration notifier.

Xen, on the other hand, hasn't yet implemented vsyscall support at
all, so we do not care about its plans for non-synchronized TSC.

Reported-by: Peter Zijlstra <peterz@infradead.org>
Suggested-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/pvclock.h
arch/x86/kernel/pvclock.c
arch/x86/vdso/vclock_gettime.c
include/linux/sched.h
kernel/sched/core.c