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 6CB55C369B2 for ; Mon, 14 Apr 2025 22:26:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0AF062800E3; Mon, 14 Apr 2025 18:26:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F035E2800A7; Mon, 14 Apr 2025 18:26:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D05872800E3; Mon, 14 Apr 2025 18:26:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A8B512800A7 for ; Mon, 14 Apr 2025 18:26:18 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id EBA7A1C9B86 for ; Mon, 14 Apr 2025 22:26:19 +0000 (UTC) X-FDA: 83334084078.03.E834F95 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by imf04.hostedemail.com (Postfix) with ESMTP id 1717F40004 for ; Mon, 14 Apr 2025 22:26:17 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=h0eN56r5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf04.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744669578; 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=7Seffc+yZNHH7nQZK2TccuJe06M8bYwImxNduIh9Hks=; b=BtHR4SG7acEEQEzMBqXH0WLeYTQYhdn/zkcAiQ0cy70zX13WvVbrz1NNEoUPPhldLNda13 m2YoLRX1HjV0ho2goLO2sMD/71DHdFun9Y86dQx6hOHTgrgekbYWq1YCbRtPKmJyKMMayw oa/zOLWs/HEvKOvlEO/WdQ94U0fQlUw= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=h0eN56r5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf04.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744669578; a=rsa-sha256; cv=none; b=T85ToUB6nsFBgvHbcO8U0pWrtvCfVv7Q0zo9ukF68NygtTtwHGnGquIP+zpaemsdCOnHyq Zlm2o0iQYDfK2JUI3gdGcw/QUWfGN26R7KiA0V9KIOlNs//oMmsOQyLZ+cnOnAqI0xfvh6 bNl0x/R/4o2n8/WfC6VFFYmqNm+2cyo= Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-43ce71582e9so40055285e9.1 for ; Mon, 14 Apr 2025 15:26:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744669576; x=1745274376; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=7Seffc+yZNHH7nQZK2TccuJe06M8bYwImxNduIh9Hks=; b=h0eN56r5tdKClPKWiCwqB4ycoSfPXcNFi1wuMiXlJQI+PMitO8a+xla1Jf1m35CjlJ BOgSJE8YPYE0qVJ/VOEOaBO9xIqpq4wQwp7btojSQGCPZwoDvw3UpUcxBV2A+vcArHTL TGedpQXv8HQQCyliRJjxYH8SBmcFKTJXzIAB/vilbWReYHLpOyLZu+oOVXtuaZpe3RAs wN5mVbDKJFem3dq7UnSsGSZ139qeb1p3LfX0CjJfMdN5s8DWHBwZF59npUxjflx4S/ob e8YSzKYMSghADwn4WeJc+DyDlF25vX/NaB3zLeu/sjWZQd+XchgpFeJV62UgXCTMaXe9 D6sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744669576; x=1745274376; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7Seffc+yZNHH7nQZK2TccuJe06M8bYwImxNduIh9Hks=; b=rJ0xZEYko+8XtdIy7EoRN7dyMmD/RCwJswX8vdS/8ZbraZBMIBgu0DjuushtFjk5Zv ANmnnYMkbrpnO0HmRGeYU1wo6ymsyzuOU5ykgqnLtLqy+NkSrrOd3eohlRZEpwwG89OP UhtUdqmGPk+qX491lZrzSDA30U20EmORDqn3Y5UmU/Pp2L8tfyAqcBg43zbV7rK2osjD Ocl7RQRqmYTxFd8KfGxuaBwYWB6YxtGcHJTC5RsefK/ry/eSOYePGDZBmRoJlbfTSksS NuAaMoNXhwvsUVin+tsmSXeWWI7+EV/NW2ksB+TXO7SLzwGf5sM57wg+nIsToNQ1eR/p hqWw== X-Forwarded-Encrypted: i=1; AJvYcCUJM8cXW478MKU67Bt4cnsoGiVWpPWaOXbpkehoaBcSR1FtwUS78MqRsXZ8UL9oRCZPrYUasyaQyw==@kvack.org X-Gm-Message-State: AOJu0YxDb4zF4u/AzZm3mZeUe1Mmz37rP1EZvllWcPg7/0MZLs2ruFjr Sk1xAIJYXDjniw3j/0lQqvgYFO6puFRrPSFsbm/mev+mcPBhW1Nf X-Gm-Gg: ASbGncuEiNbIPejW++c4FBunuH6dqJbwUgA4mig1463nUYLfB6WQyWB4Z1ZIXJj5Dlr bEjxU3CxbyG/UDGNCGa6Rqcirk9MNjUEAb0wNc46BtahSs/8WudRFLi9m2ynzqh0Y2y0Q/A3Qcy uV2W84dus1/7f0iOL3LTfcieWX6gEykHpCeqY7UyG/IVIoyyMBXGNsqFSk8Ikzh3pL40vWWACXD W10hXUSRc0XlwuEI08H06O/B6IhbbOZSG52sInTUFVfOsZSzuqU9AU2rYSPupNU3q5IBIUgX4id c8q3i8Ev0JcDtXyEIehAKAiecjjVF5VHN+W9jSGnSK17kUxKDU3sJtiLtpS6/caG X-Google-Smtp-Source: AGHT+IGl4JCafq/SyDh3qQGSjEQfpCYf/XEY/8sqQywe6otVD8GhNKZ2Fe8OOwdiYoKHHvDzNEJVxg== X-Received: by 2002:a05:6000:2212:b0:38f:2678:d790 with SMTP id ffacd0b85a97d-39eaaea67f4mr11937204f8f.33.1744669576284; Mon, 14 Apr 2025 15:26:16 -0700 (PDT) Received: from f (cst-prg-79-34.cust.vodafone.cz. [46.135.79.34]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39eae96c70csm12351447f8f.38.2025.04.14.15.26.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 15:26:15 -0700 (PDT) Date: Tue, 15 Apr 2025 00:26:05 +0200 From: Mateusz Guzik To: Peter Zijlstra Cc: Ingo Molnar , Ankur Arora , linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, torvalds@linux-foundation.org, akpm@linux-foundation.org, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, mingo@redhat.com, luto@kernel.org, paulmck@kernel.org, rostedt@goodmis.org, tglx@linutronix.de, willy@infradead.org, jon.grimm@amd.com, bharata@amd.com, raghavendra.kt@amd.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Subject: Re: [PATCH v3 1/4] x86/clear_page: extend clear_page*() for multi-page clearing Message-ID: References: <20250414034607.762653-1-ankur.a.arora@oracle.com> <20250414034607.762653-2-ankur.a.arora@oracle.com> <20250414110259.GF5600@noisy.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20250414110259.GF5600@noisy.programming.kicks-ass.net> X-Rspamd-Server: rspam01 X-Stat-Signature: xjr93zbxju19ctdrcenqygr7i31jbxy9 X-Rspam-User: X-Rspamd-Queue-Id: 1717F40004 X-HE-Tag: 1744669577-972317 X-HE-Meta: U2FsdGVkX18JrQe9GZWY7jTsXG+NXxUvBUgjiNv+8BJ5KnVOMv2Deqol6/XZKAO/KEUYMcMjb09Rm3/sY3wOdUKsJ6pHSGWyy7dE6rbv8rUYrX69JwGAbmB0YZRijXisyKH565eAik5cwbY+NzjozYmMJC+OM82h7a+Gd5Z3IVyuDWGuOpibm4AqxkbW7M2DZFBz5v4O5YbR7hEG8z+eCBjEfMClqrya5y+0kYaewFLvQXCw45XVyGa+aLvuIWWYIXwBFDcXO6FUS0Mb+qKCi4mGz54ytKgJo2ZZBVqBgVvTcVr9+kwc01SbmcJqhm8QFFkTaZjgYccAo5i9vjQ7Pw53Bxa8/RCbMc1hssGXkhcRpEWaemGmeS1OSTuCp9lvndYGwqr6LH5pWAJvvyHsgYAdJ4U4xuDnUcq3irCjrFp9v+F9xDONO3L2hbGnZMJWwBfn2LAXyAL3QIygI/LLSJJaNeLmR0iTAnZ+uE0CcyIVDlKrU5fa7XnhLLOQqvW65ZsfUZd2rT8NgcspbtIJFlbVWkvs3jEVMXeRvJlI+wrCVO9BR3/O2SbgTHftdwN+li5vG/vJ9fwQWsGW2PePV06snNKovdrN3bwJpjcGywJxncqbqhySRofVVHFGohS477cqaUVVDMSVhMxg4v7WJ8Rs1EG3RDGTaHLFxsS/964pJZTovUpU3zKSp1PT5lXYg3FOZ8BKrewAV3mzrxysPvaSUwhu8G8LSXMvsBPPze0J7uY4JtR0CyUqTji3swMqaqn4CjBHAnL67Z51u7jxIumqx/8F5r8i7BJ8lHN07+Qddel310IJV+FrzTGFLanUXUWQRIbA1D/dB/CAF7NeeEsVlMAXoj3UpqKS+i8vap8N5ZyicRPyVpCMop56gL79Vj2uioxMtVthfLv3gDL2mAAHgB0D3fu50s6iu2P3fukMw5ScXt6o30JZDpvnQhgGP0WbRSDdTvkdbb7Mxcp fxrF34FL hrG51wwTx8BtiCGuaOUgojBBedUPDI1xI2WZGM/g5nVkjQ4iIcpVtKS/H4TgyJW3aE76Qdl7hStrLHDM/8G/arOVKD7uiSoMY8O5HngbqRt3AeHP4b1z8yoWIhkTVk6NgBFWscqUGgMxdt2bD6ZLmYX/3c+JBcm3h90hXoEi4OAjgmfJKyvU0gG6TC0RB8Q6zxjsj1P3XUN3cG9+F0KSb0gUccbZIY/xJ79XA9+2YaAb1ys/EjzVcNmD+tMnSfsr6EyUCKgooJz0sREJxeHNMi5JwW+yn2OVkwor2eIRUNbn3Y0Yvj2ZjDAlfNXncmhQ4YQ8bo0eNdD236y9FcVDg47Iaxx50PDv7rEpopHjWaWYRFFWeVB2GuPM8YFa+DvFBicwCSB+SDBusiuUwfClk7cd6GTvcARAwy5UsVZKmZZUcmw2Pc54NeVbckvKhl1h4ki7B 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 Mon, Apr 14, 2025 at 01:02:59PM +0200, Peter Zijlstra wrote: > This symbol is written as a C function with C calling convention, even > though it is only meant to be called from that clear_page() alternative. > > If we want to go change all this, then we should go do the same we do > for __clear_user() and write it thusly: > > asm volatile(ALTERNATIVE("rep stosb", > "call rep_stos_alternative", ALT_NOT(X86_FEATURE_FSRS) > : "+c" (size), "+D" (addr), ASM_CALL_CONSTRAINT > : "a" (0)) > > And forget about all those clear_page_*() thingies. > I have to disagree. Next to nobody has FSRS, so for now one would have to expect everyone would be punting to the routine. Did you mean ERMS as sizes are in fact not short? rep_stos_alternative() as implemented right now sucks in its own right ("small" areas sorted out with an 8 byte and 1 byte loops, bigger ones unrolled 64 byte loop at a time, no rep stos{b,q} in sight). Someone(tm) should fix it and for the sake of argument suppose it happened. That's still some code executed to figure out how to zero and to align the buf. Instead, I think one can start with just retiring clear_page_orig(). With that sucker out of the way, an optional quest is to figure out if rep stosq vs rep stosb makes any difference for pages -- for all I know rep stosq is the way. This would require testing on quite a few uarchs and I'm not going to blame anyone for not being interested. Let's say nobody bothered OR rep stosb provides a win. In that case this can trivially ALTERNATIVE between rep stosb and rep stosq based on ERMS, no func calls necessary.