From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: [PATCH RFC 0/2] assign each vcpu an owning thread and improve yielding Date: Wed, 03 Dec 2014 14:00:59 +0100 Message-ID: <547F098B.4030003@de.ibm.com> References: <1416931449-24585-1-git-send-email-dahi@linux.vnet.ibm.com> <20141203131215.695a3ab7@thinkpad-w530> <547F07EB.4080807@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, gleb@kernel.org, jfrei@linux.vnet.ibm.com, cornelia.huck@de.ibm.com To: Paolo Bonzini , David Hildenbrand Return-path: Received: from e06smtp11.uk.ibm.com ([195.75.94.107]:46354 "EHLO e06smtp11.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752269AbaLCNCM (ORCPT ); Wed, 3 Dec 2014 08:02:12 -0500 Received: from /spool/local by e06smtp11.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 3 Dec 2014 13:02:10 -0000 Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 12D9D2190056 for ; Wed, 3 Dec 2014 13:01:39 +0000 (GMT) Received: from d06av04.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id sB3D27AD59834570 for ; Wed, 3 Dec 2014 13:02:07 GMT Received: from d06av04.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av04.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id sB3D23ux027338 for ; Wed, 3 Dec 2014 06:02:06 -0700 In-Reply-To: <547F07EB.4080807@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Am 03.12.2014 um 13:54 schrieb Paolo Bonzini: > > > On 03/12/2014 13:12, David Hildenbrand wrote: >>> This series improves yielding on architectures that cannot disable preemption >>> while entering the guest and makes the creating thread of a VCPU the owning >>> thread and therefore the yield target when yielding to that VCPU. >>> >>> We should focus on the case creating thread == executing thread and therefore >>> remove the complicated handling of PIDs involving synchronize_rcus. >>> >>> This way we can speed up the creation of VCPUs and directly yield to the >>> executing vcpu threads. >>> >>> Please note that - in theory - all VCPU ioctls should be triggered from the same >>> VCPU thread, so changing threads is not a scenario we should optimize. >>> >>> >>> David Hildenbrand (2): >>> KVM: don't check for PF_VCPU when yielding >>> KVM: thread creating a vcpu is the owner of that vcpu >>> >>> include/linux/kvm_host.h | 1 + >>> virt/kvm/kvm_main.c | 22 ++-------------------- >>> 2 files changed, 3 insertions(+), 20 deletions(-) >>> >> >> Hi Paolo, >> >> would be good if you could have a look at these patches. > > Sure. > > I think patch 1 is fine and I am applying it. For patch 2, what about > moving the ->pid assignment in the KVM_RUN case of kvm_vcpu_ioctl? That was my initial patch for the rcu specific latencies (do you remember?) But IMHO patch 2 is actually the proper thing to do, no? Christian