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 52A36C04A6A for ; Thu, 3 Aug 2023 19:11:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D6482280298; Thu, 3 Aug 2023 15:11:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D13C628022C; Thu, 3 Aug 2023 15:11:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BDB22280298; Thu, 3 Aug 2023 15:11:31 -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 AA6DE28022C for ; Thu, 3 Aug 2023 15:11:31 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 72B3916043B for ; Thu, 3 Aug 2023 19:11:31 +0000 (UTC) X-FDA: 81083737182.09.B7BB524 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by imf11.hostedemail.com (Postfix) with ESMTP id 7E43540028 for ; Thu, 3 Aug 2023 19:11:29 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=i2gLtqDP; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of phind.uet@gmail.com designates 209.85.210.172 as permitted sender) smtp.mailfrom=phind.uet@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691089889; 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=qIGiPfm4hS40ZpPqvFdolNkVIuhy187vavdxiwOEMqs=; b=dkDDiGgAxDSS3KHJ7oPmivBC5kX0An+cI/hzaKLUDalIteomwvSVXY+Vha6sOHVfU+LowH r4V/ePy/+OVxPhN/WDZDdQoDJ72Cwf5ZM0+eG9YFraz1Tf/voXbUknzSrO5+QAMCtfKqDM 72R3CoYblP6tzgZo17F+6uv8H2pHw68= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=i2gLtqDP; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of phind.uet@gmail.com designates 209.85.210.172 as permitted sender) smtp.mailfrom=phind.uet@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691089889; a=rsa-sha256; cv=none; b=cyuWbb004f2oIQIKu0RfCGPf8eNWUUVFP439827mNQRHMvUBOGtufHk1Jb5FMoQa1xjBcB W0sPiwq/SjiXR1mCDyGjl3N1OLhM9Q4EWCRsQQsSDmfmxKIOQQ1mESWV6DxadOPkUYZgYi tElhO2yJ26YI4dnLyXbaL/rwOyhBly0= Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-686b91c2744so967043b3a.0 for ; Thu, 03 Aug 2023 12:11:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691089888; x=1691694688; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=qIGiPfm4hS40ZpPqvFdolNkVIuhy187vavdxiwOEMqs=; b=i2gLtqDPkuaHH7oy2Mv6lwVVjH2aiWpiZfCF+9hAV+dKYmYCPSMeMm98zePZ5lBEJ4 8jcjwOoVSGY4efzL7bHWOGqL8Gp6TwR94BKPBLumkgqZxAfcDDk5lUV7814Yu/3Vy4m+ BapYr0AOR/g7C79KMOQ6D2h0pnmubXs2ZG0iXA9q5SX3QbY4eb8gVdras0lYIFpUDh9y gafm7mnb9fReUAXQcxN8TW4LbGNfnDU3N2PG0gzH+Gdgnl1LE5v2r+wvkD0cuV10f7qK hRRQppe4PF19gNP+SgF6NvJqPwbpa+fs1D0HHICo8jMzln7atqcB9tT4yOCQRYIz4INw hNKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691089888; x=1691694688; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qIGiPfm4hS40ZpPqvFdolNkVIuhy187vavdxiwOEMqs=; b=avGNvz4rcTKyKHFWENUK0zCzYd0mnuyriekarHe+CnXX6yU4baUzDVqGcJQwuCCeIl KTQT8LXKZXKv/3aoeWYeyMIDQuHA9eoi8Yy6unTgid0SWKAWev0Pl2zhDNtM10bHOufL 8hBi4ZZpzD8Gr6cdn7YAG2fWNEGj7WxHwzNtl3JzNAf3supHwkTxYhT9BnbJo1Y/RziG JNR9yTnnIuZGiyLzKt9u0eaOSl0B/oTZYgr99YrJBRtWdGYoLoNwWYJx9Kqk8G1bFsJl flU6qiw77DM404zr7B3jZfV/Vj4M1M/0ERmlnfK81nNABkOwu8gWip2giO3FbFGreDv3 6vvA== X-Gm-Message-State: ABy/qLYxLka5LXgSqxUbgcksLEBXJah0czT64V9hReXsVrLnpJwo9wKq 2AMKO1ETUELWsaMFzDA7Vkw= X-Google-Smtp-Source: APBJJlHiipwmSv+Wv3jDp9R0HHNyX4KmIynHEIYQvubFj6cHWFDW0cXR+Itq5lVXyekkIc5e+MDh2g== X-Received: by 2002:a05:6a00:1501:b0:687:5763:ef27 with SMTP id q1-20020a056a00150100b006875763ef27mr9918964pfu.33.1691089888210; Thu, 03 Aug 2023 12:11:28 -0700 (PDT) Received: from [192.168.1.100] (bb220-255-255-44.singnet.com.sg. [220.255.255.44]) by smtp.gmail.com with ESMTPSA id n6-20020a63b446000000b0055fedbf1938sm159068pgu.31.2023.08.03.12.11.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 03 Aug 2023 12:11:27 -0700 (PDT) Message-ID: Date: Fri, 4 Aug 2023 03:11:25 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v6 01/38] minmax: Add in_range() macro To: Matthew Wilcox Cc: Andrew Morton , linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230802151406.3735276-1-willy@infradead.org> <20230802151406.3735276-2-willy@infradead.org> Content-Language: en-US From: Phi Nguyen In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 7E43540028 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: p4q6ok8zh87p7ftyckrpjyxs5k7jfd9t X-HE-Tag: 1691089889-697400 X-HE-Meta: U2FsdGVkX19JGGgrggQPnOmcPH45bkN8WXVaaXgDX/wX7cu0cj9f3gGd2nuhP8m8YNH1V3WOcDqvnUB/N3O0AA0g/YWg2ks6NLA/KfeBqQrX7dSFO/k+Z0+pK5CCuiGMKgHRVb9ov6SAW3nvZGHiQuKN5npiMqtbTSAh4RL9A/D/ljQbr5EUd7X261YR8T0OWUtyVHa/yEEn9O7UlEZe+ZamC0iCC8fWDXx8QwfsVEWSoM6KXLmmp4fLxfx8yMiMzi1uDQexjoVe1q1LssmeoPSohi1h6S9AdnSSEVjX2IEZDUAh9Ws0CfxClFcpnOiOoPeIrBYUGGhpa8hPAhN2cpyNWPxjM7ZHt81DtqKTp3lrrvXAgfJeA0aStFetVT3xYU/ehWsfUdOYx2IBP3NfDiVtX5RcJExp3sYGJZbq3VDKTAhuIP4uD6cOKjdAHePewct34rJ+8+oKSB2kdQyTxYs+yljCP/a0L1ue9HKPtJlI++EO1528hprh7IoNBfpFkdDk7OkcZmB0/zBHOTAIV2qRAgTUW404R+NzG4wLF/jzYtc1VZMAc/SsPfhI/zTh3JSGBvMz0stuGy+bGAV0dpsGhyKKf/xGqox49dNSNahcCLdrdasHrE0S3RAdPjghRknxVJh5KUVAfznBNgwWkOO8d1f1hlGXJJfBZ232pblX4Wqro/wCLIRSbRbn15s3HuR4e225U3PvDWKVs9LBv1IR2rQbH0t5xHZZrvYUFgFTvk8SaPU7ss9H+GdDOlXHUqtn9QPEAh9pQsszMEaLTiPxWAzCPvWGBDQ3MNDfoRgUUixK9GmKnMZT3yow4kY88RTmQLIUtZrfr0qoO9NNOdjNCqv7y2O5/5mthjjUqlH1k/fVFeWJOhdEU0RAAlozyUHjW03SOIqam20kOvP9Ev5N1g7FDAK+K3/GR6UaRI99FIe2ECCOmdXWmDojrKcRK3ldK8e8DTMHNoCwQhR Iak0yidm m4RQ/UCc2aF9qNRf7NC2TKUiGbCgqWpMJBGUawkNc93BuYr/t/jzmrdc51oLfhLSyVWh+Nm7v7uqTZLM7RWxkPukrrMZA5SEdt3gg69/RGowBvYAslhoRhgvSNcoWgA0Ag/jQVNkT8bTzddr9tLhyMuaqvJDJ/85I0YLD3fdRR/t6Ev4i1X1KidHmgBtsdCyko3c07+d3/EqDLONCcrnooLEWZk7+IQYexMsnmG1qeZnisZlNncl51bI77g5B4JPASZ9VmaL44vD23+AOR0ltmjewD3pFxOhjkUCKpgd6hZ75VwQpxJ27Lcox2g3fEUG6ZrL+BcN664lJ3AyNZdZTrp0oY/oePFZDHSYIWXnY8yxGwzGvCWcqoqMB1/9t5u0hokjtgb9YNAvi1XUAc6aaTKlNjqaIsYPobb/OLnwTavoo1ajHybqo/m2xV3U9gaaGzN2Oo/8jN9UrjuPmxVWXYi0e16Y6uw1P/5P1cZ85VDJIfloXY2dZ13JLOFaQf3iHQvpH X-Bogosity: Ham, tests=bogofilter, spamicity=0.000059, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 8/3/2023 9:22 PM, Matthew Wilcox wrote: > On Thu, Aug 03, 2023 at 09:00:35PM +0800, Phi Nguyen wrote: >> On 8/2/2023 11:13 PM, Matthew Wilcox (Oracle) wrote: >>> +static inline bool in_range64(u64 val, u64 start, u64 len) >>> +{ >>> + return (val - start) < len; >>> +} >>> + >>> +static inline bool in_range32(u32 val, u32 start, u32 len) >>> +{ >>> + return (val - start) < len; >>> +} >>> + >> >> I think these two functions return wrong result if val is smaller than start >> and len is big enough. > > How is it that you stopped reading at exactly the point where I explained > that this is intentional? > > +/** > + * in_range - Determine if a value lies within a range. > + * @val: Value to test. > + * @start: First value in range. > + * @len: Number of values in range. > + * > + * This is more efficient than "if (start <= val && val < (start + len))". > + * It also gives a different answer if @start + @len overflows the size of > + * the type by a sufficient amount to encompass @val. Decide for yourself > + * which behaviour you want, or prove that start + len never overflow. > + * Do not blindly replace one form with the other. > + */ > Oh, sorry, I see, my bad.