From nobody Sat Apr 18 07:35:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5ADB5C433EF for ; Fri, 15 Jul 2022 22:42:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229975AbiGOWmv (ORCPT ); Fri, 15 Jul 2022 18:42:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232077AbiGOWme (ORCPT ); Fri, 15 Jul 2022 18:42:34 -0400 Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com [IPv6:2607:f8b0:4864:20::1049]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 640873AE69 for ; Fri, 15 Jul 2022 15:42:34 -0700 (PDT) Received: by mail-pj1-x1049.google.com with SMTP id q8-20020a17090a304800b001ef82a71a9eso3596738pjl.3 for ; Fri, 15 Jul 2022 15:42:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=2EOUrVvpusq8aFHkobTg35RLb5YlrRiK5e+AovV9uRY=; b=DBMG2tVVToR634Cbm4cNiOI6RU44rkVrgJxbcFv0PwLbVI1V3+1tGvicUjzL5Zi/eS 2nXnHlOlqe0d89jIh/5QfTzmrqtZvNGk27YJ/rAalpWjPbPrdO2ZsIUqeLnSJ+A5wMHw Cw5bBWdEhgL0EiDyUjdi1BDU8IsaYuHRLM5PUn0KCuibnE822twZo7rkattUNb2f1C6P 1EDOT2L31E98uxBAOZOWYhM2i5KHz1uzHI/wrmf54s98ypmO01s8N1uyczz3r+qlivgk yeOdbay6Fcv38i7DVmsB01j1KPF3OvwE6KVy/4NHWdfjs0kScJI+DMl0wOTR+7rH6xYe xeTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=2EOUrVvpusq8aFHkobTg35RLb5YlrRiK5e+AovV9uRY=; b=G7LcVAPLSbWXBU68KzbM7k0G3LNLcFftRiq5Aujbp1zgF9DIPmn7x4ojV24T/wVzAS Q6rWGvdOlix24BA0dMRQN9cQ2A/IIOdH0J/Y9B+uO7XWGd+eBC7rPLmm8/iJFnUPb/px NwHAa4MODL80t08hh0TicSsD2NAeorE4wuapdnppuDCfphOiMotnCd/iU+fSr5tL+InH s/Qt49bF2SYd2qwk68LUVRi0yDdbsOEhMZR8UkMt6Gi038OnzJxC8OkdoQp8PujJJ9L8 fq767gXNOFCcxQt/zuzF+vLzk7EgDM/AsYsLuiGf8VS5KqrC//RceZ12PagocAaskZ4J iuxw== X-Gm-Message-State: AJIora/cyZJIYiX/FAaep76HH2n/vppTNz5qDN2ANl9MXB6YwnQYl6SI MAxKcQaBLq45BTw6DfwmoATt/WNlDCM= X-Google-Smtp-Source: AGRyM1ul1DgpT0D5GgbHAeklVzBIohIF0xi85u1+B9OZlhGe27Pg6wzpDLguO/kSiMYVx7aaNQ5sM8aYzd0= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:90a:249:b0:1e0:a8a3:3c6c with SMTP id t9-20020a17090a024900b001e0a8a33c6cmr912649pje.0.1657924953367; Fri, 15 Jul 2022 15:42:33 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 15 Jul 2022 22:42:20 +0000 In-Reply-To: <20220715224226.3749507-1-seanjc@google.com> Message-Id: <20220715224226.3749507-2-seanjc@google.com> Mime-Version: 1.0 References: <20220715224226.3749507-1-seanjc@google.com> X-Mailer: git-send-email 2.37.0.170.g444d1eabd0-goog Subject: [PATCH v2 1/7] KVM: x86/mmu: Return a u64 (the old SPTE) from mmu_spte_clear_track_bits() From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Return a u64, not an int, from mmu_spte_clear_track_bits(). The return value is the old SPTE value, which is very much a 64-bit value. The sole caller that consumes the return value, drop_spte(), already uses a u64. The only reason that truncating the SPTE value is not problematic is because drop_spte() only queries the shadow-present bit, which is in the lower 32 bits. Signed-off-by: Sean Christopherson --- arch/x86/kvm/mmu/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 52664c3caaab..b2379ede2ed6 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -529,7 +529,7 @@ static bool mmu_spte_update(u64 *sptep, u64 new_spte) * state bits, it is used to clear the last level sptep. * Returns the old PTE. */ -static int mmu_spte_clear_track_bits(struct kvm *kvm, u64 *sptep) +static u64 mmu_spte_clear_track_bits(struct kvm *kvm, u64 *sptep) { kvm_pfn_t pfn; u64 old_spte =3D *sptep; --=20 2.37.0.170.g444d1eabd0-goog From nobody Sat Apr 18 07:35:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48215CCA47F for ; Fri, 15 Jul 2022 22:43:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231695AbiGOWnB (ORCPT ); Fri, 15 Jul 2022 18:43:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232445AbiGOWmg (ORCPT ); Fri, 15 Jul 2022 18:42:36 -0400 Received: from mail-pg1-x54a.google.com (mail-pg1-x54a.google.com [IPv6:2607:f8b0:4864:20::54a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 98A17558E3 for ; Fri, 15 Jul 2022 15:42:35 -0700 (PDT) Received: by mail-pg1-x54a.google.com with SMTP id u64-20020a638543000000b00412b09eae15so3360799pgd.15 for ; Fri, 15 Jul 2022 15:42:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=eh6gEobhpZaKYXrjfikJhjM6emGdwYRyv0yMcaabdXk=; b=VVl6sBHcJOK0bxT4HPjPt9Fzvlg3wie0LNiV4G0kvkIPZOTaIETRDVeyAe2IPDX0Vd BnahEnI6fMgarfoLuCFCSoCX/iFnmJUIXNf+AbpUmfwscwSlxjeLwqGPslVZS4ynCAsq Yq8LiqHE9vM56bv3w6uDUpjwkp6gnAu9P391AEBQlBFKUG/FfQaNyQUCf7eOYklFM8XR QFW/It/Uz8OIAo1qo73Q9TZDBxhoYGFIYWJRc8tUAAbOMCcSK2n2sOeCx86AvB0U1Oc4 cpd+o58XOS1NctN04kjcVrJa9Vm2TL14TBLK4/4Ywj60nHfDieJeZxW3Ij21Ri/Z3zaT xknQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=eh6gEobhpZaKYXrjfikJhjM6emGdwYRyv0yMcaabdXk=; b=aB7V6EzGZ78VqJzx0Jrzle3ckHbJVCiwpg02psmiH4aubKIjodn1eo1GmMGqOAFpsl pL8oDhKIjZeWb8oIwbLfGMNq9R7dACzpWXQgrBqMt3P9zHA1eHfI1+JhoMSksNBec5GX 8Qu8nnZbhU7cW0FB4qpS7u0LH67Ju1HmOkzn05MrwX64dOLSqN25TJhVsua/PRpC4YUG C8ymOvQWiF5Vwz4rejeLYVBuHcP74cVqQAfubRnx/IICg/Cr5A1ZFVWVEEJVXrLS7qhG L54Mdra72C7ie1UzyZVpArlnNa3QIUKr3GUA60Y3V9WVSvHpyzyjNR5qCpUOyn0A85Ur 0tfw== X-Gm-Message-State: AJIora8IPsbfsTCIayPta/X5Vf1ls0kvPBdVbpfPUN09R42KS/arXkdN 4RpL2R+/3ZCu5rht05nAVJShgpsNzX4= X-Google-Smtp-Source: AGRyM1vPilzsnOrSR/Ai7hTylYkvyZsOTRfZHuyNqUSHCZBND2m33KaqZyWmiKiB/PkhSYotZnjls9A1szk= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6a00:1385:b0:52b:bb4:e012 with SMTP id t5-20020a056a00138500b0052b0bb4e012mr15751881pfg.8.1657924955143; Fri, 15 Jul 2022 15:42:35 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 15 Jul 2022 22:42:21 +0000 In-Reply-To: <20220715224226.3749507-1-seanjc@google.com> Message-Id: <20220715224226.3749507-3-seanjc@google.com> Mime-Version: 1.0 References: <20220715224226.3749507-1-seanjc@google.com> X-Mailer: git-send-email 2.37.0.170.g444d1eabd0-goog Subject: [PATCH v2 2/7] KVM: x86/mmu: Directly "destroy" PTE list when recycling rmaps From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use pte_list_destroy() directly when recycling rmaps instead of bouncing through kvm_unmap_rmapp() and kvm_zap_rmapp(). Calling kvm_unmap_rmapp() is unnecessary and odd as it requires passing dummy parameters; passing NULL for @slot when __rmap_add() already has a valid slot is especially weird and confusing. No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/mmu/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index b2379ede2ed6..92fcffec0227 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -1596,7 +1596,7 @@ static void __rmap_add(struct kvm *kvm, rmap_count =3D pte_list_add(cache, spte, rmap_head); =20 if (rmap_count > RMAP_RECYCLE_THRESHOLD) { - kvm_unmap_rmapp(kvm, rmap_head, NULL, gfn, sp->role.level, __pte(0)); + pte_list_destroy(kvm, rmap_head); kvm_flush_remote_tlbs_with_address( kvm, sp->gfn, KVM_PAGES_PER_HPAGE(sp->role.level)); } --=20 2.37.0.170.g444d1eabd0-goog From nobody Sat Apr 18 07:35:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 508DEC433EF for ; Fri, 15 Jul 2022 22:43:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231899AbiGOWnE (ORCPT ); Fri, 15 Jul 2022 18:43:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231422AbiGOWmi (ORCPT ); Fri, 15 Jul 2022 18:42:38 -0400 Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com [IPv6:2607:f8b0:4864:20::1049]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F48E6F7E3 for ; Fri, 15 Jul 2022 15:42:37 -0700 (PDT) Received: by mail-pj1-x1049.google.com with SMTP id k7-20020a17090a62c700b001ef9c16ba10so5891856pjs.1 for ; Fri, 15 Jul 2022 15:42:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=XlISLMq7DUhoDRb1LI7vRx3HrCaF8EsMmRgAz27TFSk=; b=Y6WBWa+D1e9x3Po+uA3SjZzShUCRyhFJ4G5xAIWeK4BQd3vH2JZtrIP2GrytmD66Wq hEmyy/xGN/RogqpQVYsWFq/YsNjYpUSItqZVrJ5g9K4BI8k+VfFrm8GsplkoprbUbqBq OfNJ3INyZuLqF/3XrVlcYk1Wzn7E98dErU17JePGEU9FVIuxIO5vNvh800rGSjcENqKj Vswj998YQSbPPEc2Kup0XFgY2stoTUq49kosg6Dhhoee6FinWbc2m+E8P+NXN/rRU9Fi 1RV9LAnhCvrPD+nXHsKIfXAESsOaMM0xfP9LkHb3pxWkEATJz+S6+neLCZdZzJaY1wmU vedw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=XlISLMq7DUhoDRb1LI7vRx3HrCaF8EsMmRgAz27TFSk=; b=sG5VEy4LLKPXsMcIAmYv6YSI5Ka5pvgBJezl7vbR5g0MNoNNYl5a4W84BKj4QAhIpi ABEvw/BEsBWsDqmBJzoR3avWO5Am22pHxV49QDuqJRr2k8skeFp9c5PZVydRA9RjvUn+ 5X4bN+ddDCc80fr4JI2H2fMfPTyaI0HEAycPjbd6rQuGr8qeBBNsIPjcQzY3Xn8H44fy taPTuYHEeFZbC6xxKJXqEnuKJh13Xela9a0gxLrijk4XyyfYHY5n6ntkrPlp6pr3ypKm SpKRAL/3ky3bZLW6ilD4ly9J1w+pNMSA/GI+hT9OJial95qzpo16RX0+BNhdfpFeKPgD qhZg== X-Gm-Message-State: AJIora8oRgK1zYvDI7BL/eiQFib5W8NZ/0Bq1e6Gwt94NbmyU/erMprU eMnypMv35LXI072xHzBJKJIMStd5+jM= X-Google-Smtp-Source: AGRyM1t6gLb6QV5n8NSWm5gkyOjFMc42imJYvjF0symnXsuCoQ210KaqhchuM2V2TZrD4dfroq8gaYfDkr8= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:aa7:9ae3:0:b0:528:d881:9ff with SMTP id y3-20020aa79ae3000000b00528d88109ffmr16408512pfp.66.1657924956812; Fri, 15 Jul 2022 15:42:36 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 15 Jul 2022 22:42:22 +0000 In-Reply-To: <20220715224226.3749507-1-seanjc@google.com> Message-Id: <20220715224226.3749507-4-seanjc@google.com> Mime-Version: 1.0 References: <20220715224226.3749507-1-seanjc@google.com> X-Mailer: git-send-email 2.37.0.170.g444d1eabd0-goog Subject: [PATCH v2 3/7] KVM: x86/mmu: Drop the "p is for pointer" from rmap helpers From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Drop the trailing "p" from rmap helpers, i.e. rename functions to simply be kvm__rmap(). Declaring that a function takes a pointer is completely unnecessary and goes against kernel style. No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/mmu/mmu.c | 43 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 92fcffec0227..fec999d2fc13 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -403,7 +403,7 @@ static u64 __update_clear_spte_slow(u64 *sptep, u64 spt= e) * The idea using the light way get the spte on x86_32 guest is from * gup_get_pte (mm/gup.c). * - * An spte tlb flush may be pending, because kvm_set_pte_rmapp + * An spte tlb flush may be pending, because kvm_set_pte_rmap * coalesces them and we are running out of the MMU lock. Therefore * we need to protect against in-progress updates of the spte. * @@ -1383,22 +1383,22 @@ static bool kvm_vcpu_write_protect_gfn(struct kvm_v= cpu *vcpu, u64 gfn) return kvm_mmu_slot_gfn_write_protect(vcpu->kvm, slot, gfn, PG_LEVEL_4K); } =20 -static bool kvm_zap_rmapp(struct kvm *kvm, struct kvm_rmap_head *rmap_head, - const struct kvm_memory_slot *slot) +static bool kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head, + const struct kvm_memory_slot *slot) { return pte_list_destroy(kvm, rmap_head); } =20 -static bool kvm_unmap_rmapp(struct kvm *kvm, struct kvm_rmap_head *rmap_he= ad, - struct kvm_memory_slot *slot, gfn_t gfn, int level, - pte_t unused) +static bool kvm_unmap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_hea= d, + struct kvm_memory_slot *slot, gfn_t gfn, int level, + pte_t unused) { - return kvm_zap_rmapp(kvm, rmap_head, slot); + return kvm_zap_rmap(kvm, rmap_head, slot); } =20 -static bool kvm_set_pte_rmapp(struct kvm *kvm, struct kvm_rmap_head *rmap_= head, - struct kvm_memory_slot *slot, gfn_t gfn, int level, - pte_t pte) +static bool kvm_set_pte_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_h= ead, + struct kvm_memory_slot *slot, gfn_t gfn, int level, + pte_t pte) { u64 *sptep; struct rmap_iterator iter; @@ -1529,7 +1529,7 @@ bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_= gfn_range *range) bool flush =3D false; =20 if (kvm_memslots_have_rmaps(kvm)) - flush =3D kvm_handle_gfn_range(kvm, range, kvm_unmap_rmapp); + flush =3D kvm_handle_gfn_range(kvm, range, kvm_unmap_rmap); =20 if (is_tdp_mmu_enabled(kvm)) flush =3D kvm_tdp_mmu_unmap_gfn_range(kvm, range, flush); @@ -1542,7 +1542,7 @@ bool kvm_set_spte_gfn(struct kvm *kvm, struct kvm_gfn= _range *range) bool flush =3D false; =20 if (kvm_memslots_have_rmaps(kvm)) - flush =3D kvm_handle_gfn_range(kvm, range, kvm_set_pte_rmapp); + flush =3D kvm_handle_gfn_range(kvm, range, kvm_set_pte_rmap); =20 if (is_tdp_mmu_enabled(kvm)) flush |=3D kvm_tdp_mmu_set_spte_gfn(kvm, range); @@ -1550,9 +1550,9 @@ bool kvm_set_spte_gfn(struct kvm *kvm, struct kvm_gfn= _range *range) return flush; } =20 -static bool kvm_age_rmapp(struct kvm *kvm, struct kvm_rmap_head *rmap_head, - struct kvm_memory_slot *slot, gfn_t gfn, int level, - pte_t unused) +static bool kvm_age_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head, + struct kvm_memory_slot *slot, gfn_t gfn, int level, + pte_t unused) { u64 *sptep; struct rmap_iterator iter; @@ -1564,9 +1564,9 @@ static bool kvm_age_rmapp(struct kvm *kvm, struct kvm= _rmap_head *rmap_head, return young; } =20 -static bool kvm_test_age_rmapp(struct kvm *kvm, struct kvm_rmap_head *rmap= _head, - struct kvm_memory_slot *slot, gfn_t gfn, - int level, pte_t unused) +static bool kvm_test_age_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_= head, + struct kvm_memory_slot *slot, gfn_t gfn, + int level, pte_t unused) { u64 *sptep; struct rmap_iterator iter; @@ -1615,7 +1615,7 @@ bool kvm_age_gfn(struct kvm *kvm, struct kvm_gfn_rang= e *range) bool young =3D false; =20 if (kvm_memslots_have_rmaps(kvm)) - young =3D kvm_handle_gfn_range(kvm, range, kvm_age_rmapp); + young =3D kvm_handle_gfn_range(kvm, range, kvm_age_rmap); =20 if (is_tdp_mmu_enabled(kvm)) young |=3D kvm_tdp_mmu_age_gfn_range(kvm, range); @@ -1628,7 +1628,7 @@ bool kvm_test_age_gfn(struct kvm *kvm, struct kvm_gfn= _range *range) bool young =3D false; =20 if (kvm_memslots_have_rmaps(kvm)) - young =3D kvm_handle_gfn_range(kvm, range, kvm_test_age_rmapp); + young =3D kvm_handle_gfn_range(kvm, range, kvm_test_age_rmap); =20 if (is_tdp_mmu_enabled(kvm)) young |=3D kvm_tdp_mmu_test_age_gfn(kvm, range); @@ -6004,8 +6004,7 @@ static bool __kvm_zap_rmaps(struct kvm *kvm, gfn_t gf= n_start, gfn_t gfn_end) if (WARN_ON_ONCE(start >=3D end)) continue; =20 - flush =3D slot_handle_level_range(kvm, memslot, kvm_zap_rmapp, - + flush =3D slot_handle_level_range(kvm, memslot, kvm_zap_rmap, PG_LEVEL_4K, KVM_MAX_HUGEPAGE_LEVEL, start, end - 1, true, flush); } --=20 2.37.0.170.g444d1eabd0-goog From nobody Sat Apr 18 07:35:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA430C433EF for ; Fri, 15 Jul 2022 22:43:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230470AbiGOWnK (ORCPT ); Fri, 15 Jul 2022 18:43:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44678 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231934AbiGOWmj (ORCPT ); Fri, 15 Jul 2022 18:42:39 -0400 Received: from mail-pg1-x54a.google.com (mail-pg1-x54a.google.com [IPv6:2607:f8b0:4864:20::54a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 154EB88F14 for ; Fri, 15 Jul 2022 15:42:39 -0700 (PDT) Received: by mail-pg1-x54a.google.com with SMTP id g67-20020a636b46000000b0040e64eee874so3343082pgc.4 for ; Fri, 15 Jul 2022 15:42:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=YUNiTgLPlTD8QV7YwB9Lsk9uX244WLJ/qPBCKSza37Q=; b=IEIzxaU10/GgaiEDgvEaEQUdhsFDRh726RllkQBTvaIzeUYiYjOq9O/4cKSO3yn1av fjwH3yERNl2ZmXcYEB3qpBbLg/4GYMzC+lEQ8X4D0FxzjlRyExjLfSrJh18dIHgs9KQ9 +IZCQyxjPSJWnHpauWOjHmGeLLQYHXmmm2hnJfEP9L0J3qyq1i92wVYnfgaYwt1PODDB dtONou66ojHYah8BSF1Dk+tphN285ve7P7oKJEIpR0mBL4SkFy7ibQhNIeMAuVJz2v+g 0USILFSaWh46CBozYPJQz+HteVHmIU5KXBf/foany0yNV2QvMdDpW3nEySBhFbDCpqfE eWMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=YUNiTgLPlTD8QV7YwB9Lsk9uX244WLJ/qPBCKSza37Q=; b=zPRLMXKHI12oqVaE+LUPJOrHwic521O2nTkckr6kVBl9w6e7EjirPHd7d7IhBZEafU feOkdEVFEDE4WlZarHLvi/FzFs+5g5XLvZ1JBzUH3orfcW3MH/higOjDgeHQk6THK7nN 5nVSXIRkQMhZ+ijIW8ba0H4Q8Izjprb8JjoYEEd/QGKPG3PwJoKRzYHE1fKw/z4Iaqi2 u1bLo+8O89CUi6uUNdr+6bIJ2mOChNst0+LBHbc6zkZ8FNbJ5arJRcMFq1CvzXAlww/y iSknXT8JIagiCRxZ3H8aSjIQHhMUiJLm1wFAP/9yBXZLJLEkrlZv50IcZlWkl3yi1OMV 12kQ== X-Gm-Message-State: AJIora98psuDBaXZz8i1Izm52a4syeCYe/HrkYyQgzhvSsGU+IxrSn24 ZX6M5SXb6is/AQTCNd1yYIP8KG5PRMk= X-Google-Smtp-Source: AGRyM1sXZxYSvsaFGZilN07gFLC+EzEuB3h5XG2oq27eh58j9hdmAtoxmikPALQXg9NtxhdEJXKodqTUEHo= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:902:b785:b0:16b:d978:3899 with SMTP id e5-20020a170902b78500b0016bd9783899mr15693788pls.109.1657924958641; Fri, 15 Jul 2022 15:42:38 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 15 Jul 2022 22:42:23 +0000 In-Reply-To: <20220715224226.3749507-1-seanjc@google.com> Message-Id: <20220715224226.3749507-5-seanjc@google.com> Mime-Version: 1.0 References: <20220715224226.3749507-1-seanjc@google.com> X-Mailer: git-send-email 2.37.0.170.g444d1eabd0-goog Subject: [PATCH v2 4/7] KVM: x86/mmu: Rename __kvm_zap_rmaps() to align with other nomenclature From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rename __kvm_zap_rmaps() to kvm_rmap_zap_gfn_range() to avoid future confusion with a soon-to-be-introduced __kvm_zap_rmap(). Using a plural "rmaps" is somewhat ambiguous without additional context, as it's not obvious whether it's referring to multiple rmap lists, versus multiple rmap entries within a single list. Use kvm_rmap_zap_gfn_range() to align with the pattern established by kvm_rmap_zap_collapsible_sptes(), without losing the information that it zaps only rmap-based MMUs, i.e. don't rename it to __kvm_zap_gfn_range(). No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/mmu/mmu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index fec999d2fc13..61c32d8d1f6d 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -5982,7 +5982,7 @@ void kvm_mmu_uninit_vm(struct kvm *kvm) mmu_free_vm_memory_caches(kvm); } =20 -static bool __kvm_zap_rmaps(struct kvm *kvm, gfn_t gfn_start, gfn_t gfn_en= d) +static bool kvm_rmap_zap_gfn_range(struct kvm *kvm, gfn_t gfn_start, gfn_t= gfn_end) { const struct kvm_memory_slot *memslot; struct kvm_memslots *slots; @@ -6029,7 +6029,7 @@ void kvm_zap_gfn_range(struct kvm *kvm, gfn_t gfn_sta= rt, gfn_t gfn_end) =20 kvm_inc_notifier_count(kvm, gfn_start, gfn_end); =20 - flush =3D __kvm_zap_rmaps(kvm, gfn_start, gfn_end); + flush =3D kvm_rmap_zap_gfn_range(kvm, gfn_start, gfn_end); =20 if (is_tdp_mmu_enabled(kvm)) { for (i =3D 0; i < KVM_ADDRESS_SPACE_NUM; i++) --=20 2.37.0.170.g444d1eabd0-goog From nobody Sat Apr 18 07:35:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FDFEC433EF for ; Fri, 15 Jul 2022 22:43:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231208AbiGOWnQ (ORCPT ); Fri, 15 Jul 2022 18:43:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44846 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232533AbiGOWmp (ORCPT ); Fri, 15 Jul 2022 18:42:45 -0400 Received: from mail-pg1-x549.google.com (mail-pg1-x549.google.com [IPv6:2607:f8b0:4864:20::549]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A9F58BA98 for ; Fri, 15 Jul 2022 15:42:41 -0700 (PDT) Received: by mail-pg1-x549.google.com with SMTP id p35-20020a631e63000000b0041992866de0so3335951pgm.19 for ; Fri, 15 Jul 2022 15:42:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=nKZwU46tdd0WaDHu+Sg6LY1gpa1IBSzjRW6H5zeHce8=; b=bSXNdd3WOjzzjC176GBV0psJgli8IOnDsDSF2Ez847DKaoyUXd85e8lrBf4zqRtV6z 67psHhfOruNhY60EkxhLGSh7tX/CNDye7qz+c3c9n742Jb4XS+KiT+yZv2SjvASRtBm7 iGBoLHF+lJuT8pVwcfLh1VVAkQhGIvC2hOJTXFaSGLLpOJxvEHzCWb11apE7DnEj2hrc fODXS9LcfjYHUM/m6+dDAfueMRO2RA7VJSBQPmIrRHJAwkACw7gONdYFVdry9N82OkSX q+oBObB0R5w9WX4WsAGFkr8cSFa2jQTK2g+EbwP5dGo02RATkZK6eOXrHB2/SkmAclkz gPSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=nKZwU46tdd0WaDHu+Sg6LY1gpa1IBSzjRW6H5zeHce8=; b=Xp4Oo8GqtJtEgC4D9a1gl4lk5MRXHrNHsKtPO6oW2u3CW1EIYUVMAdH0scafu4iICa R+v8Jcj62HbSl7g20eBok6kSPxUNJRowBwHO32APR1HLcdqK3WoRMQ6pLDTNvf24F0yg xD8ytTZmThSSTe6Nkf7wicZf6LAD3pp2RbIfCs84CeIZGkcBJd2gaLYNdN04LkkMafE/ TGI6SAiRdgXJJIeFxbc/fsChb39UwBQtzPolRQvJTFMhq7lkai8AY7ZlVOT2GGuAqN7o Tn7B5YpIhsnpXA5spCNnqD7a+HN0iVADZprn7Fv7OTgVKHnrfTnyjGzOGCpImQJtMsWu e3bQ== X-Gm-Message-State: AJIora9PczSH1UYrrth5B+5ko8kLxDICY8U2EK+CgpBxQAfnzxyHbOsB hknInBXmdGA2mDXDCJX0Q88qwjUgG/U= X-Google-Smtp-Source: AGRyM1ujBRNucPizZy2wMsMB7RSXuyXOVOMKIo4vbG8VnH3PpfY+Ru5iTJWa89ooGQKngLh4mbMUKXpoB90= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:90a:b00b:b0:1f1:6023:dacd with SMTP id x11-20020a17090ab00b00b001f16023dacdmr2731540pjq.184.1657924960839; Fri, 15 Jul 2022 15:42:40 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 15 Jul 2022 22:42:24 +0000 In-Reply-To: <20220715224226.3749507-1-seanjc@google.com> Message-Id: <20220715224226.3749507-6-seanjc@google.com> Mime-Version: 1.0 References: <20220715224226.3749507-1-seanjc@google.com> X-Mailer: git-send-email 2.37.0.170.g444d1eabd0-goog Subject: [PATCH v2 5/7] KVM: x86/mmu: Rename rmap zap helpers to eliminate "unmap" wrapper From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rename kvm_unmap_rmap() and kvm_zap_rmap() to kvm_zap_rmap() and __kvm_zap_rmap() respectively to show that what was the "unmap" helper is just a wrapper for the "zap" helper, i.e. that they do the exact same thing, one just exists to deal with its caller passing in more params. No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/mmu/mmu.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 61c32d8d1f6d..00be88e0a5f7 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -1383,17 +1383,17 @@ static bool kvm_vcpu_write_protect_gfn(struct kvm_v= cpu *vcpu, u64 gfn) return kvm_mmu_slot_gfn_write_protect(vcpu->kvm, slot, gfn, PG_LEVEL_4K); } =20 -static bool kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head, - const struct kvm_memory_slot *slot) +static bool __kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_hea= d, + const struct kvm_memory_slot *slot) { return pte_list_destroy(kvm, rmap_head); } =20 -static bool kvm_unmap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_hea= d, - struct kvm_memory_slot *slot, gfn_t gfn, int level, - pte_t unused) +static bool kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head, + struct kvm_memory_slot *slot, gfn_t gfn, int level, + pte_t unused) { - return kvm_zap_rmap(kvm, rmap_head, slot); + return __kvm_zap_rmap(kvm, rmap_head, slot); } =20 static bool kvm_set_pte_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_h= ead, @@ -1529,7 +1529,7 @@ bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_= gfn_range *range) bool flush =3D false; =20 if (kvm_memslots_have_rmaps(kvm)) - flush =3D kvm_handle_gfn_range(kvm, range, kvm_unmap_rmap); + flush =3D kvm_handle_gfn_range(kvm, range, kvm_zap_rmap); =20 if (is_tdp_mmu_enabled(kvm)) flush =3D kvm_tdp_mmu_unmap_gfn_range(kvm, range, flush); @@ -6004,7 +6004,7 @@ static bool kvm_rmap_zap_gfn_range(struct kvm *kvm, g= fn_t gfn_start, gfn_t gfn_e if (WARN_ON_ONCE(start >=3D end)) continue; =20 - flush =3D slot_handle_level_range(kvm, memslot, kvm_zap_rmap, + flush =3D slot_handle_level_range(kvm, memslot, __kvm_zap_rmap, PG_LEVEL_4K, KVM_MAX_HUGEPAGE_LEVEL, start, end - 1, true, flush); } --=20 2.37.0.170.g444d1eabd0-goog From nobody Sat Apr 18 07:35:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3DF4AC43334 for ; Fri, 15 Jul 2022 22:43:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231481AbiGOWnT (ORCPT ); Fri, 15 Jul 2022 18:43:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44442 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232394AbiGOWmt (ORCPT ); Fri, 15 Jul 2022 18:42:49 -0400 Received: from mail-pj1-x104a.google.com (mail-pj1-x104a.google.com [IPv6:2607:f8b0:4864:20::104a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A0EF8BAA9 for ; Fri, 15 Jul 2022 15:42:43 -0700 (PDT) Received: by mail-pj1-x104a.google.com with SMTP id o21-20020a17090aac1500b001ef977190efso5871721pjq.7 for ; Fri, 15 Jul 2022 15:42:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=9jEPpmejaSJpxIROjRPts8ujHRiSKDn3EzCK/DbmdXQ=; b=alccWWwRp4dJ72ANmbiqaAnCXwro8TrJGygV1VoT+fTjk9M+6mqrMXtonQxeqNRMcw V9h1FBIS9wrKO6Re0MU7jAxbM7h4m+BuiKvsnDjhrUEPRGfd8h579Hz8p322zegtivig 3+L5ZGL+PW6ve138NJuu3jNYbtMXYxzgEYkhsX63xm25fXIFvjP+Z++6XZcY7mup9ITD 7PgFF7IeWgCHyySR5EGOalorJNcKqMH81NFed5xuDcRf3nNMCCtVWVk+f1brlNxPoQmF 3Up9TLIvnwYCC2rRx7HnDGlRagHyEY/D4RHeOblD1Jxjdzj6oHFfo/MzXBulrMTPWCdl mlxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=9jEPpmejaSJpxIROjRPts8ujHRiSKDn3EzCK/DbmdXQ=; b=5XBq83nnw5EvF5SQrxlntuAeAbEyREewOvW3SiXg1dFQCkH6uuybuvt/N+srh5d047 bSeJFaYXFTN5nBE8bY4BVUPyPPUGRsF/5VOgzc0ZINwa36NCNRqCqmoi2ufuiaiSMLow hVcq/xDeJtoPHlgqqdGUzyDWr5MT3fPd02le7tRRUzuzUomsvTq8cWlvZfGKmqFP3PE/ 6MZOVEsCbFfXq9TgTcVE6deKEMvXYUKgsMgoGPStRpUl36ZfrYfNdmo33f++jwEZJEsY nbuBuTHIx+TAjaxDetHmb/63sXY82Xvwt5uwwY+cvxuuTAnVhDYlt5mqb4jJYvBqz47H PjUA== X-Gm-Message-State: AJIora8c135aq2PGS81Be4Je6wykIwZtXBBQgb97W4bB6d0bWVxdbS1l XWFSNV10Tm57BYKmzfxKmJx5v4lnX7s= X-Google-Smtp-Source: AGRyM1vgvAyE6T8+8qp0blINZFRVIxz5+mmnSQBx64ekEZIG0aC+EdVSCbLJW9jxVwiusNnQ9MLfVODPs8k= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:903:31c9:b0:16c:3024:69c4 with SMTP id v9-20020a17090331c900b0016c302469c4mr16001311ple.81.1657924962676; Fri, 15 Jul 2022 15:42:42 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 15 Jul 2022 22:42:25 +0000 In-Reply-To: <20220715224226.3749507-1-seanjc@google.com> Message-Id: <20220715224226.3749507-7-seanjc@google.com> Mime-Version: 1.0 References: <20220715224226.3749507-1-seanjc@google.com> X-Mailer: git-send-email 2.37.0.170.g444d1eabd0-goog Subject: [PATCH v2 6/7] KVM: x86/mmu: Rename pte_list_{destroy,remove}() to show they zap SPTEs From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rename pte_list_remove() and pte_list_destroy() to kvm_zap_one_rmap_spte() and kvm_zap_all_rmap_sptes() respectively to document that (a) they zap SPTEs and (b) to better document how they differ (remove vs. destroy does not exactly scream "one vs. all"). No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/mmu/mmu.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 00be88e0a5f7..282e7e2ab446 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -957,15 +957,16 @@ static void __pte_list_remove(u64 *spte, struct kvm_r= map_head *rmap_head) } } =20 -static void pte_list_remove(struct kvm *kvm, struct kvm_rmap_head *rmap_he= ad, - u64 *sptep) +static void kvm_zap_one_rmap_spte(struct kvm *kvm, + struct kvm_rmap_head *rmap_head, u64 *sptep) { mmu_spte_clear_track_bits(kvm, sptep); __pte_list_remove(sptep, rmap_head); } =20 -/* Return true if rmap existed, false otherwise */ -static bool pte_list_destroy(struct kvm *kvm, struct kvm_rmap_head *rmap_h= ead) +/* Return true if at least one SPTE was zapped, false otherwise */ +static bool kvm_zap_all_rmap_sptes(struct kvm *kvm, + struct kvm_rmap_head *rmap_head) { struct pte_list_desc *desc, *next; int i; @@ -1386,7 +1387,7 @@ static bool kvm_vcpu_write_protect_gfn(struct kvm_vcp= u *vcpu, u64 gfn) static bool __kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_hea= d, const struct kvm_memory_slot *slot) { - return pte_list_destroy(kvm, rmap_head); + return kvm_zap_all_rmap_sptes(kvm, rmap_head); } =20 static bool kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head, @@ -1417,7 +1418,7 @@ static bool kvm_set_pte_rmap(struct kvm *kvm, struct = kvm_rmap_head *rmap_head, need_flush =3D true; =20 if (pte_write(pte)) { - pte_list_remove(kvm, rmap_head, sptep); + kvm_zap_one_rmap_spte(kvm, rmap_head, sptep); goto restart; } else { new_spte =3D kvm_mmu_changed_pte_notifier_make_spte( @@ -1596,7 +1597,7 @@ static void __rmap_add(struct kvm *kvm, rmap_count =3D pte_list_add(cache, spte, rmap_head); =20 if (rmap_count > RMAP_RECYCLE_THRESHOLD) { - pte_list_destroy(kvm, rmap_head); + kvm_zap_all_rmap_sptes(kvm, rmap_head); kvm_flush_remote_tlbs_with_address( kvm, sp->gfn, KVM_PAGES_PER_HPAGE(sp->role.level)); } @@ -6406,7 +6407,7 @@ static bool kvm_mmu_zap_collapsible_spte(struct kvm *= kvm, if (sp->role.direct && sp->role.level < kvm_mmu_max_mapping_level(kvm, slot, sp->gfn, pfn, PG_LEVEL_NUM)) { - pte_list_remove(kvm, rmap_head, sptep); + kvm_zap_one_rmap_spte(kvm, rmap_head, sptep); =20 if (kvm_available_flush_tlb_with_range()) kvm_flush_remote_tlbs_with_address(kvm, sp->gfn, --=20 2.37.0.170.g444d1eabd0-goog From nobody Sat Apr 18 07:35:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 54211C433EF for ; Fri, 15 Jul 2022 22:43:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231945AbiGOWn1 (ORCPT ); Fri, 15 Jul 2022 18:43:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44468 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231562AbiGOWm6 (ORCPT ); Fri, 15 Jul 2022 18:42:58 -0400 Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com [IPv6:2607:f8b0:4864:20::1049]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D89418C147 for ; Fri, 15 Jul 2022 15:42:44 -0700 (PDT) Received: by mail-pj1-x1049.google.com with SMTP id cu12-20020a17090afa8c00b001efdd3bac65so2687903pjb.7 for ; Fri, 15 Jul 2022 15:42:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=12pAoMG7eqUpSjBxIvOnNJnEwyKK8LrfDPX8olcQNKs=; b=byCtTANhDQqGzobjfvR7dIeBxKJXRj9f4WjvncLqxasPzh2o5H8X/IPljjW2Ey8jZy +eoPB5V0ZDvJ2dBhL4uTf24x6vfC/c7050s049hXISAkUbvVlOHOgAtQG4gFO+RYQpML l0SOhdeMpJGIMNTvySvhtTbMntz1feob2FN52Sn692iRK2j0W/JLUSk39CaeZbeZFeKt Lyc7ehni3ryxB2Hw0pza6UgYFMnk5vTK0M6Py5MSbrDHE7rGSAUbfHU4QbZFfa12x2Md I3kklLPd4TMwvnUAo2nkOS55mDilXcguEdQuaWsJkq57fqiu0vot30r9djl+Tt0rewAh X9fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=12pAoMG7eqUpSjBxIvOnNJnEwyKK8LrfDPX8olcQNKs=; b=qZFdMbfsHokV52uJxsz/EvtNBmZW6g0iODd+HLzLveEHGORfbLeV1DkZZRt6G+9X8a eb2h3rewGYKhhJOP+4V5EGT1JfSuHib8iUAyYu1p8wutTCh7ACgbHFG5hhMtieXM2BA3 b/4YqDvYv+1ZqJZugmfuXWiA01/hQzOrJsnzHp8jQ3sLmyQD1wcpY/8WnBOc9Efi2Cx2 RPdhCmCVxhp6c8OMlVK41aQzeDTJefYxRpLtAalPkLgc2ytAhyELgyYTJNath/nYeVQD X7f1XwysqncyPTKZjmlBQUJJCaFUbe63TXIWkktcOsh+sf1FSY+mILu3mhWlima7uIBU QeHQ== X-Gm-Message-State: AJIora8vDZcj8evIBfe+zBxbvrvwN2VukrJPxJDI4I8/jQ+hLWlAmxa4 Uw4IChoubG/+x8hhONpKnveNVDUZ4jY= X-Google-Smtp-Source: AGRyM1uNRYq10LMeXTESy4mNUWMPIr8lGyZaxJ19QKoiM47J1hE2CGcDTLs2w0Eod1PKupNoYlp2xhx/KPE= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:903:11d0:b0:16b:80cf:5d9 with SMTP id q16-20020a17090311d000b0016b80cf05d9mr16043328plh.91.1657924964208; Fri, 15 Jul 2022 15:42:44 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 15 Jul 2022 22:42:26 +0000 In-Reply-To: <20220715224226.3749507-1-seanjc@google.com> Message-Id: <20220715224226.3749507-8-seanjc@google.com> Mime-Version: 1.0 References: <20220715224226.3749507-1-seanjc@google.com> X-Mailer: git-send-email 2.37.0.170.g444d1eabd0-goog Subject: [PATCH v2 7/7] KVM: x86/mmu: Remove underscores from __pte_list_remove() From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Remove the underscores from __pte_list_remove(), the function formerly known as pte_list_remove() is now named kvm_zap_one_rmap_spte() to show that it zaps rmaps/PTEs, i.e. doesn't just remove an entry from a list. No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/mmu/mmu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 282e7e2ab446..5957c3e66b77 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -921,7 +921,7 @@ pte_list_desc_remove_entry(struct kvm_rmap_head *rmap_h= ead, mmu_free_pte_list_desc(desc); } =20 -static void __pte_list_remove(u64 *spte, struct kvm_rmap_head *rmap_head) +static void pte_list_remove(u64 *spte, struct kvm_rmap_head *rmap_head) { struct pte_list_desc *desc; struct pte_list_desc *prev_desc; @@ -961,7 +961,7 @@ static void kvm_zap_one_rmap_spte(struct kvm *kvm, struct kvm_rmap_head *rmap_head, u64 *sptep) { mmu_spte_clear_track_bits(kvm, sptep); - __pte_list_remove(sptep, rmap_head); + pte_list_remove(sptep, rmap_head); } =20 /* Return true if at least one SPTE was zapped, false otherwise */ @@ -1051,7 +1051,7 @@ static void rmap_remove(struct kvm *kvm, u64 *spte) slot =3D __gfn_to_memslot(slots, gfn); rmap_head =3D gfn_to_rmap(gfn, sp->role.level, slot); =20 - __pte_list_remove(spte, rmap_head); + pte_list_remove(spte, rmap_head); } =20 /* @@ -1693,7 +1693,7 @@ static void mmu_page_add_parent_pte(struct kvm_mmu_me= mory_cache *cache, static void mmu_page_remove_parent_pte(struct kvm_mmu_page *sp, u64 *parent_pte) { - __pte_list_remove(parent_pte, &sp->parent_ptes); + pte_list_remove(parent_pte, &sp->parent_ptes); } =20 static void drop_parent_pte(struct kvm_mmu_page *sp, --=20 2.37.0.170.g444d1eabd0-goog