--- /dev/null
+From d0cdb3ce8834332d918fc9c8ff74f8a169ec9abe Mon Sep 17 00:00:00 2001
+From: Steve Muckle <smuckle@google.com>
+Date: Fri, 31 Aug 2018 15:42:17 -0700
+Subject: sched/fair: Fix vruntime_normalized() for remote non-migration wakeup
+
+From: Steve Muckle <smuckle@google.com>
+
+commit d0cdb3ce8834332d918fc9c8ff74f8a169ec9abe upstream.
+
+When a task which previously ran on a given CPU is remotely queued to
+wake up on that same CPU, there is a period where the task's state is
+TASK_WAKING and its vruntime is not normalized. This is not accounted
+for in vruntime_normalized() which will cause an error in the task's
+vruntime if it is switched from the fair class during this time.
+
+For example if it is boosted to RT priority via rt_mutex_setprio(),
+rq->min_vruntime will not be subtracted from the task's vruntime but
+it will be added again when the task returns to the fair class. The
+task's vruntime will have been erroneously doubled and the effective
+priority of the task will be reduced.
+
+Note this will also lead to inflation of all vruntimes since the doubled
+vruntime value will become the rq's min_vruntime when other tasks leave
+the rq. This leads to repeated doubling of the vruntime and priority
+penalty.
+
+Fix this by recognizing a WAKING task's vruntime as normalized only if
+sched_remote_wakeup is true. This indicates a migration, in which case
+the vruntime would have been normalized in migrate_task_rq_fair().
+
+Based on a similar patch from John Dias <joaodias@google.com>.
+
+Suggested-by: Peter Zijlstra <peterz@infradead.org>
+Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
+Signed-off-by: Steve Muckle <smuckle@google.com>
+Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Cc: Chris Redpath <Chris.Redpath@arm.com>
+Cc: John Dias <joaodias@google.com>
+Cc: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Miguel de Dios <migueldedios@google.com>
+Cc: Morten Rasmussen <Morten.Rasmussen@arm.com>
+Cc: Patrick Bellasi <Patrick.Bellasi@arm.com>
+Cc: Paul Turner <pjt@google.com>
+Cc: Quentin Perret <quentin.perret@arm.com>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Todd Kjos <tkjos@google.com>
+Cc: kernel-team@android.com
+Fixes: b5179ac70de8 ("sched/fair: Prepare to fix fairness problems on migration")
+Link: http://lkml.kernel.org/r/20180831224217.169476-1-smuckle@google.com
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/sched/fair.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/kernel/sched/fair.c
++++ b/kernel/sched/fair.c
+@@ -10019,7 +10019,8 @@ static inline bool vruntime_normalized(s
+ * - A task which has been woken up by try_to_wake_up() and
+ * waiting for actually being woken up by sched_ttwu_pending().
+ */
+- if (!se->sum_exec_runtime || p->state == TASK_WAKING)
++ if (!se->sum_exec_runtime ||
++ (p->state == TASK_WAKING && p->sched_remote_wakeup))
+ return true;
+
+ return false;
--- /dev/null
+From a3b92ee6fc171d7c9d9b6b829b7fef169210440c Mon Sep 17 00:00:00 2001
+From: Nadav Amit <namit@vmware.com>
+Date: Thu, 13 Sep 2018 13:18:52 -0700
+Subject: vmw_balloon: include asm/io.h
+
+From: Nadav Amit <namit@vmware.com>
+
+commit a3b92ee6fc171d7c9d9b6b829b7fef169210440c upstream.
+
+Fix a build error due to missing virt_to_phys()
+
+Reported-by: kbuild test robot <lkp@intel.com>
+Fixes: f0a1bf29d821b ("vmw_balloon: fix inflation with batching")
+Cc: stable@vger.kernel.org
+Cc: Xavier Deguillard <xdeguillard@vmware.com>
+Signed-off-by: Nadav Amit <namit@vmware.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/misc/vmw_balloon.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/misc/vmw_balloon.c
++++ b/drivers/misc/vmw_balloon.c
+@@ -45,6 +45,7 @@
+ #include <linux/seq_file.h>
+ #include <linux/vmw_vmci_defs.h>
+ #include <linux/vmw_vmci_api.h>
++#include <linux/io.h>
+ #include <asm/hypervisor.h>
+
+ MODULE_AUTHOR("VMware, Inc.");