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 2CAD9C02185 for ; Sat, 18 Jan 2025 23:24:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 80D996B0082; Sat, 18 Jan 2025 18:24:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7966E6B0083; Sat, 18 Jan 2025 18:24:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 610036B0085; Sat, 18 Jan 2025 18:24:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 3E4D36B0082 for ; Sat, 18 Jan 2025 18:24:17 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D87F214035B for ; Sat, 18 Jan 2025 23:24:16 +0000 (UTC) X-FDA: 83022153312.07.7BF9AAD Received: from mail-vk1-f172.google.com (mail-vk1-f172.google.com [209.85.221.172]) by imf17.hostedemail.com (Postfix) with ESMTP id E6D3A40004 for ; Sat, 18 Jan 2025 23:24:14 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="OCOKi8/k"; spf=pass (imf17.hostedemail.com: domain of pedro.falcato@gmail.com designates 209.85.221.172 as permitted sender) smtp.mailfrom=pedro.falcato@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737242654; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AuL/bSx8ptsRxql5Ml0//8eBSWYzvMu7bIFAYAxZe2k=; b=Tf83R9o4caHFsftE58CNxjCpJ0RmWizL1e/eO1b4UwimNjZHs36/NAHoUqHPqxojbzxmvC U8kvOfERDhRo8jkjimjnBXcZ1JemjUoYanZ9Dp6VxA+h978ekT8ZaWFPdlWnK/j705bILH 0QVyi+SogBotEftg65t1NR3LeL7V2Ow= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="OCOKi8/k"; spf=pass (imf17.hostedemail.com: domain of pedro.falcato@gmail.com designates 209.85.221.172 as permitted sender) smtp.mailfrom=pedro.falcato@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737242654; a=rsa-sha256; cv=none; b=J602brsIrtonDpRGKnJbs4hAs28Am8bRL69s+oIfb0yuVyhYtSWc0yzwDQ/PGI6ED/C4qz cKUPa71f/imHL7U9TDm+TEBpwL0N3DCV3BsSDdSBzNUFypP4gPsvz3DQCxmKgj4mAUSKAa wogKrb/dZzWrSHkqxMP3BM2aM88w50U= Received: by mail-vk1-f172.google.com with SMTP id 71dfb90a1353d-517aea3ee2aso2043364e0c.2 for ; Sat, 18 Jan 2025 15:24:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737242654; x=1737847454; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=AuL/bSx8ptsRxql5Ml0//8eBSWYzvMu7bIFAYAxZe2k=; b=OCOKi8/k3v4YVIq2WOJ2XKmlA4IYv/Eu1AgL66HV8R5pees5vgkiA6LSVAYWTB/qYg W+QeriP9aoK3Jv9EwmJTk+MjUywc11pJINzaHbdI49FgYDjSrB1cEGVYtU8TU5ielGwo R4Qml+3P5arT8iKFC5sp2SnMjB/VpXZgKtan+H6/bIqFXuNj8e+eaavW/KGaa5XLWG5/ oRQT1iFp5TNjac/N9Y9O7H1Wqafc0YQaP8lSsZl3YebzRRoASgIavWIG5LQEa39purNo HFNfHzTbKIHZ/kkx4oW9zHdNrLJg/4NrZEwsZfBTjsyWQ/oP8ES8QSQHXU8zH8gd2ssZ WN0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737242654; x=1737847454; h=content-transfer-encoding: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=AuL/bSx8ptsRxql5Ml0//8eBSWYzvMu7bIFAYAxZe2k=; b=p64DKezQF7ZcBVTDqEOqq8xdmnAbSMcfXZ6hPJI7b8rWUyKo7Glya5Au1y+ciVTPyR 0QyZXrqPOVayuFemNSsrJq/JM5QzOSskcK9K6a/jyHtFyCs27hc/BAd+t2dC/wGFegKT 4pMKoe/pYxTQnN1bqx9CWAkWrEjV0DpOqVdVpgR/baq5nKLkFJzhxV/8jcHQ5+hEFfbd 8hL5eCNcJiXpoGMNHzFTOBvCZ8Xwbe9bQkZ1Z3ukJXOqnGkxosdi3pk8ik1YY4Tc3h98 7HJWKPR2Phd4Kd7JecoZhmU/co/MqwMU9+E8cTKyuPHHKprMnvFzcGt761w97qt3qCD2 GIcg== X-Forwarded-Encrypted: i=1; AJvYcCXJFIuzTPC8WG/HVosVR7cNAQS4/pfQibmHSipZYPEq+gItGj4zqoLkrhu8dVtF3DbzeWeb0fsNqg==@kvack.org X-Gm-Message-State: AOJu0YzkSos/capjbhhMD7qzVCfczSjKhA5Ea19KB3JU87CJZcCVKdyG DUSBERKi0BVA7/ZhJJzhZw4MbcxJLbee7M4yJxE/MgWqKpm6qsep9qMneQ/t2u691zFa7XDCTs+ 9MCDpyunMIyncwRqx8w+uhPsV4cs= X-Gm-Gg: ASbGnct7o+U0XM+lcIUr8ieu3gKL6iHAqOucoDndS1qmFq9KqFOytkreKNnwOkBANYw TvzlDg2aFDWciFdJGHalIvxnN8WDC5vLw/BDFGvr0JnStX3JQHnB+omPZhRAHbk0CgcKsXWNGfl dtWgkH4e8= X-Google-Smtp-Source: AGHT+IGhUloFKAv9LZNOCI/d5mT1IzBvuv8q5hIiCRviycJPURqn9WSwcvxpAAu1yomiy0mMgFeNXWwl7H44GCmBFIY= X-Received: by 2002:a05:6122:8c29:b0:517:4fca:86df with SMTP id 71dfb90a1353d-51d5b2cd9bbmr6499030e0c.6.1737242653989; Sat, 18 Jan 2025 15:24:13 -0800 (PST) MIME-Version: 1.0 References: <34d53778977747f19cce2abb287bb3e6@AcuMS.aculab.com> <20250118170959.3aa56f4d@pumpkin> <29ef57a1-e4dd-4d5d-8726-f1f79c698b66@roeck-us.net> <20250118221123.5bb65e64@pumpkin> In-Reply-To: <20250118221123.5bb65e64@pumpkin> From: Pedro Falcato Date: Sat, 18 Jan 2025 23:24:02 +0000 X-Gm-Features: AbW1kvZisPYR_zlWxqaH7SWrBM7VtVF5VdfTBkkqCGN2xKJArU5nZl9_sRPN57g Message-ID: Subject: Re: Buiild error in i915/xe (was: [PATCH next 4/7] minmax.h: Use BUILD_BUG_ON_MSG() for the lo < hi test in clamp()) To: David Laight Cc: Linus Torvalds , Guenter Roeck , David Laight , Arnd Bergmann , "linux-kernel@vger.kernel.org" , Jens Axboe , Matthew Wilcox , Christoph Hellwig , Andrew Morton , Andy Shevchenko , Dan Carpenter , "Jason A . Donenfeld" , Mateusz Guzik , "linux-mm@kvack.org" , Lorenzo Stoakes , intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, David Airlie , Simona Vetter , Jani Nikula , Rodrigo Vivi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: E6D3A40004 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: s5w6opkbjoz51o5nburjzjspn15bran3 X-HE-Tag: 1737242654-982545 X-HE-Meta: U2FsdGVkX1+fIwVixDf3s5aMSqetfp7obOzxmL/EmfRgMlTJ37l/NMCjbqeFW+1ruB89Igl1zyGTKotsQ3TaLWTeUgb61ca76c/1ybIjHTrsLafx70JvBH4vK+88h1da2QL45H+MuErvKrCmOK4uUnpadZFeGwxdtHkM+0gWHRnpPDM6zIfijUDMsaNtqslgsFNVnHUvFvoKgrlgY9ofqTPPVy3wDheLJKhtLnZn+7qjpRh/X617Pr/mExEtSSAUu5TsciiWYvQGc0m72pW2fFqD33kQJUPk1HmXKrpPfFB0WRGbqMDHrA9Ezgf3bYSFBawv7G1wcI9BFX5z59GogdC2IpVaCFqrEoWR3GeRBjz3bFPHovvRxY1N8atUF+nscSprwJ/5s0HbtzKtuDcyrnc0MRo/DLAFSsIUEaiJuIZ/4q7xUwf3r47aRBP9HsifBXC9IWdmcTlHLkx9oLI4gU0MJ4RvHgIBmq5rMXRSOa61m8VwFCTqbcLgPM2t+WUs4kjMIJtDbmAy/duzj2ATrBS2mlyTxqr1KZjGN/diSlh6WoebmA+wJ/Orn0nRG1wy8YnQ18SIlVwb0B9ov+Cq9zPD5MvR5/5l1EoGRpT+eSzlGuF6ksfdTXDnuGe4Mtwew4ZRiErX12vOvY86u0jsUhy0xoOGh9mRE2bng//wFH0YlRW+lMQiXdaB1y2oHCc860glm/vK9ANihZsYWmlWVWRLiRFehxITBcK5MsEhbC7UaqdrGy8wbBtMtJOPZw12LhJPIKhbC7+KSNo8fgcMRFoMKo0lawQMHDX9yapimEPPrYPWwSdFUjuRuZnF9H52OIP8KlZXdSnc0DvOh8L8N66MrSSDpCI2m7Q34FTDYO/4TKrncA+j597GayB1AbYK1W7VRDcAtEZIjjRww6QNDwckmp5vRTkR0ogERsP1LwWDvzZiEO/tCaCILTkP2xJwV39s8Ipu3HFrSaD61IS kUw8u+23 JvsFhCHsz9rpXpsnuCN4FNypVZufO1Te1ZOOPTpChAxvLGG573DTah3AJ+gZorvqWheEvOwzxuJZk9Ia2rwccD6mh13oMSuNsrAsmVsA1AVHAtqfWjNOkySZ/chKpGRrC6lLGaIDnBByK0UOByMQKgapzqkKoZKKAUa3DFE4kg5CCu97c5prjnYupA4TwRTUdYYD5qcjpofFh53bDsGd2KgswdA3EsulGkGgDsg39fFV5Wmhl89PUtj7iYQVbOCNRJPlnnPZmL6FewfBzTxcKYMI6pE0Fw+iRp19PzzCqeOJI7W+JAl5tGdMpwhcN3O1kGeY2lSlLyFwb1YpmVKYBVvlvvE11lCyR0nzL+2342y+8emZUxLQeWm+oPQlk5oJKDzTMD4Yxbe9djFNglqmGOMUallPJYO5Rg2tSK5PApizsEoWFHG5b8zuCJtE6UPHJKUZRIV9d/GCxiOXO9ao1N8IeBRDeECKqvjE1dW25UsWkfcxOzmnEkkv5qyCj8Qe/zTBoFl1Jn88ZnI1gev/EDE/NEc/SL0J5BxxbjmTa1k351Yxadf2xvuKCZ3wb0MgoFE58nZtCi/qgobfuIcC69TODyu3g8dR96vT+49rBTS99FEpxISs0Seh6mbBhaFEAILmdkWxbcut/z83mygxG02QZUw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, 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 Sat, Jan 18, 2025 at 10:11=E2=80=AFPM David Laight wrote: > > On Sat, 18 Jan 2025 13:21:39 -0800 > Linus Torvalds wrote: > > > On Sat, 18 Jan 2025 at 09:49, Guenter Roeck wrote: > > > > > > No idea why the compiler would know that the values are invalid. > > > > It's not that the compiler knows tat they are invalid, but I bet what > > happens is in scale() (and possibly other places that do similar > > checks), which does this: > > > > WARN_ON(source_min > source_max); > > ... > > source_val =3D clamp(source_val, source_min, source_max); > > > > and the compiler notices that the ordering comparison in the first > > WARN_ON() is the same as the one in clamp(), so it basically converts > > the logic to > > > > if (source_min > source_max) { > > WARN(..); > > /* Do the clamp() knowing that source_min > source_max = */ > > source_val =3D clamp(source_val, source_min, source_max= ); > > } else { > > /* Do the clamp knowing that source_min <=3D source_max= */ > > source_val =3D clamp(source_val, source_min, source_max= ); > > } > > > > (obviously I dropped the other WARN_ON in the conversion, it wasn't > > relevant for this case). > > > > And now that first clamp() case is done with source_min > source_max, > > and it triggers that build error because that's invalid. > > > > So the condition is not statically true in the *source* code, but in > > the "I have moved code around to combine tests" case it now *is* > > statically true as far as the compiler is concerned. > > Well spotted :-) > > One option would be to move the WARN_ON() below the clamp() and > add an OPTIMISER_HIDE_VAR(source_max) between them. > > Or do something more sensible than the WARN(). Given the awful problems we've found with these macros (clamp, min, max, etc), maybe the best option is to not play these awful games in general? These macros seem footgunned to hell just as a way to try to compensate for C's lack of language features. --=20 Pedro