On 05.04.19 08:20, cagnulein wrote:
> Hi Jan, thanks for your patch.
> I've just tried but I have the same issue: I start a kvm guest (windows 10 
> iot 
> 2019) and it works, but when I start a latency test the whole system hangs 
> completely.
> 
> Could i give you more info in some way?

OK... First question: Are you sure the patch was applied to the kernel
you tested? Just to double-check a common mistake.

Then, there are no debug messages on the uart at all when the system
locks up? What is your kernel config?

Next, please try with ipipe-4.4.y and this change:

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 2d480a64e172..0a1929dca183 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -8453,6 +8453,10 @@ static void vmx_handle_external_intr(struct kvm_vcpu 
*vcpu)
                unsigned long tmp;
 #endif
 
+#ifdef CONFIG_IPIPE
+               __clear_bit(IPIPE_STALL_FLAG,
+                           &ipipe_this_cpu_root_context()->status);
+#endif
                vector =  exit_intr_info & INTR_INFO_VECTOR_MASK;
                desc = (gate_desc *)vmx->host_idt_base + vector;
                entry = gate_offset(*desc);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index f895d4e0eb3e..e6863bd226e6 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -6639,6 +6639,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
            || need_resched() || signal_pending(current)) {
                vcpu->mode = OUTSIDE_GUEST_MODE;
                smp_wmb();
+               __ipipe_exit_vm();
                hard_cond_local_irq_enable();
                local_irq_enable();
                preempt_enable();

Just make sure to have CONFIG_DEBUG_STACKOVERFLOW disabled (I just
discovered a compilation issue on that kernel version).

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

Reply via email to