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 EB6BAC3DA63 for ; Wed, 24 Jul 2024 16:49:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61BEE6B0088; Wed, 24 Jul 2024 12:49:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CCB66B0092; Wed, 24 Jul 2024 12:49:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 493976B0093; Wed, 24 Jul 2024 12:49:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 2A9AA6B0088 for ; Wed, 24 Jul 2024 12:49:26 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id C433140A88 for ; Wed, 24 Jul 2024 16:49:25 +0000 (UTC) X-FDA: 82375231890.11.F5D6A5E Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf17.hostedemail.com (Postfix) with ESMTP id 191C840028 for ; Wed, 24 Jul 2024 16:49:22 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nnT6ZlhK; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of arnd@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=arnd@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721839710; 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=mK/MOPAPzyKcdN7os1luxH6BiYbo27ZHPRX8Pd93N9I=; b=wvcP9ZifIXUrwn4naPNry0hKLHFlMJ2hH5eRH7OM+JTKwj/Ysmj+YvvBgnD6FW1KQo93Zp OgVBV5t/4sYqVyvnAN7ttw1euJWyy6VILnk4GM305bLQCpQf3Bb2ukiSDQHPm2yz9ullvo xqP19zBL0J69tsdbHUft8Oxa/jgbPAY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721839710; a=rsa-sha256; cv=none; b=jTD+aczF/J3hWlE9XEX1y3DCVmjBU09FwV7P5nxTZtI9R3unfmjAx79Omt3lHEumkpNc2H QRpbDOCiaMp6r6wi6nJEtAFITraiDaAr0EuTS2a/n03xo84yC/zAAoNhSJMkPVK8EsaVsz x46atkebefbslgW41t93PTEQ6V4zg/w= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=nnT6ZlhK; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of arnd@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=arnd@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id AD587CE119B; Wed, 24 Jul 2024 16:49:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 877B7C4AF09; Wed, 24 Jul 2024 16:49:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1721839758; bh=FqPmnPvkXsNLqU723bsoiovxks5vbJ26J89jMhJn3o0=; h=In-Reply-To:References:Date:From:To:Cc:Subject:From; b=nnT6ZlhKXcJogU2JNoQO8vRFRfgIntS3zQyCIB8hKIQKEMMcPkXt06BKYhdY1/FCg fNYA0WVdQLMczaNHZgkHLfgKdW7i+9UbXJRSKBHHuqNQKMF+a04+RQMOp5OQ/0uVQz DTj8ewQJdG2G0zX93xqKFdsrhmD06zi6JYD6qlFc51mHqyNGm1/BT+4YDKE3q98q0V frpVKrnzgt6HMFcUcakldWuKGERZBe91hKGzYGXT57WtVkvm+pkrPql90Gl6CkPqQo tIDiwn/oUhKQOoh0/zg3LnfI8nsnk/xzQEh2FIG2tE3BFHwBVckG125wNXDlwniQUf ZOKYsy6Aggq0g== Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailfauth.nyi.internal (Postfix) with ESMTP id D59191200066; Wed, 24 Jul 2024 12:49:16 -0400 (EDT) Received: from imap51 ([10.202.2.101]) by compute4.internal (MEProxy); Wed, 24 Jul 2024 12:49:16 -0400 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddriedugddutdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedftehr nhguuceuvghrghhmrghnnhdfuceorghrnhgusehkvghrnhgvlhdrohhrgheqnecuggftrf grthhtvghrnhepvdeviefgtedugeevieelvdfgveeuvdfgteegfeeiieejjeffgeeghedu gedtveehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh eprghrnhguodhmvghsmhhtphgruhhthhhpvghrshhonhgrlhhithihqdduvdekhedujedt vdegqddvkeejtddtvdeigedqrghrnhgupeepkhgvrhhnvghlrdhorhhgsegrrhhnuggsrd guvgdpnhgspghrtghpthhtoheptd X-ME-Proxy: Feedback-ID: i36794607:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id A420EB60092; Wed, 24 Jul 2024 12:49:16 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-582-g5a02f8850-fm-20240719.002-g5a02f885 MIME-Version: 1.0 Message-Id: In-Reply-To: <03601661326c4efba4e618ead15fa0e2@AcuMS.aculab.com> References: <23bdb6fc8d884ceebeb6e8b8653b8cfe@AcuMS.aculab.com> <03601661326c4efba4e618ead15fa0e2@AcuMS.aculab.com> Date: Wed, 24 Jul 2024 18:48:23 +0200 From: "Arnd Bergmann" To: "David Laight" , "'linux-kernel@vger.kernel.org'" , "Linus Torvalds" Cc: "Matthew Wilcox" , "Christoph Hellwig" , "Andrew Morton" , "Andy Shevchenko" , "Dan Carpenter" , "Jason A . Donenfeld" , "'pedro.falcato@gmail.com'" , "Mateusz Guzik" , "'linux-mm@kvack.org'" Subject: Re: [PATCH 4/7] minmax: Simplify signedness check Content-Type: text/plain X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 191C840028 X-Stat-Signature: s5foxm3qno1ygjyd963g4q89j8qp3gbm X-Rspam-User: X-HE-Tag: 1721839762-602069 X-HE-Meta: U2FsdGVkX1+1qcnTRVwIxCfzv/4FMAyeNhG0WOHeFzSwsFaMjuJvp9/N3R6qE8rHDQEpH+qVPURAX/FymlbTAKUrduqyPh7Uhc1jQ16XvNr5jaDpk3El9tbgppJwZVJLTyDvXwt2KUJyKCEjFdGx6FdanuCktkeOoDTRsiHu/zN4vGaBs4vyCoszfPUk9lJ71BjF9g/FCjoJdnPlJzW//P1K/aB4ehLnkYVqj+ga/pSTVtvCYcNbWbe+qXEu54lbHARPprR/WkWn8M+d4ggts7nICE6JTyXI2TwgXSGUHH5Yx6okHGypZhP+MLnXdtNEJPLvgJDO9kmTywWa/so1D8MiA4zu2vEPhpm4tYsH/GOrSAsAfstpivwKmVRqqSdGaQ0y0q90Sp33T/J69TLVwtDu+ki3th8Vub2MPW6KhgEZQzmNX1uYo+1xRhGHjY1p8aIAalgNadD5QOAjYq9CI8d+kbNfWd0aBQIpMW0C+RAt22VXk3yBl9zthkd28tCD3JV04brR6BrICdPP/tIeLZkuATw9ShaedpeBsLIR9ePoe/gN2UjHQnfz7IcwSGNYD7oCGQxLhJHPTQUwgOxS8ieEL33lAu1z3315kRsYq2+oko0KmQxPe/g1MvF8n8Y1WC+5hjW4ohUnST86I4dwPdCKvSey00upWe0VQa4zre+VIhnlz6Fyb70DGA7xx5rvhtRYj+sbOka4PXLQ4Sj7nge+LLIL5ErqKSQ8IridfqbokgRMe2l/0wL9lzWmYzO2y2JNDcSwGHoORl8mAcPgfzb0KRmxAjOTgFjYmpD71b3E2AO026Wlbs0HiFzkaR4ewvCXF5z8wQsRNFREM4/Z2LzhGMjWGfRrS05cSDFS0OQOD92pD2PuZvetE25myc7lGN4h6RWnv6LKCqqJtI1z62E01tX2nCGrB4liBbAVreNKWMtlheOYW9BAhg6k2GLNNKQlhBDLmsk5qqI6xJI DHS6LE44 Vnb28Gdfa6zyw61fii9QRc214IV4635zlDDJST2wgefIr2g9wwke8npjpQZ9mM/O0TLjvKQ75t8pgARhFuBvmnLck78SCJa3uL3I9CQmReg9jR6t0pnWigWh1OltgMmbNyivJPtmeBuwPHA89I5roTrxuDAiMsAUlYcfj7C4Ax0GNxNrBSfoxhiL2gMX/R1Wrru/qfmycoYEdTw6xk0hrRdICnF5Wb0qXZkYPqTysNPHkEHctp1XHmMfvMMg2ni3p/wo77Ykzfd6bLOomkwWss5cZerQlCtidAAOL3BDsPBqUe7Wvmrc+PLE8Zg== 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 Wed, Jul 24, 2024, at 16:30, David Laight wrote: > It is enough to check that both 'x' and 'y' are valid for either > a signed compare or an unsigned compare. > For unsigned they must be an unsigned type or a positive constant. > For signed they must be signed after unsigned char/short are promoted. > > Order the expressions to avoid warnings about comparisons that are > always true. > > Signed-off-by: David Laight This patch gives me a 10x speedup on compiling arch/x86/xen/setup.c, taking it from 15 seconds to 1.5 seconds for a defconfig+CONFIG_XEN build. >+/* Allow unsigned compares against non-negative signed constants. */ >+#define __is_ok_unsigned(x) \ >+ ((is_unsigned_type(typeof(x)) ? 0 : __if_constexpr(x, (x) + 0, -1)) >= 0) I don't understand why this return '0' for unsigned types, shouldn't this be ((is_unsigned_type(typeof(x)) ? 1 : __if_constexpr(x, (x) + 0, -1)) >= 0) ? Arnd