From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) (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 B62CC27FD51 for ; Thu, 23 Jul 2026 00:42:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.199 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784767352; cv=none; b=HWTPkmF2cRBZQBWwegG8SBL38r+JQvzDZRrjTceFozkfYCACBHB390dpjDrWf/Or/oLv7YjAR18KRAxcQ85/ipBmc/sw4ppnYOi1/H0he1Ykrwp18VMtWWXaBmbHckrgAWvCCP+98ZBH8smQooAPhRvYLpJOUUZjr72c8VBi84w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784767352; c=relaxed/simple; bh=Bx/O6lIWL20XhaxWVmlBMU7Qc4gBrIph7d0QGpoP5hU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=U4ufUJPrvVU1C3tizGk3ba3HBE/blUk0Gs7ZY1WATAmHs+hGrbBsgXt5VcXKQA+TmVxUXKb3qVFto0Bf3yHhRUrRCfLuLnJId/zCWx5LKCBjO7Tg8WsNm/V/imZr5hte/nat6l5+jrzuCGWkdf5NK+c4hLEFS41PXMWPkhZ2o08= 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=VG62FFl8; arc=none smtp.client-ip=209.85.214.199 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="VG62FFl8" Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2ce7dff6253so559615ad.1 for ; Wed, 22 Jul 2026 17:42:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1784767351; x=1785372151; darn=vger.kernel.org; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=pYT880AolYzsmucK5/M0IhhR2VakKdt11GAhNv55PqY=; b=VG62FFl8leMsVK7e76rzc+OBbrCcjus4mVw5FtwAENowMVee7vWJDfJV2XE3p+lpfA cBx/mLOyWWC0GaVtlkMXVnH4Hzx5NNHV/ejzwdmXMXDSRc2UVbUVtNsVAl4fMHuEANbu 710gDWeyMgiJBxm1+IcJy/YZp9eseDW5lI0+LQtJkBftjGXD8mTST1v1JnUF7yYCaYlF 8IPRaY6I3qpAqJL6DJOIiZNWg+FjFoeUPCV7P1JVFspxAxpCFOmwBnMDDv0+inbW0h3B v+QSlIXAaKbmk/SKKU3MAy0I7Gge4LMi/Wc66i4h4ZQYaCVUTVrGJsD7VvWmBTz38awq uPQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784767351; x=1785372151; h=content-type: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:content-type; bh=pYT880AolYzsmucK5/M0IhhR2VakKdt11GAhNv55PqY=; b=i19CfCsPvZVXkTY1wAyz4vTqGDck5FgoM2Ba1wqVs1OXciRcL3X9qkn7w1fZ1mCvYZ 38qMfbCQFyVIT2lqERVWCU44HVGy1+bCcSvb+j+vs43SMiQE/aNOZ4okG4f+wkL30gcs FW3fX/exC5YcCO8PMPkmOLEOyB8oS2IjEGOM2bhGJh90dmra5hVLwkFF3CajrF6rV7Ol A7NhpKeEoT3jpOZBkCvHF106LXorUSX4Z/K/SXuWcMRaFypO473m7N67FwN4gmuCa52F ENXIt06pmOGRCASdG7l16vk6sKhPG9MjRatJvjnGX+STCyMqg959UZnVgEBAmLEObDAi SzJw== X-Forwarded-Encrypted: i=1; AHgh+Rp7hcpJcMW0xv3r1+SD3sgYg/X1rC2X/dm1TMW11BY7AQp8kjHO+4lqVGKbOgKqE+70oVOfNrXwIxcJ3QA=@vger.kernel.org X-Gm-Message-State: AOJu0YxgkyOJtZcDiq0SG4zZOu1zcOdb754c6xyhpUD5doqD9H8DR1Q6 FXzXSPsh1DrNJCemIO99z0RoSM2ZocNHYRwbPJVFV8uZoshDz+rfEFofo/TGYK1p21VdCCZOALC F44P/Sw== X-Received: from plbji11.prod.google.com ([2002:a17:903:324b:b0:2cc:b904:3254]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:fa10:b0:2cc:92ae:b36 with SMTP id d9443c01a7336-2cfa9551320mr3558095ad.24.1784767350952; Wed, 22 Jul 2026 17:42:30 -0700 (PDT) Date: Wed, 22 Jul 2026 17:42:30 -0700 In-Reply-To: <20260616004155.1435766-16-yosry@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260616004155.1435766-1-yosry@kernel.org> <20260616004155.1435766-16-yosry@kernel.org> Message-ID: Subject: Re: [RFC PATCH v2 15/25] KVM: nSVM: Call nested_svm_transition_tlb_flush() on every VMCB switch From: Sean Christopherson To: Yosry Ahmed Cc: Paolo Bonzini , Jim Mattson , Maxim Levitsky , Vitaly Kuznetsov , Tom Lendacky , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="us-ascii" On Tue, Jun 16, 2026, Yosry Ahmed wrote: > Move the calls to nested_svm_transition_tlb_flush() in different > transition code paths to svm_switch_vmcb(). This ensures that TLB > flushes are not missed during switches, and makes it clearer that the > TLB flushes are directly related to the active VMCB. > > The ordering currently doesn't matter, but as more TLB handling is added > for nested, requesting the TLB flushes *after* the VMCB switch will > become a requirement. > > No functional change intended (for now). > > Signed-off-by: Yosry Ahmed > --- > arch/x86/kvm/svm/nested.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c > index 24a52aefe94ee..9a917d057aa8e 100644 > --- a/arch/x86/kvm/svm/nested.c > +++ b/arch/x86/kvm/svm/nested.c > @@ -707,8 +707,12 @@ static void nested_svm_transition_tlb_flush(struct kvm_vcpu *vcpu) > > static void svm_switch_vmcb(struct vcpu_svm *svm, struct kvm_vmcb_info *target_vmcb) > { > + struct kvm_vcpu *vcpu = &svm->vcpu; > + > svm->current_vmcb = target_vmcb; > svm->vmcb = target_vmcb->ptr; > + > + nested_svm_transition_tlb_flush(vcpu); I'm not convinced this is the right place to do the flushing. Yes, manually doing the flushes requires more code, and arguably makes KVM less robust, but IMO there's value in mimicking architectural flows because it's the architecture that dictates the flushing.