The following upstream patch:
From 25fb213d873977290caf374234df496ad158ec1e Mon Sep 17 00:00:00 2001 From: Rik van Riel <email address hidden> Date: Mon, 21 Mar 2016 15:13:27 +0100 Subject: [PATCH 2/2] kvm, rt: change async pagefault code locking for PREEMPT_RT
The async pagefault wake code can run from the idle task in exception context, so everything here needs to be made non-preemptible.
Conversion to a simple wait queue and raw spinlock does the trick.
Signed-off-by: Rik van Riel <email address hidden> Signed-off-by: Paolo Bonzini <email address hidden>
Fixes the issue by not letting async pagefault code to be preempted due to waitqueues.
Backport for Trusty needs:
From 6b9cf536987c69825f91af9478109aa7bcbebc94 Mon Sep 17 00:00:00 2001 From: "Peter Zijlstra (Intel)" <email address hidden> Date: Fri, 19 Feb 2016 09:46:37 +0100 Subject: [PATCH 1/2] wait.[ch]: Introduce the simple waitqueue (swait) implementation
If adding simple waitqueue interface to Trusty is not acceptable as SRU I'll have to come up with something else. I'm sure that problem goes away when using these 2 patches.
The following upstream patch:
From 25fb213d8739772 90caf374234df49 6ad158ec1e Mon Sep 17 00:00:00 2001
From: Rik van Riel <email address hidden>
Date: Mon, 21 Mar 2016 15:13:27 +0100
Subject: [PATCH 2/2] kvm, rt: change async pagefault code locking for
PREEMPT_RT
The async pagefault wake code can run from the idle task in exception
context, so everything here needs to be made non-preemptible.
Conversion to a simple wait queue and raw spinlock does the trick.
Signed-off-by: Rik van Riel <email address hidden>
Signed-off-by: Paolo Bonzini <email address hidden>
Fixes the issue by not letting async pagefault code to be preempted due to waitqueues.
Backport for Trusty needs:
From 25fb213d8739772 90caf374234df49 6ad158ec1e Mon Sep 17 00:00:00 2001
From: Rik van Riel <email address hidden>
Date: Mon, 21 Mar 2016 15:13:27 +0100
Subject: [PATCH 2/2] kvm, rt: change async pagefault code locking for
PREEMPT_RT
From 6b9cf536987c698 25f91af9478109a a7bcbebc94 Mon Sep 17 00:00:00 2001
From: "Peter Zijlstra (Intel)" <email address hidden>
Date: Fri, 19 Feb 2016 09:46:37 +0100
Subject: [PATCH 1/2] wait.[ch]: Introduce the simple waitqueue (swait)
implementation
If adding simple waitqueue interface to Trusty is not acceptable as SRU I'll have to come up with something else. I'm sure that problem goes away when using these 2 patches.