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 95B5AC02185 for ; Sat, 18 Jan 2025 22:58:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AB97E6B0082; Sat, 18 Jan 2025 17:58:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A43276B0083; Sat, 18 Jan 2025 17:58:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 86E6A6B0085; Sat, 18 Jan 2025 17:58:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 662ED6B0082 for ; Sat, 18 Jan 2025 17:58:56 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id CCC8DC1D1D for ; Sat, 18 Jan 2025 22:58:55 +0000 (UTC) X-FDA: 83022089430.17.B7721B8 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by imf29.hostedemail.com (Postfix) with ESMTP id AD78112000A for ; Sat, 18 Jan 2025 22:58:53 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=l1Ngo3gI; spf=pass (imf29.hostedemail.com: domain of groeck7@gmail.com designates 209.85.216.54 as permitted sender) smtp.mailfrom=groeck7@gmail.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737241133; h=from:from:sender: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=goIKprkrXsgrvS8QcA3cJhQra+LVh/2fvPoXDZi8Bv4=; b=3xjkUFoBZeOOmFjgZ1E+e3022VZ4tMMs9FdIXHlcRNJInEUali7rI25HW412NoNUqMVOSi XuPELxzW98kVNUtAogY7W/DoUEkKcXqbLLveSSMgoht7qO6AYbdZooAzy2ku+PFP0SOQIo 6hTuBgQCREhlxY5yK+nTA3jM3WvKnjU= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=l1Ngo3gI; spf=pass (imf29.hostedemail.com: domain of groeck7@gmail.com designates 209.85.216.54 as permitted sender) smtp.mailfrom=groeck7@gmail.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737241133; a=rsa-sha256; cv=none; b=U30pmRndx/2+qFCfZb9cEX1r0Sr2k1XRdGF4d0DkCmUKzgSDsZODfIkfEvTu8yMaZNVoWx jjJX1WJAlhbTlJl7beB/07j3RCkUM85hOqMKo9ACiYPJ3Og3APtbyA7Mxd4tUPtp65AdsD 6pNUxDdquE4oaI77FTTms+onF1foZzs= Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-2f4409fc8fdso5185820a91.1 for ; Sat, 18 Jan 2025 14:58:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737241132; x=1737845932; darn=kvack.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:sender:from:to:cc:subject:date:message-id:reply-to; bh=goIKprkrXsgrvS8QcA3cJhQra+LVh/2fvPoXDZi8Bv4=; b=l1Ngo3gIklIkX23BwOln4tI/pkmOCcrrh7csEGKyel3VdAk19/WM1AxOesY5I/OpZP SWmw+oP/xO+zvtW0LC/AQCHMgInXe/2ULLykxZS+be/56zRcatRPpqnuWrxDrGazEQre LLhl2W+kkndJ22b7LpmW+xz30NCoUsVqdwrztiMKPkdAVqDp4uek+3zV9TfA0jFkhoEs vtn7VGO3XfRvNmU6CNZ5nC2EfsXTpflN6iijQY6T+SDbfGi08Arv79C9reJp9CpFjnp+ OG5CcGdwtuEgSbyJwFG4YhyVEsyJCYBT4Sj1et/trA0MaoKAi2ZHfynQ/Ihkw6tGpp22 znrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737241132; x=1737845932; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=goIKprkrXsgrvS8QcA3cJhQra+LVh/2fvPoXDZi8Bv4=; b=S+zbZN61gvM4G4ihTWaceI6Q2g/FOIyQhzhUglFdAKr1KFTe9/WgFdwcxRl7F9Bzuq mlr6lHU+QOOE9mbeK3HPgomX2pIeFIL4FrlfBEZ5kuB9CZkaTRx6TfEsrm/rY2Cp/FuO DXf+U2CyRY/bxQ6HUwLCFzAeWg7AVmK3a05WYiyw58VUdoF2eRCfXMfsmetmDw3k2SWM 6duLIza0eLknQxBikc1G8G4aYQGRTMyBrkscikEKcsapBy/+sOAKu+MCn81yCCqivi0X kkV73tfVpy4i+vGRgFJcUarnWTB/aBvSr6Pt97YxmaMcY4rps5H0gGFQQhccTS1D8++f KqGg== X-Forwarded-Encrypted: i=1; AJvYcCUdXas3U1g8I/cd7AMqw0s3EloueW/YoBUCN//CFHLSEZ2GKP7M0O+FkRSo5ItAPxT1NkBdi+GnTw==@kvack.org X-Gm-Message-State: AOJu0Yx0VgPnxcvEEO+c0tEPWPMbiyPfiWTeJt2ep1duDB5/QRvsPyDm rDTVAk6wCAQllkcbWeclR2+EcB9CILDpOR5SORkzqLms9WJmgA2x X-Gm-Gg: ASbGnctQCMWbEIPYyw89mScPbdDsII07W8tgmkOq2eO+VConVQp6o/1PZrcVEOIG5Hc tY0wdOFLpMqow3WP76E1yUJIaqmCgmHhyGhIx8owQiz3zy+0sFzQQqtL/EUYvyIx9xEEDQuaGrM 8jpPSuhmTrsbe1mkiY7FrfXeBuXOnTTcht7CGewR+GUntxOQ+Rm5PF4Ryi2S2Yw1i5GPVAba2jl 5+GUDHyI9GNdnITVDWRLfdZHX7wxo1S6uF+e0+2NqS9wKrlKFs2PYObWRAP6yf/oZ7/kDJpyzMe C2n83UWxZap+Rysha3cKIgmVadf56QmlWr0rWZysM+Y= X-Google-Smtp-Source: AGHT+IH303BT5WaA+8f8huM5IxT5Wt1n86aYLTkaQoKgBnAEFRmxyzF9aYvp/Izw1Pahd9uGK8F/zw== X-Received: by 2002:a17:90b:53ce:b0:2ee:cbd0:4910 with SMTP id 98e67ed59e1d1-2f782beed8bmr11580165a91.1.1737241132187; Sat, 18 Jan 2025 14:58:52 -0800 (PST) Received: from ?IPV6:2600:1700:e321:62f0:da43:aeff:fecc:bfd5? ([2600:1700:e321:62f0:da43:aeff:fecc:bfd5]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f77611f0a0sm4617706a91.6.2025.01.18.14.58.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Jan 2025 14:58:51 -0800 (PST) Message-ID: Date: Sat, 18 Jan 2025 14:58:48 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Buiild error in i915/xe To: David Laight , Linus Torvalds Cc: David Laight , Arnd Bergmann , "linux-kernel@vger.kernel.org" , Jens Axboe , Matthew Wilcox , Christoph Hellwig , Andrew Morton , Andy Shevchenko , Dan Carpenter , "Jason A . Donenfeld" , "pedro.falcato@gmail.com" , 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 References: <34d53778977747f19cce2abb287bb3e6@AcuMS.aculab.com> <20250118170959.3aa56f4d@pumpkin> <29ef57a1-e4dd-4d5d-8726-f1f79c698b66@roeck-us.net> <20250118221123.5bb65e64@pumpkin> Content-Language: en-US From: Guenter Roeck Autocrypt: addr=linux@roeck-us.net; keydata= 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 mDW4+i+XlNFUPUYMrIKi9joBhu18ssf5i5Q= In-Reply-To: <20250118221123.5bb65e64@pumpkin> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: AD78112000A X-Stat-Signature: kwk9hfa5nm8twp1hkcw1htkcsgqa67mm X-Rspam-User: X-HE-Tag: 1737241133-161770 X-HE-Meta: U2FsdGVkX1/FrlaAreNXwUBZQ/mBMxmhNk2WrE4MsDR9U64UilO7rXSGeSck9zhbaLF9h4zY9CKMivpKEcVqM9uPev0o5KY4hgz8FJYz4GG9xC2qNi4PSpt8kx+VShjYIvpxj3H7GQbnqJGlxCBmklOxcROoriGhcauiCqIpm+4yy15Xyw00rEjxYCJfkLGqXLETcvOWReBU4pIxaIJZ6Q6MRhG2ttfjfDfjN0LtHEfoSmX36KY78Q/B7JjxynpQQWOTnb7tebt1VcqKrtSuEHHgwlqeo9eaSksnLSCPT5+8i+F8g9WHOeLQ1+d0J1vCT74KxVCAEYoeB2rXjTxIgo3w6LxgCAQRsKTuT1iSVmx54Y1uaN2upSvespIlDRSQzW2Z5eROCig/GOnK10CGBa0cZ7+H5Go8jtu3pqEfagG2FA6ZPIo2OmQ1V64WUvsAfWXTEgTvXmkuY8ehvxYoCqMqhgswckfjTyDLD6tHo+mgrlGaz/Q66J9+aZKYJCREBG8lZP8BvdtZGkhbDXUA/AL4ChumLyXFAouHEA92XhOor3x5/M1lsXffiKcxFaHFEHVCE8b1lyf84R9Q0HfIb7O4Cf0TEURZOI+HwLUEylatIsRCeeLcU/mVMmEQkaVs7ftgezExk373dfKAh9GpHd3twBwE2LeN6sDAbYddJkJudz+gMbVfpsbFv5+GHXCkGTrD3mS2jnzButH15nPBuJQZ+B25Zxv3FlGstSuBQXc3nJM1hFt6kPZhyadGjpDHnlFQlQh0Va6iDlWJQN1Z+qeCYaxjWEtLz6t3xvCPrgO1A75Vf3OpB1EKiZPTOMPK2vcqxCnePq/fM8k0HKTuOz5dWXPuRXYa+ZyF5Xxouwy/svzJKcy8pXcW06+aC7Xr5S2nXvtPaL1buZ75MII4i+vB4l4hlet40TdU6ZiypnbbxtLtmKO5ymOhOzoLE5IKA0w676qaMjXP55rsBzw PE+ZiH9t 9NopTxvnDzVZzTYQX1XW2wDOPiBhBr+Cl1JxCbxF5Six1E6CUIj5GeUz7BjnrnB+r9XjXTkcKcjWd8YOu9cE48QFQtM6l6bEW3jS9VerEb6BC4blbV2IojpXFU2QYJAl4HqwAob//VZNFXtw71l+1p80Kij5kElCBgPg32IAde9T8HHYmrgD8w/cphPKlo/9I91++4OyDHPeyh0MQL28weKDly+lGPuqqpZhO2+hJjViOGGlHTENjloNtu8riNBiAlx/s79lMDcHVHF6Gri419d3HaIkaMNnWWz3L6EAHuDh31URbu+GOVraDH31nl+pEhDQJ2c4CVV2thLewU7qiOUkQLIbtSff5DMnS6qyPVVSWbvKOaKUDGbR2jS3ofdtKHKACOKb0KYo4ts8/yj84aen8ninOhEYbCTtTd5iT+9ousJ5T9ygmlsOAEilspcWEACS2XAEeoRxt4qq5/cXN/YHGOz/e5lT2RMr+mRdTUQX0eSuML1CPzrRrJ0rCAkaZK88I0/kkUmIx6BUxyyWPnpOmHOuKJVkHDJc98VBzWinBcAAy7G51m4hErSKYzzV3RQA+BET/nDWI8MDmtAQPpsEWZgKf/IWyws3G8HvC+9LUEs9e1a+swjJ6EuQV4C/piQnCSeRMCJt9K3CysqMrMlSyRIJ3KwvWRlHzrzkHLYQQoTb9CEdwE/aINmP0Bpqf4fQfZT5UD/HS/WM= 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 1/18/25 14:11, 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 = 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 = clamp(source_val, source_min, source_max); >> } else { >> /* Do the clamp knowing that source_min <= source_max */ >> source_val = 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(). > Perhaps return target_min on any such errors? > This helps: - WARN_ON(source_min > source_max); - WARN_ON(target_min > target_max); - /* defensive */ source_val = clamp(source_val, source_min, source_max); + WARN_ON(source_min > source_max); + WARN_ON(target_min > target_max); Guenter