Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp691902pxx; Wed, 28 Oct 2020 14:39:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAdrqVmmWBi1M1Dmfrcyuec5ZU0BI90x055hjYiGBkCDVH55S2I/JT5GzDS+ZKNL0jZEEZ X-Received: by 2002:a17:906:ae09:: with SMTP id le9mr1014985ejb.425.1603921177127; Wed, 28 Oct 2020 14:39:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603921177; cv=none; d=google.com; s=arc-20160816; b=u9bjGFt3E4fpkpPcRq0LNrJ0OI2vnLU35/1KOtv6VyPnn+AoDwLryDzuRtJgJtz6hK BOYxhY+4JBFnAvAFu0c3c/4UqVy1/tawa+CoywzLAZdu8WPnzmedDm3mYo4zyD1PndEz v77z4rd3WX5I6u7icjMl478IQYwpxd6oBdz6dPst+jnLsQw9Jrzy8wWt77A9Boqn/4rY fqRdcoK8uU3KaLc3FhE9blWfBqxWaGJ1w90hJFzLF9Fl40KAEFbgU8pcQ+aqEEP3i68B bwFB811V7o+aHwXqzECZsPG8knId5INqjicekbdi1+MajHQ5bnU53AjQLJ+KEEICWg/Z x1fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=Hs/bUqLdrBRBrXeS/UDkoGqLCpGbjnZXg84RpQSyQ/o=; b=OSwhCFFStshK99fMTFiuFHUw4ZucDExkHL5RROJbMInUkPuk+emEMkVXnkLFhGUIa7 e3HMNEPH6jkDP74+A9OJL3ur3JjFE+CiX4tyqpuiLWcNv6DCD43O19aunt5pGf7u/2ca VUSG7+0E8PxngObeX0LAJGZDLye/r4+zZM366kxc98Bb3Dr104h3SklPgHa6VZ65Rp9Q tIzGEIYseR4HtNUQ1Gh8w2+NALrujhuJxviY5BKQefb+4k8U/oFdQeTWiVRnFLW8r8vw uyTZkzkT4SRKaohEIY3oGLjUuYuTMRAeansOZA5i+Gaq4aTNBYSzYQULt/taf1pxL1Ml ocvQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p60si583954edd.331.2020.10.28.14.39.15; Wed, 28 Oct 2020 14:39:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S374275AbgJ0VnE (ORCPT + 99 others); Tue, 27 Oct 2020 17:43:04 -0400 Received: from mga11.intel.com ([192.55.52.93]:17169 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S374267AbgJ0VnD (ORCPT ); Tue, 27 Oct 2020 17:43:03 -0400 IronPort-SDR: O3HV3Q4m08mtQ/3lKD0o5vGgLc8upGmq+uAR2u90izQNY7Bz/UhQ/CKxdcO+WUPtS2mHTfoPSh RG3Zw6SocnKQ== X-IronPort-AV: E=McAfee;i="6000,8403,9787"; a="164667232" X-IronPort-AV: E=Sophos;i="5.77,424,1596524400"; d="scan'208";a="164667232" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2020 14:43:02 -0700 IronPort-SDR: JSnMxvN6WM51AZ66M6eFz+jWKz4hNnEZDFYnWQm8VHbxebfIPk82XS/Oup3365CqfrPgYaAYYS 4gih7hI/Z9yg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,424,1596524400"; d="scan'208";a="334537307" Received: from sjchrist-coffee.jf.intel.com ([10.54.74.160]) by orsmga002.jf.intel.com with ESMTP; 27 Oct 2020 14:43:01 -0700 From: Sean Christopherson To: Paolo Bonzini Cc: Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Ben Gardon Subject: [PATCH 2/3] KVM: x86/mmu: Open code GFN "rounding" in TDP MMU Date: Tue, 27 Oct 2020 14:42:59 -0700 Message-Id: <20201027214300.1342-3-sean.j.christopherson@intel.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201027214300.1342-1-sean.j.christopherson@intel.com> References: <20201027214300.1342-1-sean.j.christopherson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Drop round_gfn_for_level() and directly use the recently introdocued KVM_HPAGE_GFN_MASK() macro. Hiding the masking in a "rounding" function adds an extra "what does this do?" lookup, whereas the concept and usage of PFN/GFN masks is common enough that it's easy to read the open coded version without thinking too hard. No functional change intended. Cc: Ben Gardon Signed-off-by: Sean Christopherson --- arch/x86/kvm/mmu/tdp_iter.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/arch/x86/kvm/mmu/tdp_iter.c b/arch/x86/kvm/mmu/tdp_iter.c index c6e914c96641..4175947dc401 100644 --- a/arch/x86/kvm/mmu/tdp_iter.c +++ b/arch/x86/kvm/mmu/tdp_iter.c @@ -15,11 +15,6 @@ static void tdp_iter_refresh_sptep(struct tdp_iter *iter) iter->old_spte = READ_ONCE(*iter->sptep); } -static gfn_t round_gfn_for_level(gfn_t gfn, int level) -{ - return gfn & KVM_HPAGE_GFN_MASK(level); -} - /* * Sets a TDP iterator to walk a pre-order traversal of the paging structure * rooted at root_pt, starting with the walk to translate goal_gfn. @@ -36,7 +31,7 @@ void tdp_iter_start(struct tdp_iter *iter, u64 *root_pt, int root_level, iter->level = root_level; iter->pt_path[iter->level - 1] = root_pt; - iter->gfn = round_gfn_for_level(iter->goal_gfn, iter->level); + iter->gfn = iter->goal_gfn & KVM_HPAGE_GFN_MASK(iter->level); tdp_iter_refresh_sptep(iter); iter->valid = true; @@ -82,7 +77,7 @@ static bool try_step_down(struct tdp_iter *iter) iter->level--; iter->pt_path[iter->level - 1] = child_pt; - iter->gfn = round_gfn_for_level(iter->goal_gfn, iter->level); + iter->gfn = iter->goal_gfn & KVM_HPAGE_GFN_MASK(iter->level); tdp_iter_refresh_sptep(iter); return true; @@ -124,7 +119,7 @@ static bool try_step_up(struct tdp_iter *iter) return false; iter->level++; - iter->gfn = round_gfn_for_level(iter->gfn, iter->level); + iter->gfn &= KVM_HPAGE_GFN_MASK(iter->level); tdp_iter_refresh_sptep(iter); return true; -- 2.28.0