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 0D8EFC0219E for ; Mon, 10 Feb 2025 11:23:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 657246B0085; Mon, 10 Feb 2025 06:23:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 607936B0088; Mon, 10 Feb 2025 06:23:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4CEBC6B0089; Mon, 10 Feb 2025 06:23:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 304196B0085 for ; Mon, 10 Feb 2025 06:23:54 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 1F5A7120BA4 for ; Mon, 10 Feb 2025 11:22:59 +0000 (UTC) X-FDA: 83103798078.05.6D59EF5 Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) by imf09.hostedemail.com (Postfix) with ESMTP id 40E25140019 for ; Mon, 10 Feb 2025 11:22:57 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Am7gipRt; spf=pass (imf09.hostedemail.com: domain of jackmanb@google.com designates 209.85.160.171 as permitted sender) smtp.mailfrom=jackmanb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739186577; h=from:from: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=G52iyUCkmPX0OY5YfqE5KfMGVk5WbJ1yp1DfcVWbI1Y=; b=DwtejsDJmyXRzfPKJhfWz+Pn/y2iLWGGNqTncP3Zw5ggDZ7rvwssZ4pFBtFjLVXAR9+PPL GnGUGs/Rrd7dvaafMEV7qCdQVHPFATVUEEmPZsCVfpdsCQE8qCR/cDFjdv+juQcdCblykj KPSamH3FzqFhRN5QiCHiAJbUj7EAH18= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Am7gipRt; spf=pass (imf09.hostedemail.com: domain of jackmanb@google.com designates 209.85.160.171 as permitted sender) smtp.mailfrom=jackmanb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739186577; a=rsa-sha256; cv=none; b=CRyMyq6kpOfQj1MyW7RWyuSjySGSrfMW8DcgCfEQBa6sttI3KSX1T+sSbs5Lrc0uVICvHL Rgn7A3UBGiP8z7AjOZCCZQlhTsXFAWuhpu2wUAoi9vUrpNw75/69PGu4vFN89go3eUEWa3 oSwyminN8XRYAWWZkrYzPgwhjKnGAtA= Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-4718e224eb1so202541cf.1 for ; Mon, 10 Feb 2025 03:22:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1739186576; x=1739791376; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=G52iyUCkmPX0OY5YfqE5KfMGVk5WbJ1yp1DfcVWbI1Y=; b=Am7gipRtz/S+PbOOCtL0HKRO5cEE7/KKrwtmPTodMUmMKl4dkWEkQpP65aOoIIOdtd qIGTBeFAP7PZ9s7pyoAtQu/i5CwpOaBDqDKc+kHUWvI0C3MhWE1JsnbsXwK9RL+KvOJ8 shM8NN53/H5WxBin8H1TicePljdgb6LnBY7Mn9DQh6YHydB6SpqHggop753C+W/dNMmV lmvFYq/OMJEXJIm7CsRjkooVsvOKdTNh7k7i+WQKtPr4+cosSbmWJVeSs1YccAXpJm4f wEQI4rKHPQfbpbgPBTeDkSyYd14Yten+PCO+sVGfIPWE2AqAOzYxW2yzoqJZJdbzPWhr xYHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739186576; x=1739791376; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=G52iyUCkmPX0OY5YfqE5KfMGVk5WbJ1yp1DfcVWbI1Y=; b=q0bHFyuyxnEjamh3fl7fUgIH0m9t8+G1L/bvbLfB8s58WellfH/zjAmn/k98/69BrC +IQiUpnU82RxwPpMn2wzBFaYoGe4R1UNXEIf0jCqZjan/VVayb95J/1+FYnrIvwS6cpn pRxdOV0sxT7Ku8+V4xv1lMV2AWMQaX1RAkW3WL6Ah2pVuAcjqLsNb1IiS1MQPhhz61iw e8rkjGh8gPrcH498wGhWL6fVr0BTLa91GKBEuduXOgabVU1que9ol7d51R0ONHdtyuxd FkvgcRFSEMS43IdUoY7nJzXgsv6SZccClx9EilbnoTEe6ghqbZmQpsbuQdyCMh/j/VaE MYfA== X-Forwarded-Encrypted: i=1; AJvYcCVsKLCVX+1f/lPPAze2m0JA7e+rfquDmLbdyjen8hwQApStONdDSl+HxZQ+cvbupS9V1JpZSsClww==@kvack.org X-Gm-Message-State: AOJu0Yy6wlMgh0LUHN1mkNOeFea6swWwApg1AKJ1Z4YkAjwp+y9iZxo6 FfnEEyI2B6pIQx+et6izVT9hoLLpk40IucXsAqUSTn/2rFtivaOTvbtCQphm3sUvKX5PNxxWx/N uVtLHuj+k+/TYg0LK7up3vqNw1d8P9rQ2eJxf X-Gm-Gg: ASbGnctXDsobu8kU7Ab95bhrPvXLqJWbJKTfrQiQaz9ZvADHciGGiSFGXd08CRrSF1G 1H2ExPh7iCIM/pr6EwQqRO3r3XcPkh7rmXjaa4oZNmRvVI332zUcTPl2DLvo25iRRkOkLJqqbGd yeeOM4VJzkncl88E8nTcO3xJh05oE= X-Google-Smtp-Source: AGHT+IGWIAJthDtwMQZ0gqKG7+CsLapbpyAi5mCvCQQqlukiOFctO943B34380/mAaJdgNWF1tQiIbKbwmznCJfBSVA= X-Received: by 2002:a05:622a:5c12:b0:46e:1ded:e31f with SMTP id d75a77b69052e-471759fcbbdmr5507451cf.4.1739186576139; Mon, 10 Feb 2025 03:22:56 -0800 (PST) MIME-Version: 1.0 References: <20250206044346.3810242-1-riel@surriel.com> <20250206044346.3810242-7-riel@surriel.com> <84be5ed882141c8b407a78590f6ecbc7080c98b0.camel@surriel.com> In-Reply-To: <84be5ed882141c8b407a78590f6ecbc7080c98b0.camel@surriel.com> From: Brendan Jackman Date: Mon, 10 Feb 2025 12:22:45 +0100 X-Gm-Features: AWEUYZlZKITTQi7m9mmN5ZyB75aVg0AxeLDBiB_aquYnmDsgFsE-Cf9HIreRXA4 Message-ID: Subject: Re: [PATCH v9 06/12] x86/mm: use INVLPGB for kernel TLB flushes To: Rik van Riel Cc: x86@kernel.org, linux-kernel@vger.kernel.org, bp@alien8.de, peterz@infradead.org, 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, Manali Shukla Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 40E25140019 X-Stat-Signature: 89y8tzhjmw51wxofwx8fapr3enxahrdr X-HE-Tag: 1739186577-550826 X-HE-Meta: U2FsdGVkX18cTqIdoDzCPSanmCTp78Fv2RFAhrY4UyyQynnXMEg1pTMYOJyEhqlpy4p2hACoeXMuA+NbfgPl//fgDjJbbOEEYj7uBLGkqQlC6XzLXUTp0d9EpJIIB95Yp2F1V550O/1Ltga6PE0BrPLQXRTTC/YI5U51yE/4ePB98RU38OW7PzL4hEhHGgn1nzzgo9ATQJ1/4GdKYDwAHA86o7qU3Jjdp16mxDWm2JTYRrEO2cb1sFDu4WYUlmu9BEsK+ZtH8SpPA4xKeYhR6Q8u5FghV3/+nDxmTsUEGq6nQMKlZjDqED0mxjan2yxSiypvnp+7egqfEnBOeMNvY4oYsQKCTAwSctUyxSTPuyLbPGtAXygviZ2D+AmByqyz5xh5WKgSRTxD2yKXbssl1g6MxfQrxVsEHHrfYNUMbqBm4CYG7/lCf8WPbTxR/xbBAdDFOLoorhepEg40poKQ1byN71WwioqCWJ1D6Ap2BixosrifkOb7mk1g91vg2xh6lq62tF4/FNvt0Gr83IrUJwtWGxw6XiU+TJubrlFRYhiMYK6LgblwZdKaMcj8jK8YvHNDcht/iN3JQt9C3NH9kpiAazeeRtAYLsIbrOjz+vC0PnVfyIMGkTed9MU5ZzeEmCBrCjMnxUydcT7XZitB7FnyjQ7ol2NU85NnB5y23DEc9KTSYl0xwiZR2ilXPx1310vSolFWZ+7l1KboX9kx5g/d3efAQXnyneidRUf+oDd6Q3yHJzQsBItpShKWdOu+jQqTjTkPp3KpLsOYd+6280G6JqC1VJKZUhsVF/qpEDxdPZ9ig7PqPzKHQ7FE1jJPppJhH4g3B/dkdJNreVyrpedZ/he9R3fKs64O9bZbzq7NPlwWxRu7lQ8fL5e1clVlZUAKllpz+NxU7hpNiIQ1Ep5ZVn7T5QFSJS9SUZUwUcWa/bAhMyVgiqLr7a3JUE21lQ4ZC9jVaH3usj6HfVK saAgnTh7 MLosoVTgsb94WFLF5o8/rYywZCmJQwi+CLHtNZo9K/HH1iGrt2uloC3hgY1QcFIq0ZeNTAx9OQGEtdAChV9qW0jRJh83CbwNf0Qf+Q6b6/1c0bRhsIZANUojKjs5Z4bXcxte2XGadW+yvyZ0mHmqT2pqPWDhIHBYz1Blo+tuK40rkMzsEinmVxninEdRrqmgfY6VxKv87m4n1NhWxNW92L8hdU5wnMHtjAfumi65wYvjLgG7ni8NL4IkckwT7VMp5fztFbyJtFC+7BKjwhzikDgQSEQZRc9EEBkLa1NlxydG749Hls/5KCTJ1oIj8hWK/x4fBIqlnPaCPZ7uS69QULwE2FYCmEBUlLxO4fEhYvi2i3JXTNtYqyF0h1A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.001815, 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 Fri, 7 Feb 2025 at 21:51, Rik van Riel wrote: > > On Fri, 2025-02-07 at 17:03 +0100, Brendan Jackman wrote: > > O > > With !CPU_SUP_AMD and the above, broadcast_kernel_range_flush > > disappears from tlb.o. (Caveat - I didn't actually read the disasm I > > just made it noinline and checked the call disappeared). > > > > It's actually more lines of code but now they're off in a boilerplate > > header and it's consistent with the other flags that do this. > > > What compiler did you use? > > While I like the cleanup in principle, I > don't want to saddle people with older > compilers with extra code they don't need. I used a pretty fresh Clang but I'd be very surprised if it needs a fancy compiler. Compared to if (IS_ENABLED(CONFIG_FOO)) I think all we have with the disabled-features.h magic is - An extra __builtin_constant_p - I did a quick search and I can find GCC release notes referring to this at least back to 4.7 (2012) [0]. Note also this doesn't create any code. - An extra bit of constant folding to turn the (x & y) into true/false. This seems like something compilers have been good at for a long time. And if someone's happy with a compiler so old that it can't do this, I dunno but they probably don't mind a few extra instructions. [1] https://gcc.gnu.org/gcc-4.7/changes.html