From patchwork Wed Feb 18 13:08:59 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joerg Roedel X-Patchwork-Id: 7750 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n1ID9dZ5025598 for ; Wed, 18 Feb 2009 13:09:39 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752361AbZBRNJ3 (ORCPT ); Wed, 18 Feb 2009 08:09:29 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752296AbZBRNJ3 (ORCPT ); Wed, 18 Feb 2009 08:09:29 -0500 Received: from outbound-sin.frontbridge.com ([207.46.51.80]:24554 "EHLO SG2EHSOBE006.bigfish.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751585AbZBRNJ1 (ORCPT ); Wed, 18 Feb 2009 08:09:27 -0500 Received: from mail184-sin-R.bigfish.com (10.3.40.3) by SG2EHSOBE006.bigfish.com (10.3.40.26) with Microsoft SMTP Server id 8.1.340.0; Wed, 18 Feb 2009 13:09:25 +0000 Received: from mail184-sin (localhost.localdomain [127.0.0.1]) by mail184-sin-R.bigfish.com (Postfix) with ESMTP id 8379C16B0078; Wed, 18 Feb 2009 13:09:25 +0000 (UTC) X-BigFish: VPS3(zzzzzzz32i43j65h) X-Spam-TCS-SCL: 4:0 X-FB-SS: 5, Received: by mail184-sin (MessageSwitch) id 1234962563793063_1143; Wed, 18 Feb 2009 13:09:23 +0000 (UCT) Received: from svlb1extmailp02.amd.com (unknown [139.95.251.11]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail184-sin.bigfish.com (Postfix) with ESMTP id 527721B68060; Wed, 18 Feb 2009 13:09:23 +0000 (UTC) Received: from svlb1twp01.amd.com ([139.95.250.34]) by svlb1extmailp02.amd.com (Switch-3.2.7/Switch-3.2.7) with ESMTP id n1ID9CLN009232; Wed, 18 Feb 2009 05:09:15 -0800 X-WSS-ID: 0KF9J73-03-C6P-01 Received: from SSVLEXBH2.amd.com (ssvlexbh2.amd.com [139.95.53.183]) by svlb1twp01.amd.com (Tumbleweed MailGate 3.5.1) with ESMTP id 2EC5388493D; Wed, 18 Feb 2009 05:09:02 -0800 (PST) Received: from SSVLEXMB1.amd.com ([139.95.53.181]) by SSVLEXBH2.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 18 Feb 2009 05:09:06 -0800 Received: from SF30EXMB1.amd.com ([172.20.6.49]) by SSVLEXMB1.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 18 Feb 2009 05:09:06 -0800 Received: from seurexmb1.amd.com ([165.204.82.130]) by SF30EXMB1.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 18 Feb 2009 14:09:00 +0100 Received: from lemmy.amd.com ([165.204.85.93]) by seurexmb1.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 18 Feb 2009 14:09:00 +0100 Received: by lemmy.amd.com (Postfix, from userid 41430) id 24DE524613; Wed, 18 Feb 2009 14:09:00 +0100 (CET) From: Joerg Roedel To: Avi Kivity CC: Marcelo Tosatti , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Joerg Roedel Subject: [PATCH 2/3] kvm mmu: remove redundant check in mmu_set_spte Date: Wed, 18 Feb 2009 14:08:59 +0100 Message-ID: <1234962540-7131-3-git-send-email-joerg.roedel@amd.com> X-Mailer: git-send-email 1.5.6.4 In-Reply-To: <1234962540-7131-1-git-send-email-joerg.roedel@amd.com> References: <1234962540-7131-1-git-send-email-joerg.roedel@amd.com> X-OriginalArrivalTime: 18 Feb 2009 13:09:00.0210 (UTC) FILETIME=[10720920:01C991CA] MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org The following code flow is unnecessary: if (largepage) was_rmapped = is_large_pte(*shadow_pte); else was_rmapped = 1; The is_large_pte() function will always evaluate to one here because the (largepage && !is_large_pte) case is already handled in the first if-clause. So we can remove this check and set was_rmapped to one always here. Signed-off-by: Joerg Roedel --- arch/x86/kvm/mmu.c | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index ef060ec..c90b4b2 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -1791,12 +1791,8 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *shadow_pte, pgprintk("hfn old %lx new %lx\n", spte_to_pfn(*shadow_pte), pfn); rmap_remove(vcpu->kvm, shadow_pte); - } else { - if (largepage) - was_rmapped = is_large_pte(*shadow_pte); - else - was_rmapped = 1; - } + } else + was_rmapped = 1; } if (set_spte(vcpu, shadow_pte, pte_access, user_fault, write_fault, dirty, largepage, global, gfn, pfn, speculative, true)) {