From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f202.google.com (mail-pg1-f202.google.com [209.85.215.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1AB6282F10 for ; Mon, 4 May 2026 17:27:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777915631; cv=none; b=Yo6kOlut4+eyO1Zld7znAHz8K6kAvXQwxDJ2OZfKQDz9X6hOBXcYxUSscMkxb8Y7PG5n3b8b2VzGqIcUKjC5ECxEZvD5Zu/GGf+FrD9fpA9uyLQt+3vidKGJtT7+FP+rSiZI+tGGw4xu5bCt95rwAUBvGN4WxYQmEYx0ui3N9wY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777915631; c=relaxed/simple; bh=OmEyt2Wpj2kwSt4MSk/c+OehbP6UR62f1FxHN9SJyDs=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Hv4AA7szNR8REfAiASzSdBVngsgx2ev3RVIPs9WnsEjge/WOCX0G4WX8yeS6tGbyzGaUucJvH3uLceS6djnewJxDyy+DZngA1eYsJStWs6ksZZ+feD1sv8nMlqMdcyQFpSXDproxgFZ2pm9/eX6qM7hVYQELcBlHB6CFs0XDebM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=b+6T6JmH; arc=none smtp.client-ip=209.85.215.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="b+6T6JmH" Received: by mail-pg1-f202.google.com with SMTP id 41be03b00d2f7-c822ebaa40dso438739a12.0 for ; Mon, 04 May 2026 10:27:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1777915629; x=1778520429; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=VrTuWszRV7GVD4d6H7eOtuZTEMFTuHRxmNPLKYgwrkU=; b=b+6T6JmHrDwI6bMiUOaVOPUu22HChCrXWMUnF5yiJ7t9MU/J4+0wvGatR9gAHPm5B+ 6cKA/hW/IGun2/B9mkCkRO9KpscavgPOKIXOuCXi+CCvNBFzZmYriTroHKsddlUk184n ci51Py48c4zm1YmiFSybGkzFRMoYYas9u0P0czHRwrCIl1CmtX3I5SctGr2LrKgYoB13 4gpKWHJJG+X14bUznqLAs3VDHlZ/oJQmiyqd9UmOXpzgmRy7SyPPcSybAXx6HNV994UU oJ0AvDd0Py+qnFlf9sbmJs7otvCkOlHKHOCqVLk2XZDe7vsvIYSHnYilN2/ho1Fjictm IpYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777915629; x=1778520429; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=VrTuWszRV7GVD4d6H7eOtuZTEMFTuHRxmNPLKYgwrkU=; b=r1kmIH6gn4zjXWU1H4wGpbhQpC3tj0F/mb4NvadaLBxC4XWziMttmegr5JK6UkuQ5w M8nN2sNs0imWNuYrl5zYYsEQ0m1Tz2U2Uy7C1qMQ2Tb6OrRFiNNEogR2aGoct74JrGps 7Yi6PZ81+6+eQvkrPVDOYdT+lSIPewpAtmrjPrkLNuRN+MEUk7k/TJijCi40Bz68dR/f pwStrDxz9qiwcC+tasaXqDA2RsI3aEq5y1rOLcV1dvEJRghrtucl9I6AX4N1JX55mmGH 3//6HggCoFyBSD7clPLfpi0UizIuTgAXqKWMeE35zXusamUx7cHg6RzBDJjW/EyEHOHi YR2g== X-Gm-Message-State: AOJu0YwFUo2QvjEKB52W77+QD7flxjkspHJNXILs5OibERYkEZjhDhg4 rKPHMLP6M9oV0XNDNEi4MiavWCuefUBIU15Y182iejo5nu/H7ZkbhmD70z0YIH077RHFh0FgFID sWep3SA== X-Received: from pghc24.prod.google.com ([2002:a63:da18:0:b0:c79:8016:512d]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:e083:b0:39f:2b9e:e472 with SMTP id adf61e73a8af0-3a7f1a1e0afmr11438545637.3.1777915629068; Mon, 04 May 2026 10:27:09 -0700 (PDT) Date: Mon, 4 May 2026 10:27:07 -0700 In-Reply-To: <20260503210917.121840-1-pbonzini@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260503210917.121840-1-pbonzini@redhat.com> Message-ID: Subject: Re: [PATCH] KVM: x86: use again the flush argument of __link_shadow_page() From: Sean Christopherson To: Paolo Bonzini Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Content-Type: text/plain; charset="us-ascii" x86/mmu On Sun, May 03, 2026, Paolo Bonzini wrote: > Except in the case of parentless nested-TDP pages, mmu_page_zap_pte() > clears the SPTE but leaves the invalid_list empty. In this case, using > kvm_flush_remote_tlbs() as kvm_mmu_remote_flush_or_zap() does is overkill. > Avoid flushing the entirety of the remote TLBs unless the invalid_list > was populated: instead, use a more efficient gfn-targeting flush (if > available) and skip it altogether if the caller guarantees that a TLB > flush is not necessary. > > Based-on: <20260503201029.106481-1-pbonzini@redhat.com> > Signed-off-by: Paolo Bonzini > --- > arch/x86/kvm/mmu/mmu.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > index 892246204435..85bec8eeace8 100644 > --- a/arch/x86/kvm/mmu/mmu.c > +++ b/arch/x86/kvm/mmu/mmu.c > @@ -2541,8 +2541,10 @@ static void __link_shadow_page(struct kvm *kvm, > parent_sp = sptep_to_sp(sptep); > WARN_ON_ONCE(parent_sp->role.level == PG_LEVEL_4K); > > - mmu_page_zap_pte(kvm, parent_sp, sptep, &invalid_list); > - kvm_mmu_remote_flush_or_zap(kvm, &invalid_list, true); > + if (mmu_page_zap_pte(kvm, parent_sp, sptep, &invalid_list)) > + kvm_mmu_commit_zap_page(kvm, &invalid_list); > + else if (flush) > + kvm_flush_remote_tlbs_sptep(kvm, sptep); Duh, this is obvious in hindsight. Reviewed-by: Sean Christopherson