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 E5BE7C25B75 for ; Fri, 24 May 2024 03:06:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4CD056B008A; Thu, 23 May 2024 23:06:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 47CFD6B0092; Thu, 23 May 2024 23:06:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 36B686B0093; Thu, 23 May 2024 23:06:01 -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 1930B6B008A for ; Thu, 23 May 2024 23:06:01 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A49DA807F0 for ; Fri, 24 May 2024 03:06:00 +0000 (UTC) X-FDA: 82151800080.30.7EEDA46 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf20.hostedemail.com (Postfix) with ESMTP id 73C7E1C0015 for ; Fri, 24 May 2024 03:05:58 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=jmtu2KN8; spf=none (imf20.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716519959; 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=bvCaQQNewdoOyjlJKFKuh3jGJ8NqvGaj8xV2P8qvIyU=; b=2BN/8f5Ksm97L8g9yds3ex6QCjgl56wjthlr2dp+3KMkBTAeWwWHRnS61TBSwsIqPod4Y8 Q2t+VHUuNE5ADLB+SabONoUpXYJ2bGGtT8zULhehiWF58xJEze/86cF09I28fAPqDAgsXy D3boxnfay+Lge6P6IhGNfAC2al6FvRc= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=jmtu2KN8; spf=none (imf20.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716519959; a=rsa-sha256; cv=none; b=xw3GB+yaxfBK4YFGB+e8I5fleRh4OiPRyoMXcoZkdixzMhOSJqhaM1plfOUc3PW3b5x20+ 8MsezDdpSnq3dabj+SBrrrpGT44yQ8wTfnRZNOKFE7MjVT/wtQdDncaCD2JCwAL0nK6XL8 HNKzvcHkkZRKp76OMm26bG/0xxDGEP0= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=bvCaQQNewdoOyjlJKFKuh3jGJ8NqvGaj8xV2P8qvIyU=; b=jmtu2KN8qcXDpnYpWr60sypBYH mWrR5w8ho4fOS088iy2520XmhFMg3fXNY3OsFM+RfISEUdKA7nc7j68a4hzrYsxfcM2WRFTx0majP EVOUZP5lMXLqv8fMtKrfIRnIUiZT0s8qCf0OvIgwEKY9kDyefqtLil/v83hGwRooqsmueh2cYWhbv fIMoHR1i9vENcSk/KhIt52slwM4IFRW8ugSOoEvBpEhzmtRKv9OB8obQXylgmSSbYtngM4JfQnHmi X7KQlmijfK/dgeQ82RcbhAvQ7SEwZ6ngzDPVnhJEi33knd80n62sA3s5Ad8h8YZ07jtb29bIsRcbd TbMpC6fA==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sALFd-00000002Lpz-12Xc; Fri, 24 May 2024 03:05:49 +0000 Date: Fri, 24 May 2024 04:05:49 +0100 From: Matthew Wilcox To: Jung-JaeJoon Cc: "Liam R. Howlett" , Andrew Morton , Peng Zhang , maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] Modified XArray entry bit flags as macro constants Message-ID: References: <20240524024945.9309-1-rgbi3307@naver.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240524024945.9309-1-rgbi3307@naver.com> X-Stat-Signature: hf64pn8kawicocj6tj7e4suara7frnbs X-Rspamd-Queue-Id: 73C7E1C0015 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1716519958-373378 X-HE-Meta: U2FsdGVkX1/qGNYWkTrpEGMT7zQ9EcKcRNYv/Rrky5Op85TB08jJ1uujxx9vu/sQFIB6Vo1ANcU7RzKpCa1Dodt+9rm1Ctz4KffWrvLOA6EyalB0dLJFTNlm8NTLlQjgxuKuj0WRyD6v/HlfmQv8Fb5gWxoALq5ZPWLblCA+erv62hfWGE575/z+dvpHWeHpQDHG1RLNEVgsbpV3NdCPAXVNLD9b0kJNOgSbwbKa7eMXWFs5rpa/ud3e3ScFkJIXRzgltlXv4z8pjAPShLsZVnDSd/NTSlN1jdkvXnSka7QScKiCMbDGWpUdpn+ZddfICpPsOJtvhcfbRJU3CK/QizC07OiWqy1rw0DUi3BZBknBtqdUqa9ragDF7TcvbXGq3OJP3nD4shhPwjHALdV3Kk0/0XUBHerarI6Z6yhDULMv9LbHB1xT3ROmB67isadGCFbYEGc/ESOOQyhM3erDw3RdCzEdl7CjDM3d89kd5aJZPf8ZS3DVjf0O7pVBLxjULmdqnhvUCZtf16V6861/hGXuuS9PLdk5Zi9XXTS7pdxgafILxB95io4jx3hSqVKvmTqFtgWo6QUVLsEEfRJ24reTOEbGgxGoSEAN1iitFbG8fOc7o+o/C0Z/2TQN+FZDxSM4XyncSgBCzwnFqWpvznejk2Pb3NaQeoLuj3vb/Teme1NOFunXBiCHGEJFYasD/JDxbyDh9pA+Vn/iV/7DDE/CRwBj8ZXnexxHbq4Rus1V2M9dxro2ga3QT+glHGtKSvMx+89ZuU3xhSUL7mkg4Ykn1mtUcYCfJ+QnEv3PkvBox4uyU6KzLgmr9RdSh7s0Wsomt7UroZmgPJYXfNU3r3uNva5UMVwExHSZZiUI++6e8/2Q0co6HPE+0qUs0hbtUsBCNrrHvt/PPDTTFTRi4srIDhVkOD5EYpi7AOj35kLCSA7yahM2HbUC88gsp2IahSwED3aarEFsxCVoOou uGU5bM2R J93577eAS0Ms/AgYnonhBYYBQnnReVYOCsx9FE8qywevJgC6kayyMWC2TitwnR/Acda6NBRM26O1QkSnSJ9GtFWEqnkAwzJoQyZlpSWUdgczf0GS7TZzRYEGP5kaig782E6HZdG43pK/RxaN9ZsBU/MugxXloUZex0BKv 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 Fri, May 24, 2024 at 11:49:45AM +0900, Jung-JaeJoon wrote: > From: Jung-JaeJoon > > It would be better to modify the operation on the last two bits of the entry > with a macro constant name rather than using a numeric constant. > > #define XA_VALUE_ENTRY 1UL > #define XA_INTERNAL_ENTRY 2UL > #define XA_POINTER_ENTRY 3UL > > In particular, in the xa_to_node() function, it is more consistent and efficient > to perform a logical AND operation as shown below than a subtraction operation. > > - return (struct xa_node *)((unsigned long)entry - 2); > + return (struct xa_node *)((unsigned long)entry & ~XA_INTERNAL_ENTRY); > > Additionally, it is better to modify the if condition below > in the mas_store_root() function of lib/maple_tree.c to the xa_is_internal() inline function. > > - else if (((unsigned long) (entry) & 3) == 2) > + else if (xa_is_internal(entry)) > > And there is no reason to declare XA_CHECK_SCHED as an enum data type. > -enum { > - XA_CHECK_SCHED = 4096, > -}; > +#define XA_CHECK_SCHED 4096 Thank you for your patch. I agree with none of this. Rejected.