From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E3DE1C02194 for ; Thu, 6 Feb 2025 14:49:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 66B78280002; Thu, 6 Feb 2025 09:49:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 61ACA280001; Thu, 6 Feb 2025 09:49:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 513E9280002; Thu, 6 Feb 2025 09:49:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 2CFDB280001 for ; Thu, 6 Feb 2025 09:49:10 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D13D7ADCBA for ; Thu, 6 Feb 2025 14:49:09 +0000 (UTC) X-FDA: 83089802418.25.3BA232B Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) by imf12.hostedemail.com (Postfix) with ESMTP id EE8E140019 for ; Thu, 6 Feb 2025 14:49:07 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf12.hostedemail.com: domain of riel@shelob.surriel.com designates 96.67.55.147 as permitted sender) smtp.mailfrom=riel@shelob.surriel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738853348; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xrH0paTmsFd5HwpEjBzpYmO4A56hHyosbYf/jpVupXs=; b=dkO+ouuvukgZwTYoaG2nL000rfA9es1dC9bxIpacYcWL7lmyftpBbl/Ccbe0Igxth6HCT/ 4trVbg3rRj672xxGMFlkr992CtAQWI6ZBLorLt5A2uN48Yf2MBmsAhmmBDcPIXlrnD8UUZ Sb68qZt8sPTVFqLOIP72vG9WcixWuL0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738853348; a=rsa-sha256; cv=none; b=Q+kf5eGaW3nylCMfTcsVEVSUFO9jp5jVuY3IqtUgwtXIzZ2eIqV5rq7M4pR6WWvCU2RX0B H8CZTth1nEetrpLTlFkjNMgWe03ScGK/H121znBJQP9COHL+/zjP6iIBxtrb9cbO7OfrI7 kUwwWOq4d5XUfD7GhGqAtISBYAKC4gA= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf12.hostedemail.com: domain of riel@shelob.surriel.com designates 96.67.55.147 as permitted sender) smtp.mailfrom=riel@shelob.surriel.com Received: from fangorn.home.surriel.com ([10.0.13.7]) by shelob.surriel.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.97.1) (envelope-from ) id 1tg3B3-000000003yX-18DO; Thu, 06 Feb 2025 09:48:25 -0500 Message-ID: Subject: Re: [PATCH v9 00/12] AMD broadcast TLB invalidation From: Rik van Riel To: Peter Zijlstra Cc: Oleksandr Natalenko , x86@kernel.org, linux-kernel@vger.kernel.org, bp@alien8.de, dave.hansen@linux.intel.com, zhengqi.arch@bytedance.com, nadav.amit@gmail.com, thomas.lendacky@amd.com, kernel-team@meta.com, linux-mm@kvack.org, akpm@linux-foundation.org, jannh@google.com, mhklinux@outlook.com, andrew.cooper3@citrix.com Date: Thu, 06 Feb 2025 09:48:25 -0500 In-Reply-To: <20250206142308.GR7145@noisy.programming.kicks-ass.net> References: <20250206044346.3810242-1-riel@surriel.com> <12602226.O9o76ZdvQC@natalenko.name> <8111558b52cec1152746b05a9c1d657d18df0fe2.camel@surriel.com> <20250206142308.GR7145@noisy.programming.kicks-ass.net> Autocrypt: addr=riel@surriel.com; prefer-encrypt=mutual; keydata=mQENBFIt3aUBCADCK0LicyCYyMa0E1lodCDUBf6G+6C5UXKG1jEYwQu49cc/gUBTTk33A eo2hjn4JinVaPF3zfZprnKMEGGv4dHvEOCPWiNhlz5RtqH3SKJllq2dpeMS9RqbMvDA36rlJIIo47 Z/nl6IA8MDhSqyqdnTY8z7LnQHqq16jAqwo7Ll9qALXz4yG1ZdSCmo80VPetBZZPw7WMjo+1hByv/ lvdFnLfiQ52tayuuC1r9x2qZ/SYWd2M4p/f5CLmvG9UcnkbYFsKWz8bwOBWKg1PQcaYHLx06sHGdY dIDaeVvkIfMFwAprSo5EFU+aes2VB2ZjugOTbkkW2aPSWTRsBhPHhV6dABEBAAG0HlJpayB2YW4gU mllbCA8cmllbEByZWRoYXQuY29tPokBHwQwAQIACQUCW5LcVgIdIAAKCRDOed6ShMTeg05SB/986o gEgdq4byrtaBQKFg5LWfd8e+h+QzLOg/T8mSS3dJzFXe5JBOfvYg7Bj47xXi9I5sM+I9Lu9+1XVb/ r2rGJrU1DwA09TnmyFtK76bgMF0sBEh1ECILYNQTEIemzNFwOWLZZlEhZFRJsZyX+mtEp/WQIygHV WjwuP69VJw+fPQvLOGn4j8W9QXuvhha7u1QJ7mYx4dLGHrZlHdwDsqpvWsW+3rsIqs1BBe5/Itz9o 6y9gLNtQzwmSDioV8KhF85VmYInslhv5tUtMEppfdTLyX4SUKh8ftNIVmH9mXyRCZclSoa6IMd635 Jq1Pj2/Lp64tOzSvN5Y9zaiCc5FucXtB9SaWsgdmFuIFJpZWwgPHJpZWxAc3VycmllbC5jb20+iQE +BBMBAgAoBQJSLd2lAhsjBQkSzAMABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDOed6ShMTe g4PpB/0ZivKYFt0LaB22ssWUrBoeNWCP1NY/lkq2QbPhR3agLB7ZXI97PF2z/5QD9Fuy/FD/jddPx KRTvFCtHcEzTOcFjBmf52uqgt3U40H9GM++0IM0yHusd9EzlaWsbp09vsAV2DwdqS69x9RPbvE/Ne fO5subhocH76okcF/aQiQ+oj2j6LJZGBJBVigOHg+4zyzdDgKM+jp0bvDI51KQ4XfxV593OhvkS3z 3FPx0CE7l62WhWrieHyBblqvkTYgJ6dq4bsYpqxxGJOkQ47WpEUx6onH+rImWmPJbSYGhwBzTo0Mm G1Nb1qGPG+mTrSmJjDRxrwf1zjmYqQreWVSFEt26tBpSaWsgdmFuIFJpZWwgPHJpZWxAZmIuY29tP okBPgQTAQIAKAUCW5LbiAIbIwUJEswDAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQznneko TE3oOUEQgAsrGxjTC1bGtZyuvyQPcXclap11Ogib6rQywGYu6/Mnkbd6hbyY3wpdyQii/cas2S44N cQj8HkGv91JLVE24/Wt0gITPCH3rLVJJDGQxprHTVDs1t1RAbsbp0XTksZPCNWDGYIBo2aHDwErhI omYQ0Xluo1WBtH/UmHgirHvclsou1Ks9jyTxiPyUKRfae7GNOFiX99+ZlB27P3t8CjtSO831Ij0Ip QrfooZ21YVlUKw0Wy6Ll8EyefyrEYSh8KTm8dQj4O7xxvdg865TLeLpho5PwDRF+/mR3qi8CdGbkE c4pYZQO8UDXUN4S+pe0aTeTqlYw8rRHWF9TnvtpcNzZw== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.54.1 (3.54.1-1.fc41) MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: EE8E140019 X-Rspamd-Server: rspam07 X-Stat-Signature: m6ke85njpfdpp745ggkiap4cxs3krsoo X-HE-Tag: 1738853347-774682 X-HE-Meta: U2FsdGVkX18/0TfCQIkDErRZdYejO7DhwUx4zgCMyi+kKQ1QpXLWxsGICdsV5qnkxGJ3p2pbZky9weSqRxNu325Q4CIWFkH2OBACi+vEk+fiixz6ZFV8XPquHTT31f+G9gUiXmSx55jz51pok5wXJPV3SRn6Z3CWMYuLjJwgmjFrLri11RsGISGmEUfvFJwXCldmOCuM5lkmGuokqR1WwyD8yhgA/+l39jpkgNzpApdRzard88mxuDMk9KNgX52/ZrTged0L7eNtDOhENhFiyjoYYqlQZZvdSFxA9avoij7IZ7XXzkrngtt0W8ZvFu6o1wLW7k0y6lVHRhRjs1EHaPFYhbPejrT706SBD8KeDGKTKYMyAvY9LG8lztKPSsZnv8cfKNTeLoD+LOi8wFCqgJNIyS75rS5VTQQAgLSJ4Ne8IHTfmNBNyHX2ft/0yFm8qvLZHTMXAiyIdI0/m4kVZJN07J8wvW3I+apJWbxOokKFwKg0bYI6U4Iv7FvKtcYplVK9hlnPS5kQ2h6PcFW59bYAPGcTEAQG201DJQooIIEtCEDJE0yz12JEepPDk1J5n7Unv9wp9xTADKF7kAX32bUAnJbqWFKYoeQjXmqoRJt7z28Z16KU27g3NX+ctJdyQ6uR8ZpSdBZao1oJtS2TgPMJWc2WRAKqADe1MXGxfKRy/EPCMLK15Za1Rg+akjSKFbnC36EZoLN5dFOS19lvN/rFOpmUCoeVziTJm/NavQSShwdCNInqg50zOX5wakaHKvQlIS/aupviW7HcUGQRKmkSGnhpV/N46ZQ+CmsLrgEXzmhGD30vMXGqWxRTaKjdm47ri/q3bDnQkPm6sKu9awSEnBIjYZWUv/2dVvOMPG1NwE6dJSeeTuZw3LpIcToAHJopnfXuDESwG4egLrEhJbQyofXtYVSMONFl/mNHZadrxMlh0m+gfY8lFnZLhaADp5NQk7cFEXLkHLh0YXJ Muw+zGWx sXkJq4NJQiObF8UAZqJNHHeQ119/hCYipGbQBnt/FZcbWpjQ1r8BUONNT5SgzaqUe7qv78MV13wDrKxA1ak+Mp9scGq4pNMCRQIrocKTq7YFiZY9GVfkv9Kb8o4iyjE8p/tJsiN01W154NhwGpfh5Mu7Ag2nVADnS2fVW+c0p7vvPofs/GnBUbNy+7hizwe0cZZTUaM39LrTt0/8Vlh5kToDFrjNA3T5M0Ii3qGnAsEb2HRRnLqepmBT9XyScSOLeZMqHPXluFK2+Mu6hPL8M92AWwi8FYATeG6/cFP0EWy8DcrjJsAD2of8i/Nd4z10w05M7IOYfYWR7UdqLxRutzBRMxq/XvForP4mUVJ6aXRuaikEsbRwq9Is5js3EmbM45d2jjrCCEI5vpfTKix8ehwYlg1viJm1qlEU7k5HElj2jNSc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, 2025-02-06 at 15:23 +0100, Peter Zijlstra wrote: > On Thu, Feb 06, 2025 at 09:16:35AM -0500, Rik van Riel wrote: >=20 > > This can result in flush_tlb_mm_range being called > > with a stride_shift for 2MB pages, but a range ending > > on a 4kB aligned (not 2MB aligned) boundary. > >=20 > > Peter, how should we solve this one? >=20 > I don't think that's wrong per-se, since all we really need is for > end > to be past the end, one byte, one page, or one stride don't matter > much. >=20 > Anyway, I'm in desperate need of a break, so I'm not quite sure what > the > best way forward is. >=20 Given that the tlb_flush() code is used only for page table freeing, we can just round up the end address to the nearest stride boundary there, with a comment explaining why? Alternatively, we could just change the page sizes used in pmd_free_tlb, pud_free_tlb, and p4d_free_tlb, given that the functions called now have parameters they didn't seem to have back in 2014, when the linked email in the comment was written? Either way, no big hurry. The rounding up is already being done in get_flush_tlb_info, so all we have is a noisy WARN_ONCE :) --=20 All Rights Reversed.