From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752083AbdIVKAQ (ORCPT ); Fri, 22 Sep 2017 06:00:16 -0400 Received: from merlin.infradead.org ([205.233.59.134]:48828 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751959AbdIVKAO (ORCPT ); Fri, 22 Sep 2017 06:00:14 -0400 Date: Fri, 22 Sep 2017 12:00:05 +0200 From: Peter Zijlstra To: Marcelo Tosatti Cc: Konrad Rzeszutek Wilk , mingo@redhat.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Gleixner Subject: Re: [patch 3/3] x86: kvm guest side support for KVM_HC_RT_PRIO hypercall Message-ID: <20170922100004.ydmaxvgpc2zx7j25@hirez.programming.kicks-ass.net> References: <20170921113835.031375194@redhat.com> <20170921114039.466130276@redhat.com> <20170921133653.GO26248@char.us.oracle.com> <20170921140628.zliqlz7mrlqs5pzz@hirez.programming.kicks-ass.net> <20170922011039.GB20133@amt.cnet> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170922011039.GB20133@amt.cnet> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 21, 2017 at 10:10:41PM -0300, Marcelo Tosatti wrote: > When executing guest vcpu-0 with FIFO:1 priority, which is necessary > to > deal with the following situation: > > VCPU-0 (housekeeping VCPU) VCPU-1 (realtime VCPU) > > raw_spin_lock(A) > interrupted, schedule task T-1 raw_spin_lock(A) (spin) > > raw_spin_unlock(A) > > Certain operations must interrupt guest vcpu-0 (see trace below). Those traces don't make any sense. All they include is kvm_exit and you can't tell anything from that. > To fix this issue, only change guest vcpu-0 to FIFO priority > on spinlock critical sections (see patch). This doesn't make sense. So you're saying that if you run all VCPUs as FIFO things come apart? Why? And why can't they still come apart when the guest holds a spinlock?