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 88E32C3DA4A for ; Thu, 1 Aug 2024 12:54:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 210EB6B008C; Thu, 1 Aug 2024 08:54:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C19F6B0092; Thu, 1 Aug 2024 08:54:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 088F46B0093; Thu, 1 Aug 2024 08:54:08 -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 DE6436B008C for ; Thu, 1 Aug 2024 08:54:07 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 6CF1B160612 for ; Thu, 1 Aug 2024 12:54:07 +0000 (UTC) X-FDA: 82403669334.01.153F601 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by imf27.hostedemail.com (Postfix) with ESMTP id 72AB24001F for ; Thu, 1 Aug 2024 12:54:04 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf27.hostedemail.com: domain of linyunsheng@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=linyunsheng@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722516803; a=rsa-sha256; cv=none; b=KvWHQif9I5h57mfMzoG9foAnHPd+/1vhO/57uukIrOcDV5B0dk9OPdR8+2owyBRg6f+TrP lVBLhfgjBse7PGQaiaCsH8i+VkedvUscLuTboWhdAEgtndRYxncTsxDziGWGbD4amOWaKm EHZoY8ytxlrDajKKTUeA/t1li/nFkzs= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf27.hostedemail.com: domain of linyunsheng@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=linyunsheng@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722516803; 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; bh=3NEd6LCwnh87eXh0MaNsOn98fIB2vYsQ1Lzm/M+GzKg=; b=NXhtw+RhKElMzNGiH47tVCuCg5VyGFnq98X3qYdFK12ZU7oyJmFK0H2ytMPVh9lJXE+O6J 7x42kUa+1kZ/BJijCHhfxGPB66qZkIRsspV8+Lfl4ZP6rkZI0ht8cwQL989EK9HjREyYIt uFD7sxdr8HAzJVZxWrx9WflhCMnfCSI= Received: from mail.maildlp.com (unknown [172.19.163.252]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4WZTLr1xkQzQnD1; Thu, 1 Aug 2024 20:49:40 +0800 (CST) Received: from dggpemf200006.china.huawei.com (unknown [7.185.36.61]) by mail.maildlp.com (Postfix) with ESMTPS id 724751800A0; Thu, 1 Aug 2024 20:54:00 +0800 (CST) Received: from [10.67.120.129] (10.67.120.129) by dggpemf200006.china.huawei.com (7.185.36.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 1 Aug 2024 20:54:00 +0800 Message-ID: <86368be7-3344-4fc0-bd03-d79e84f48c35@huawei.com> Date: Thu, 1 Aug 2024 20:53:59 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC v11 08/14] mm: page_frag: some minor refactoring before adding new API To: Alexander H Duyck CC: , , , , , Andrew Morton , References: <20240719093338.55117-1-linyunsheng@huawei.com> <20240719093338.55117-9-linyunsheng@huawei.com> <5a0e12c1-0e98-426a-ab4d-50de2b09f36f@huawei.com> <17ae2088c08d34a17db8eeb1fa2821d686198a5b.camel@gmail.com> Content-Language: en-US From: Yunsheng Lin In-Reply-To: <17ae2088c08d34a17db8eeb1fa2821d686198a5b.camel@gmail.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.120.129] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpemf200006.china.huawei.com (7.185.36.61) X-Rspamd-Queue-Id: 72AB24001F X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: k7o1rh6zp1qtywzzkt7xh3x41pym35io X-HE-Tag: 1722516844-585479 X-HE-Meta: U2FsdGVkX1+h71Fq3yHOO5J/KzFamUeOmhxuvER6Hr8fPgCS3dLmIu25bAE8qM/QcW/V1NV24TA/5WpaTlgjUtKNHNa9uJf/9MmUGn5QORymIymOfEgEKKPrcg/fPv93A8GH6mG2Dx5rS1LYpZfRjMcxT72CNUyPHt5PzvMTIyd37+DJ6uyNgrjIV16XvTYXkCRflaLFLANZEWIlX8k+W103XKX8C+IZek2mUcYajy/CWHYs2KIzvEzGiryextjp+BMC/IZFKT6pWwSKbXTI+lg6kb2Bt19s0S2cuP4YRVvtRl1HAPoNfQ0JPPMFL2GRdGKDpqVHuREl6MYcCCRtEqW66DU9t+tMMVjbUFlOe36ELaBEBOr6t6WnrX41XCaheLcGQU4yJM/4zmm8Au7u3m2iDne+Fqwl4lKgQRtZBOcQRIsgFUBYTCtER0gSGTFyPyY6qYhUtqoWhrydivR6P9z8Cp0KkDTsqOCcm1QS8GfibJiqaAa7Gm6QdLdfXuUKAzfSDZdKsDBRwY5ex/AtCpQT8MUclqokSa2AXtRibiebgFhmlHuzB8y47MSWBaSvDVcu8o2E+tEENQOQHgQ1Kb4zZ5IoRtLkl+mkhOAMtIGPkkR9Q/gjhJWWR3oDK1H6pNdQ7efT6MW780pLLyqmzYNjy1Qb2FbKGojZNgFJTHudSSPSjVo2X5357g4UQMy0iqcRv9/WIGXOnOpatEkXD2IWpcDEik+u0ZL+NWRPScNdHX/SerTucHQ5ZsMjQzU9VSdPnGc4I9klXBe/py7N8MK1Dv9+FeB9Vlvajy/QrDtHbcnHmIBycTwVAWNfL9cbQyPhjNr4GzjuNSyDz1+S6myYn8om4dilrJhDYjyKLbg7kLYOJ1KL9wNYcJeYoBtwv9BTea/AQaHR01WHmUAoENqcLvcHCEID0EMK1XuXWyVLtt/ml9r8OtwiFrXdPWEhf1lagtdqp1Wwk88D77n RK58bN/A SJYPl4nvQH9y2Lnf3etwF0/U79QNoXHcTgKCPR//wO5D25ehhrsu91lp7ihQIm+uqbKStOOrq/d/vqKVCpMomw1zUQ+jtdKcIkJcRKYNT1e+Ej4LGktRv1JEja3Nos3FTH/GMWk8C72xptwysUWskzfdrNFSVcOD7B7XanAObP7Z2fzXah8qsABy8V2R73GGYp/SBnE8k9D5XdNzqZ5LeC7N/300KX6NU8ivTeTEtlrTyAaNmITNrIDFezcPxmILK0bC6htKqanEzFIuugVNsUvj9/hMhbym1Ritf 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 2024/8/1 1:02, Alexander H Duyck wrote: > On Wed, 2024-07-31 at 20:35 +0800, Yunsheng Lin wrote: >> On 2024/7/30 23:12, Alexander H Duyck wrote: >> >> ... >> >>>> } >>>> >>>> nc->pagecnt_bias--; >>>> nc->remaining = remaining - fragsz; >>>> >>>> return encoded_page_address(encoded_va) + >>>> (page_frag_cache_page_size(encoded_va) - remaining); >>> >>> Parenthesis here shouldn't be needed, addition and subtractions >>> operations can happen in any order with the result coming out the same. >> >> I am playing safe to avoid overflow here, as I am not sure if the allocator >> will give us the last page. For example, '0xfffffffffffff000 + 0x1000' will >> have a overflow. > > So what if it does though? When you subtract remaining it will > underflow and go back to the correct value shouldn't it? I guess that it is true that underflow will bring back the correct value. But I am not sure what does it hurt to have a parenthesis here, doesn't having a parenthesis make it more obvious that 'size - remaining' indicate the offset of allocated fragment and not having to scratch my head and wondering if there is overflow/underflow problem? Or is there any performance trick behind the above comment?