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 3AF72C3DA49 for ; Sun, 28 Jul 2024 22:23:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 88D146B007B; Sun, 28 Jul 2024 18:23:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 815DB6B0083; Sun, 28 Jul 2024 18:23:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B5A86B0085; Sun, 28 Jul 2024 18:23:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4AC796B007B for ; Sun, 28 Jul 2024 18:23:21 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E731A16023A for ; Sun, 28 Jul 2024 22:23:20 +0000 (UTC) X-FDA: 82390588560.09.80A9BCB Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by imf30.hostedemail.com (Postfix) with ESMTP id B163C80014 for ; Sun, 28 Jul 2024 22:23:18 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=google header.b=Q7CXStWR; spf=pass (imf30.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.53 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722205346; 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=a1sxZTRzwpCQhsO6um3jbebpk+88gE7Dcq+c4bF5JKc=; b=hM9SYESwOLR9ATdjzM9d3RdKNIomIVOPg5Swys8f+q3tb73MjI8oxZHqxucUCwolpHn9Tb HZCW+GR6AmLpcl79QDgKEQ/lTG5B7NWhuYZeCqwWsylxqJfMWSydGB7D3qDf9WfjEZiJgV BNleH8rpUUhCx286rS6vTNxnq7bi5uU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722205346; a=rsa-sha256; cv=none; b=GrJU6+k5v1mfWtehf1xMuI8Xn35PIaK8FgjL2m07c+BL79Y56u8mqvunirWwv+Cb0AzTqd 3bcz5hk1PVfzFkP0UVJBWhoBMKRxReLoWQS8LQXWKcUIhuFqimgkBhVuhB4Bb7GhkrY+IF A5s+ZSr8pBxScYQ9PwBHW9R9GDenpGI= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=google header.b=Q7CXStWR; spf=pass (imf30.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.53 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5a10bb7bcd0so4814128a12.3 for ; Sun, 28 Jul 2024 15:23:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1722205397; x=1722810197; 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=a1sxZTRzwpCQhsO6um3jbebpk+88gE7Dcq+c4bF5JKc=; b=Q7CXStWR7q0kB86NTM4pRrdxn3qDl+7O8gZKxxpaOjIYeOzkGqhBFIVQq5I1FFAbwg vI5MBPcFwB9lpKc/TNpHsuykPkmWWvYnqfqdVwVJZDBSBMkx7U4L0arXpSYagCnO+qH+ luUeaCVNmgFlpzBkJpj11HkZVhNjAcRHciNKI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722205397; x=1722810197; 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=a1sxZTRzwpCQhsO6um3jbebpk+88gE7Dcq+c4bF5JKc=; b=JC3OPy7mMcFik09v28N5iyGpUPDNGjRjwadjnx0AnwnL7pEbbQO6dDRJZbQW4KPSMX Idj+w3ub6/48yiaZEgBK8AoktfnZeLuSUqs/R7LI8/a3spk/tIt/1dYIDwWuVaovavbN wUsi47x7RP5hXWNqv9O8Xrw0EeNtILQs3X+2o60zZbfF6uSoU6MF4voFXtF1pt6b5RCQ AXlSfmVriT/ev2wW9a2jdxp1CQ6ym3+GZHoj5S9OSpuHsKr8h61klOx4Ly0ukWwfqecL 7b8DDEpvXy+O7lzy/C3dpegDbLiSC0I30yDOMg1jJ5srojYeCUzU9Tv6fwbudDQF1SVT 5+DQ== X-Forwarded-Encrypted: i=1; AJvYcCXpxyVC25dKwOFm0ip/Tq7nOEmenMeC5e1foR81a4YJuGT+ZQZ8RkSIkP4x0w+5zti9wMqvveDIFjtUUnJh03c+0PE= X-Gm-Message-State: AOJu0Yzk7y0z8kYQ/W2P073YmjLxKQi3qCrK1RZQ6KxPYfWGncru91ac 1uh4VG0E47jUda06NQ869Z2qXdBkusgaXf4aNzROgHDwkTHtZ/PYcHJWBZ1rRual9fTDXcYP+MZ cuj9ovg== X-Google-Smtp-Source: AGHT+IG+9JGlG4OF8nDcZfhL163o3IN54CbL4Qd5aEgMTHEr6jve++5Iiv6XaMAuC8wEFFM9/gtGQg== X-Received: by 2002:a17:907:728c:b0:a7a:c812:36c8 with SMTP id a640c23a62f3a-a7d3ff9d872mr374809566b.18.1722205396869; Sun, 28 Jul 2024 15:23:16 -0700 (PDT) Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com. [209.85.208.52]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7acad418f1sm426336466b.135.2024.07.28.15.23.16 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 28 Jul 2024 15:23:16 -0700 (PDT) Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-5af6a1afa63so2290773a12.0 for ; Sun, 28 Jul 2024 15:23:16 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCUOWQz73Urr87F4OlIHHhj79PpiysKbqgGUgE9W+mQ83tnwmK8ArEtQSRwUxYS4UJYc7X+iM99tkYh7OTUK9Cccu20= X-Received: by 2002:a50:9316:0:b0:57d:524:8818 with SMTP id 4fb4d7f45d1cf-5b021e173f4mr3707995a12.20.1722205395767; Sun, 28 Jul 2024 15:23:15 -0700 (PDT) MIME-Version: 1.0 References: <402c3c617c29465c898b1af55e3c6095@AcuMS.aculab.com> <5cd3e11780df40b0b771da5548966ebd@AcuMS.aculab.com> In-Reply-To: From: Linus Torvalds Date: Sun, 28 Jul 2024 15:22:58 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 1/8] minmax: Put all the clamp() definitions together To: David Laight Cc: "linux-kernel@vger.kernel.org" , Jens Axboe , "Matthew Wilcox (Oracle)" , Christoph Hellwig , Andrew Morton , Andy Shevchenko , Dan Carpenter , Arnd Bergmann , "Jason@zx2c4.com" , "pedro.falcato@gmail.com" , Mateusz Guzik , "linux-mm@kvack.org" , Lorenzo Stoakes Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B163C80014 X-Stat-Signature: rk46tjz31yy7zbdw5xtqhhxwyti3ewof X-HE-Tag: 1722205398-229693 X-HE-Meta: U2FsdGVkX19gbTgIQdU/fbEQoIBgP0cAqNuBTL7jn2dBSdEJbmLG05riRLzXOnqDAtnlTngxqXfHmZafqBA7YvFfR3Rzk9R9JOmGaHjSQF5geU5gEONT4zqnNBjL4Uv4B5IxTqW7PSbv9IspWeBC3D++4To9ukp7fbzYnYABwiDrjRvUUfzrcuH9Cl9Mz60fypB36uWI2aGasXwYVsATmiRw1Aja4HppXC5GEGKcrnMyDJcZdnj0vhZQGZv/CUjbHKiwIWbeJTDmi7YDkwvdafRPoEEhA4XK4EUEYdVpwL4i9VXXqm3cDqwn1Sn3gCvDr79oGXcON2g+LQsqjkXYBOt4GWotZrg6bal+7KL+rbkNwZcsLLzPwEupaleAS4dj4s/lyv6lGY1F05VUGU64Za5VCFPt1xloTgOi48v757Yi8Ppf/Wo8iOKifeBlvUEtFao2eiAM4evR+hpcJzzywt+QTkOjzup5nAzubuwH+AIA3Im/5HufGUpkUnA6+nBg0lKkF2IbegRVNdONnsGs+bS5AEWqZz11ZCs+4ThlglGMjXvZ5sM0lij0QYd/9YJFy9oPISacTOhcZAgH8vHK3gvOqCZzHKifLiq0bcb+jh3HCcB3Z/s7lNpgHitKNKbst1F62iW99q+AZAGQCqr6jJLFxWbzM2imusFA9J7ghbDAwaTXe6hKecIH6IbqiJgo/Al8Jh0Re+G1d0E30oUv4VIBmRFiosIa2Py5Xl2xeYLZnFrdu72DXVrHrrOsnXpQX+S/WwgBqZefNeZZwEeiOBS1l6ysh5SPKLUVy+ZajxwUb69QROyyM+bSaEaVKHoD+htnuYIaMKSuQErFVZBTksn5WdH8640O+f8zugEZPKfZf6bZ+88wInfoDLdwSXPfKOupnhfFRO5ejHSUYSyTZcPlXvoidXqFej3Zh84c4uOXd7BBzpc7VuptLeZubuK6ajKapwbNMGnb3fnYdNT JHewY/qs irf+ewoGrwRDIbww8Tx7unea8b0od8i5Aor/6+UibUitP5n7nFJD6grOY35MxLXLnolQpE9BSv4HHJKWhckK/9Gvk4HMdO+q5GB11TP4fCDdNGp+Nw/6eCRJQ8bCqLiSKXomCOEkbZctZiMgHeVHWm9jXMlgLlvc7KUaSidVVfvCzK/CwtTWLen4cky0Ssi8VdfDQi6HJ0shCue2K4qt4hUAiRay6ZlmUC05WXf0t6kcI7VQbaPUuanKs6IBom5vageGXbZ/I9jvc8f8P1kxQD+FYX7QQmqSz3MCWWOkBP3ufNPabnEqMIDIpH7QJuRMV/xHhKPgPd71yNvX6c34NKlpGf/6Ov0Vvxv/6IWHPAPFwu3+1Y8yApHAidQLH2MIeYcIHsTcIzs8jtgpR9Alb3rSYRvxL4zIvicvGgNnZp5P7tP9CJm8lJgvk/pbMyx8tWMCKPOHc3EPyqEIkCUDAtswaUiJkSZUEY6SQDqJQJiUgw/A= 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 Sun, 28 Jul 2024 at 15:14, David Laight wrote: > > Ok, but those can't be used as array sizes or constants. > So the temporaries don't matter. No, mut I don't want the insane size explosion from unnecessarily just forcing it to use min()/max(). > Don't they just work with min() - if not where is the signednes mismatch? David - this whole discussion is BECAUSE THESE THINGS ARE A TOTAL DISASTER WHEN USED IN DEEP MACRO EXPANSION. So no. It does not work - because core macros like HUGETLB_PAGE_ORDER end up being used deep in the VM layer, and I don't want to see another stupid multi-ten-kB line just because min() is such a pig. End result: I'm going to make the rule be that when you do macro definitions using constants, then "MIN()/MAX()" is preferable simply because it avoids the insane expansion noise. Then in normal *code* you should use min() and max(). But not for things like macro "constants" even if those constants end up being some computed thing. Linus