Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753253AbdDKTbd (ORCPT ); Tue, 11 Apr 2017 15:31:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53506 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752086AbdDKTba (ORCPT ); Tue, 11 Apr 2017 15:31:30 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 76E545A60 Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=rkrcmar@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 76E545A60 Date: Tue, 11 Apr 2017 21:31:24 +0200 From: Radim =?utf-8?B?S3LEjW3DocWZ?= To: James Hogan Cc: Paolo Bonzini , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, Christoffer Dall , Andrew Jones , Marc Zyngier , Christian Borntraeger , Cornelia Huck , Paul Mackerras Subject: Re: [PATCH RFC 1/6] KVM: fix guest_mode optimization in kvm_make_all_cpus_request() Message-ID: <20170411193124.GA395@potion> References: <20170406202056.18379-1-rkrcmar@redhat.com> <20170406202056.18379-2-rkrcmar@redhat.com> <20170406210215.GV31606@jhogan-linux.le.imgtec.org> <20170411093726.GA31606@jhogan-linux.le.imgtec.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170411093726.GA31606@jhogan-linux.le.imgtec.org> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Tue, 11 Apr 2017 19:31:29 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 938 Lines: 21 2017-04-11 10:37+0100, James Hogan: > Hi Paolo, > > On Tue, Apr 11, 2017 at 01:25:04PM +0800, Paolo Bonzini wrote: >> On 07/04/2017 05:02, James Hogan wrote: >> > This presumably changes the behaviour on x86, from != OUTSIDE_GUEST_MODE >> > to == IN_GUEST_MODE. so: >> > - you'll no longer get IPIs if its in READING_SHADOW_PAGE_TABLES (which >> > MIPS also now uses when accessing mappings outside of guest mode and >> > depends upon to wait until the old mappings are no longer in use). >> >> This is wrong, the purpose of READING_SHADOW_PAGE_TABLES is "kvm_flush_remote_tlbs >> should send me an IPI, because I want to stop kvm_flush_remote_tlbs until I'm done >> reading the page tables". > > That sounds equivalent to what I meant for MIPS, i.e. > kvm_flush_remote_tlbs() does the waiting (not the thing accessing guest > mappings). I agree, thanks for noticing this. It would be a huge mistake to drop the synchronization.