From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 616C6C433E3 for ; Thu, 20 Aug 2020 11:34:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4165822B4D for ; Thu, 20 Aug 2020 11:34:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="P0ncrEOj" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730652AbgHTLcu (ORCPT ); Thu, 20 Aug 2020 07:32:50 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:60506 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730595AbgHTKFq (ORCPT ); Thu, 20 Aug 2020 06:05:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1597917944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jQk9HF5WyLsR7Qjp7OmzOvtHJ+K+Qv4nXKEE5TBkCHU=; b=P0ncrEOj8ays6jEwbw0sgcehEGjGm7eIb/32vYxzM66YtN4lNGBajOl5Urmi6KtVlp8Xlp CLvM490voNxw+tXgEjBsiRTZcnBjnUhe7z+eVoGT18tsx+2OmZH2oQrvvIgev/ETFhLkEp ND1nVCB3HwG7w+8pS9OSsbXNMNR3vBI= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-557-cGDsWAEVNY2VwpKo97NMHQ-1; Thu, 20 Aug 2020 06:05:43 -0400 X-MC-Unique: cGDsWAEVNY2VwpKo97NMHQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7F335807332; Thu, 20 Aug 2020 10:05:41 +0000 (UTC) Received: from starship (unknown [10.35.206.173]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3FE3F7E309; Thu, 20 Aug 2020 10:05:38 +0000 (UTC) Message-ID: <33166884f54569ab47cc17a4c3e01f9dbc96401a.camel@redhat.com> Subject: Re: [PATCH 8/8] KVM: nSVM: read only changed fields of the nested guest data area From: Maxim Levitsky To: Paolo Bonzini , kvm@vger.kernel.org Cc: Jim Mattson , Joerg Roedel , Borislav Petkov , Thomas Gleixner , "H. Peter Anvin" , Vitaly Kuznetsov , "open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , Ingo Molnar , Wanpeng Li , Sean Christopherson Date: Thu, 20 Aug 2020 13:05:37 +0300 In-Reply-To: <53afbfba-427e-72f5-73a6-faea7606e78e@redhat.com> References: <20200820091327.197807-1-mlevitsk@redhat.com> <20200820091327.197807-9-mlevitsk@redhat.com> <53afbfba-427e-72f5-73a6-faea7606e78e@redhat.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.36.3 (3.36.3-1.fc32) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2020-08-20 at 12:01 +0200, Paolo Bonzini wrote: > On 20/08/20 11:13, Maxim Levitsky wrote: > > + u32 clean = nested_vmcb->control.clean; > > + > > + if (svm->nested.vmcb_gpa != vmcb_gpa) { > > + svm->nested.vmcb_gpa = vmcb_gpa; > > + clean = 0; > > + } > > You probably should set clean to 0 also if the guest doesn't have the > VMCBCLEAN feature (so, you first need an extra patch to add the > VMCBCLEAN feature to cpufeatures.h). It's probably best to cache the > guest vmcbclean in struct vcpu_svm, too. Right, I totally forgot about this one. One thing why I made this patch optional, is that I can instead drop it, and not 'read back' the saved area on vmexit, this will probably be faster that what this optimization does. What do you think? Is this patch worth it? (I submitted it because I already implemented this and wanted to hear opinion on this). Best regards, Maxim Levitsky > > Paolo >