From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH/RFC] KVM: track pid for VCPU only on KVM_RUN ioctl Date: Tue, 19 Aug 2014 11:53:35 +0200 Message-ID: <53F31E9F.9020402@redhat.com> References: <1407249854-2953-1-git-send-email-borntraeger@de.ibm.com> <53E38193.8060206@redhat.com> <53F30CF3.5030606@de.ibm.com> <53F3187E.6080706@redhat.com> <53F31D35.4010901@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: KVM , Gleb Natapov , Rik van Riel , Raghavendra K T , Michael Mueller To: Christian Borntraeger Return-path: Received: from mx1.redhat.com ([209.132.183.28]:62925 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751624AbaHSJxp (ORCPT ); Tue, 19 Aug 2014 05:53:45 -0400 In-Reply-To: <53F31D35.4010901@de.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: Il 19/08/2014 11:47, Christian Borntraeger ha scritto: > On 19/08/14 11:27, Paolo Bonzini wrote: >> Il 19/08/2014 10:38, Christian Borntraeger ha scritto: >>>>> The patch may be okay, but I'm worried that it might be >>>>> hiding a bug in QEMU. >>> On s390 we call "KVM_S390_INITIAL_RESET" from several reset >>> functions, e.g. during CPU creation. This is the first hickup and >>> the pid now points to the main thread. >> >> Any reason to have a special ioctl instead of >> SET_REGS/SET_ONE_REG/... (via kvm_cpu_synchronize_state, which does >> the ioctls in the VCPU thread)? > > Historical reasons mostly. Older kernel miss several interfaces to > bring the CPU in a defined state (pending interrupts, cpu state, some > registers...) > > Good news is that we are working on getting rid of it: cpu states are > now available as far as I can see, only local interrupt flushing is > missing.This needs some more work on our side. So in some month we > probably will have a QEMU version that does not need to call this any > more. For todays QEMU this patch help though. Just by the sound of it, interrupt flushing seems dangerous to do in a way that could be concurrent with KVM_RUN... Paolo