From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) (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 28B0E27F736 for ; Thu, 20 Nov 2025 16:58:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763657938; cv=none; b=uimQhWtmm3zYK9t9uoOz3Ps+Rlo1CXt7cuyxei5VXETPEU2dQF0sEkzwyTm4JNkYAclWP42kEclMe0ou0Yb8axPJFCP43WEOg7pBVEUgX5QDkrX2oY9Y4SBVa6MN3NVmz8sZV9RhrYA6p79vuv6n6U5sQ2zBbLrHSwTKpcXm/tY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763657938; c=relaxed/simple; bh=6ouzVPxR9/PPKjyMqdy7RdqkBBgQp7JQUydsaa0CmFU=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=LrmVUdS7cRJeHnroSQNcayuULREhlr1m8Zw+ZzJTnVxpj1mgcCpn2hLm+CzUwiOhQ5QBmcvalC1PqvDrWSUog7kGlxTKDoxJ6wzSes+HgXTFh2d7KG+WWmRhLiwcqlSeE7ILZGlm005agSQaO7duKfhrze1R/ZQYJn5x/6dvktQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=MdnDExZd; arc=none smtp.client-ip=209.85.218.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="MdnDExZd" Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-b735b89501fso126487866b.0 for ; Thu, 20 Nov 2025 08:58:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1763657934; x=1764262734; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=GX7JIdjzguz3qTiD+nL5d+5EXNXgZMH9j6401828jTY=; b=MdnDExZdX6kqkRrcIEYEna4F1cn84qQnxpTYDyrWEw0Yha0XbVCeKswS1nH2vY2W1y xBY1GqZYrN+XsFtHeWslk/hKxXgATPSYUlpeVMZeCf4fSiwW5kFIJ+na9g3CK19AEOxe WVGWDadPTq/fwtVXsxG/Od6cYdqbUiMD5A1ntN0YuvDTXig1QeSZIsIwW5VyEMySEsv0 SbmTrOzMf+DXpO5ArunXajB/pl3QYy3tQdWWXdH593Q4D6Hjy32ctu8NmL2pNtBxj312 ijDNZYSfk7UJzeZJLPZIaEYTJ3K5deQcsxZx80+J7A//n+lethTCZs+aIo1mQe7VYkcy s4FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763657934; x=1764262734; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=GX7JIdjzguz3qTiD+nL5d+5EXNXgZMH9j6401828jTY=; b=ghbrCMI6LipLTz//P7AwWBcH/UAlTFfRAnO309YIp/Py1tsql+6tfBKZNXFo+bH1lu HtMwzn882Zq5fdxtW5dcrFyUt+PNtaiaLwkJSNFJ9PK4XC5wE+ZK4FbcIE+rVID4qzWE Lk7gFK4hFFQsO2BSUDLbwC/qi1gBdFZgLQJJSdAEgGJKVPnqEMHnrZ3wJFtEYwY8ytG0 XcFpSrvpShGkjoZEcGw594ipvf8J9po3+1876CELcimqcCqKBYEwYTw0bpJoniOQcUSn KpeQDTRNG9L9nsFIsM0oo2bW7ZueOYFpvBxHvQ3iXCSdAEaZGgH09/heNtg6Fen3IA7u rURg== X-Forwarded-Encrypted: i=1; AJvYcCWNmbPyaUeAVdh2NWeM/mZprUz+wgRZAzYdWdZaE7VuFU+KGzhQ+KtZ82Ph9BiHYXKJVWqompEmN860xOU=@vger.kernel.org X-Gm-Message-State: AOJu0YypPMIixMJ6KAF8s0ps7YGqXufzNtASx0DWXaewyV+nts4GRZjk TUJWa/M4xRFPxmjafZ4hDepAUX0ZsbAjbG9hH7eocZtNkTn/5cmj9HKTz2qrxP0VZS3tE8VoJPw e20N5 X-Gm-Gg: ASbGncscog9j7fMbiaDq3vQMXHKWn79qzVX73ZIkwHmfh6EFFZ72Q1ncWmYE75JRpg+ ZC7H6JJsrgEQiOe55dXiBHEVuQpu2/d9Sj4m4aE5PdJHQnXD1g8DuaN/Z7VN2lnIDVdQeDXMyrp qVTqJkV0b1O9NLxAyMFBt8wW5IRjoEJzHZSn1shoqbYYjyfVLo0MyMmMM/ptxKLRiSeP/jSL0xM 5T2CW0whzxAQOWjDi3/bUSwSYc5RuMwxmVaDlKoxTQ0eseL6VQz0M66WQIXLL+8GqYq4417N9Xn rSliNZGUbKvuMM6RLrSX1ConuvRxHOdch2/zMBmiw1YWmHRH8Fri1vrxPn/kj8uAwhKNeUXea9C iQLL4soBytshhWGTNLlES8g4m3LD6FmYX0mel+uIfQ6kPyjeFZxc0SSZ7CwZe2YdBDT8RI+p0no ILKeYCGhpqaWk3vK/M6ReHVwNjAU+WIKRwRdTJ X-Google-Smtp-Source: AGHT+IEP6B+bHHp1EliuUtr9obwMpAwLEcAko2PV+mmNgQgp5fyBoKtVQ3Xenohcz+H7W1oTHt7p1w== X-Received: by 2002:a17:907:940e:b0:b72:d56f:3468 with SMTP id a640c23a62f3a-b7654fe8efcmr349984866b.50.1763657934419; Thu, 20 Nov 2025 08:58:54 -0800 (PST) Received: from [192.168.0.20] (nborisov.ddns.nbis.net. [85.187.216.236]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b7654cdd659sm249621766b.7.2025.11.20.08.58.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 20 Nov 2025 08:58:54 -0800 (PST) Message-ID: <0541b782-5289-426a-ad76-83ad4b3a3d6c@suse.com> Date: Thu, 20 Nov 2025 18:58:52 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 01/11] x86/bhi: x86/vmscape: Move LFENCE out of clear_bhb_loop() To: Pawan Gupta Cc: x86@kernel.org, David Kaplan , "H. Peter Anvin" , Josh Poimboeuf , Sean Christopherson , Paolo Bonzini , Borislav Petkov , Dave Hansen , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, Asit Mallick , Tao Zhang References: <20251119-vmscape-bhb-v4-0-1adad4e69ddc@linux.intel.com> <20251119-vmscape-bhb-v4-1-1adad4e69ddc@linux.intel.com> <20251120165600.tpxvntu6rv7c34xd@desk> From: Nikolay Borisov Content-Language: en-US Autocrypt: addr=nik.borisov@suse.com; keydata= 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 In-Reply-To: <20251120165600.tpxvntu6rv7c34xd@desk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/20/25 18:56, Pawan Gupta wrote: > On Thu, Nov 20, 2025 at 06:15:32PM +0200, Nikolay Borisov wrote: >> >> >> On 11/20/25 08:17, Pawan Gupta wrote: >>> Currently, BHB clearing sequence is followed by an LFENCE to prevent >>> transient execution of subsequent indirect branches prematurely. However, >>> LFENCE barrier could be unnecessary in certain cases. For example, when >>> kernel is using BHI_DIS_S mitigation, and BHB clearing is only needed for >>> userspace. In such cases, LFENCE is redundant because ring transitions >>> would provide the necessary serialization. >>> >>> Below is a quick recap of BHI mitigation options: >>> >>> On Alder Lake and newer >>> >>> - BHI_DIS_S: Hardware control to mitigate BHI in ring0. This has low >>> performance overhead. >>> - Long loop: Alternatively, longer version of BHB clearing sequence >>> on older processors can be used to mitigate BHI. This >>> is not yet implemented in Linux. >> >> I find this description of the Long loop on "ALder lake and newer" somewhat >> confusing, as you are also referring "older processors". Shouldn't the >> longer sequence bet moved under "On older CPUs" heading? Or perhaps it must >> be expanded to say that the long sequence could work on Alder Lake and newer >> CPUs as well as on older cpus? > > Ya, it needs to be rephrased. Would dropping "on older processors" help? > > - Long loop: Alternatively, longer version of BHB clearing sequence > can be used to mitigate BHI. This is not yet implemented > in Linux. > nit: Perhaps a sentence about why long loop version might be used on newer parts in certain cases or why it shouldn't. >>> >>> On older CPUs >>> >>> - Short loop: Clears BHB at kernel entry and VMexit. > > And also talk about "Long loop" effectiveness here: > > On older CPUs > > - Short loop: Clears BHB at kernel entry and VMexit. The "Long loop" > is effective on older CPUs as well, but should be avoided > because of unnecessary overhead. >> In any case it's much better and indeed clear! Reviewed-by: Nikolay Borisov