linux/kernel/sched
Paolo Bonzini 4070ed7093 x86: pvclock: Really remove the sched notifier for cross-cpu migrations
commit 73459e2a1a upstream.

This reverts commits 0a4e6be9ca
and 80f7fdb1c7.

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>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2018-02-13 18:42:34 +00:00
..
auto_group.c sched/autogroup: Fix failure to set cpu.rt_runtime_us 2015-05-20 13:26:23 +01:00
auto_group.h Revert "sched/autogroup: Fix crash on reboot when autogroup is disabled" 2012-12-11 10:23:45 +01:00
clock.c kernel: use macros from compiler.h instead of __attribute__((...)) 2014-04-07 16:36:11 -07:00
completion.c sched: Move completion code from core.c to completion.c 2013-11-06 07:49:19 +01:00
core.c x86: pvclock: Really remove the sched notifier for cross-cpu migrations 2018-02-13 18:42:34 +00:00
cpuacct.c cgroup: remove css_parent() 2014-05-16 13:22:48 -04:00
cpuacct.h sched/cpuacct: Initialize root cpuacct earlier 2013-04-10 13:54:20 +02:00
cpudeadline.c sched/deadline: Replace NR_CPUS arrays 2014-05-22 10:21:28 +02:00
cpudeadline.h sched/deadline: Replace NR_CPUS arrays 2014-05-22 10:21:28 +02:00
cpupri.c Merge commit '3cf2f34' into sched/core, to fix build error 2014-06-12 13:46:37 +02:00
cpupri.h sched/cpupri: Replace NR_CPUS arrays 2014-05-22 10:21:29 +02:00
cputime.c sched/cputime: Fix invalid gtime in proc 2017-03-16 02:27:15 +00:00
deadline.c sched, dl: Convert switched_{from, to}_dl() / prio_changed_dl() to balance callbacks 2016-06-15 21:29:36 +01:00
debug.c sched: Fix possible divide by zero in avg_atom() calculation 2014-07-16 13:36:07 +02:00
fair.c sched/fair: Prevent throttling in early pick_next_task_fair() 2015-07-15 10:01:25 +01:00
features.h sched/topology: Remove FORCE_SD_OVERLAP 2018-01-01 20:52:07 +00:00
idle.c sched/idle: Optimize try-to-wake-up IPI 2014-06-05 12:09:53 +02:00
idle_task.c sched/fair: Push down check for high priority class task into idle_balance() 2014-03-11 12:05:37 +01:00
Makefile sched/idle: Move cpu/idle.c to sched/idle.c 2014-02-11 09:58:30 +01:00
proc.c sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting 2017-07-18 18:40:15 +01:00
rt.c sched, rt: Convert switched_{from, to}_rt() / prio_changed_rt() to balance callbacks 2016-06-15 21:29:35 +01:00
sched.h sched/cputime: Fix prev steal time accouting during CPU hotplug 2016-11-20 01:16:40 +00:00
stats.c kernel: audit/fix non-modular users of module_init in core code 2014-04-03 16:21:07 -07:00
stats.h sched: Micro-optimize by dropping unnecessary task_rq() calls 2013-09-25 13:51:06 +02:00
stop_task.c sched, nohz: Change rq->nr_running to always use wrappers 2014-05-22 11:16:33 +02:00
wait.c arch: Mass conversion of smp_mb__*() 2014-04-18 14:20:48 +02:00