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 829AEC52D7B for ; Fri, 9 Aug 2024 01:58:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B7DB6B0089; Thu, 8 Aug 2024 21:58:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 168EC6B0092; Thu, 8 Aug 2024 21:58:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 02FB76B009E; Thu, 8 Aug 2024 21:58:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id D85DE6B0089 for ; Thu, 8 Aug 2024 21:58:57 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 54CE3405AF for ; Fri, 9 Aug 2024 01:58:57 +0000 (UTC) X-FDA: 82431048714.09.7C4813B Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by imf29.hostedemail.com (Postfix) with ESMTP id 6A6D2120025 for ; Fri, 9 Aug 2024 01:58:55 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=B7gMFZqp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723168682; a=rsa-sha256; cv=none; b=ogK2r7OZcf3wVppoSM4KGcsSa1QKj+Lwf3cAQ+2C3Da2rcWO/bgjeL2I/OegHfSSmcj07i bsxQ2BatpIXCI+P/fYsKk137ptmvvsWYhVjm2N82BXl4SulHCMt4s0f82IaPZQkTGSSbN3 IYDa9fJngc2sU/boYabiryAcXGDxqjE= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=B7gMFZqp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723168682; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LkiU53gfKZof4Y4XaJ6S2rnmH4YoDdmjP3sPOs/Xz0s=; b=ACGM24ab11XQSGSQGl2Jc7z/Muc9QjC9/5b7/DKlycoWSNpYgrU99wTBQ7E1/9Re1fRXFF SnLDxbmrX6I3+fsx/3iJ3PZrF9pnkb0lQV5miZqZuVpomgyy57H2PjgnzUMPkebsF4inPq DTi7YzD5mHxrWM8GDRvgFR2LNhZyyak= Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5af6a1afa7bso1886794a12.1 for ; Thu, 08 Aug 2024 18:58:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723168734; x=1723773534; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=LkiU53gfKZof4Y4XaJ6S2rnmH4YoDdmjP3sPOs/Xz0s=; b=B7gMFZqpy3Al+zC7fy89oAMuEXiOFKwIlOFWO8pbvzEzb1Wdqvk/np5b5x8yQaDjn7 +j9Y233qV7VsY/53oVtEvPG5KHNdAEJqSSI1tNGaGxM/jTWZQiLxBQBUfSrPGrn4sPQ/ xmQz59sVLkuxqVKKtIH/pQQ5BwK9RNJ0KmiaD8hr3GfKl2Tpbw4S0y3hOIGEUeBfh8U1 TGU0rMtpBbpnkrpzk9cF3a9U5dFvi3pR72pnzOWzjm97D8lBdQOfpFxesv1CyjMSQRPI Zum5lvDG9FW+p+k5f1zSinQLEBXKIM1JCJZCq/Njei1F7cEI7NeYSfjG/c2oNpH+YIra OVog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723168734; x=1723773534; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:to:from:date:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=LkiU53gfKZof4Y4XaJ6S2rnmH4YoDdmjP3sPOs/Xz0s=; b=pJEWOWUkQNVJqcq8YNo0kTdOp07eiKZb5Ds+N33QLyoDFSf3HSXCO6FJB02i6eh+m4 4zRWf9LSvs9bSTCYg26voH9TUDPzUZUrFgLBxQTI3s8cC019akHoYgnyrz3jARc14n2d jTEYrNdrZx9r/5glH47Uvg7YhRqvfKWAj6MrdQHqpadOhtxY9lFc1NngRmtFQegGzNI5 bV0cygzK5gUTgop7B/azXwll1vq9LV2qBrVJtNXr49OjNPNldYEd/ZY5/iMpDl4BE10H Wgfy4adYuPvQsIFG1XAOJrH1ZC0NkR5IN/eVETKx/NQ42zvA3nee0qzJk97S5rrlT+3K XJxA== X-Forwarded-Encrypted: i=1; AJvYcCU3zBM/VnbTIwiThB0nDMv4V6Rl/mpjqURAYPDE/3geLYQFEduNPOK10LmxT8uGWk+STl9Azgz1lpmgukR61iLm4ZM= X-Gm-Message-State: AOJu0Yz0paNMtQY4YaLZDTuQU3iIAwwJZnnamDa7yiKXbpTJ7cY8IxSF jRLs4xKCu5mtWeP/h5zFK6VifBSg/iB/yjoVAis/GKZdBsbIntnh X-Google-Smtp-Source: AGHT+IE2KssaWD+NyNgq/k+1B7jGvp6pgw3v9t+91R8H/f/NK2O8+4qx4uiDrqVMyfST4XEcFwj7Tg== X-Received: by 2002:a05:6402:909:b0:5a3:64dc:33a5 with SMTP id 4fb4d7f45d1cf-5bd0a568955mr37461a12.17.1723168733708; Thu, 08 Aug 2024 18:58:53 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bbb2d34a7fsm1108577a12.74.2024.08.08.18.58.52 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 08 Aug 2024 18:58:52 -0700 (PDT) Date: Fri, 9 Aug 2024 01:58:52 +0000 From: Wei Yang To: "Liam R. Howlett" , Wei Yang , akpm@linux-foundation.org, maple-tree@lists.infradead.org, linux-mm@kvack.org Subject: Re: [PATCH] maple_tree: use xa_is_internal() for better reading Message-ID: <20240809015852.r3ksdkgivhht3ey3@master> Reply-To: Wei Yang References: <20240808043717.10930-1-richard.weiyang@gmail.com> <2owp7odt4ryc42fzbtbxw6fg7zrkfi5g7tptyy4hgjpzqsthy2@46gbf75ibmz6> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2owp7odt4ryc42fzbtbxw6fg7zrkfi5g7tptyy4hgjpzqsthy2@46gbf75ibmz6> User-Agent: NeoMutt/20170113 (1.7.2) X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 6A6D2120025 X-Stat-Signature: 58eqk43acgdg5nge73msr4opz791e5om X-Rspam-User: X-HE-Tag: 1723168735-71980 X-HE-Meta: U2FsdGVkX1+o8CiPuInrKLeR3TUbWtOm31gfKp5wqHPrgURrF9+xrsQucaMq0quQrTwdDzTlYB9m5ARLCNN+uFrO7rMR7DyP9n69g1gvWKL0eDoVrqN7/dK5jlCKgdUMuTrB+2rBdlHr+hgwZsF4U/v7tRxBJY3Fm6KJgKZfb8pwHAvUKNjq3Hyg1BtorBsiFb9qghZYnftbCrL8+yY4lwbj0xVd/10PfAgpE6nLFkC2uc8sCVuMvt9UlQi4Se7zZVH9O3BylkqT8wMifOQwJP3hf5psxNWflCvzIVzyLA4det//lO/zvIt3SyTG45n5oGPcBghKuIDNFGFpfRGXATMAVlA9xXovGBYid9TqZ5Dsu3El3nGuJm6scDYFpz5JDp0pYUm0vh4y5Vt6aIzlo0n6qx1leM5C2Xkh6bMprkaSieN42sfPEWeKJy37ABJe95JRdVRPGAlfpzDB+Ux7jZJ8T8t+uy4SBKWctARwXCHrhPOw1/WUdSV0TmsCXNTCdqctdWbCbULIK/xIaDa1Xb4zP8V+CBTh3rCy3RPcJstPakNCuQg4mh1l1ZaYaHWx8qTzhw6YKESqGsJdjGGbMw3CjXJ0kfxW0NS/v1OEEQ3cu0dFNJg3Hxs3/id4jHeIeiWJ2MINGYsKyreXI4o57msLROn5KsSGQijquaG1PVZSlpQFiEUoK2ZEhv+PUPFfVFqnQl+KWHMIVFSD01F0kXWU3tU3iglR5L4YLvNLedZbSAQ4+wZRt8IYlLJpKWXzo3hLk8rvr3rlTpAzQdcgbJR5CnrK79qQiudY/9p7tLweNGBLbVSr3NUnlXo6oF8r3WEpTTA5azzc9vayc+EatAeEnF1y5fztWPc6IC0yqGCMWAO9OUkUNftQAjOgetjBCxdQ6dWo3cv/frX7IfgmUJzwhnd0ozJyEdcqmI8ixLWTyzpzjMZHfLYkV8DfXSJ2i5TfN1GwcRZ853rVYr6 uPmqgHld LQ2iEUK0EXO+7Zpu8zYPKS2/gSzRUr0vRa+r19SHk77R+7nawYL1F7Qbux6QGnV0ZG/QlCX3HR3E+0nq0jP/9xqag/H4DYBuSfr9NkPBc82iEu7fuZaBnxzG+Ycs4R+1lpk7KnwBfP+6v9mkZXaJCAl3o/pGTsSPCotQKMn00BUoCSIS1YpFXtEjLcO8YYwunIE9V4DQNy5ntNZwH4Ig02QcfcYadGtkQ8peU1E6eEiUrWxdMhNwkXTHxoiAiznMtoR/QSOV38QVWpjSJc0YGwCcWZkEN58FuQKWLf+clnDYIAZIxHNOi0hoimyXR/uaXpsv2/nyvEY/n35ENrbUz8oKOjmsnha5/7vLUm+KpaZZsjRG80NRWdsMF7LB5MGucEBYMUwA3qsJQ+R81xERJiK1RPbopUKsQy3RgTgeaECGWjOocWlOwyk8C+gY26xfVVwba5ObVhEEX/BVk23bj7ogH4yuwBfTY2yR5eXqRA7zk9WqM27AT2UHKDOtUi/uL8rn4ig6imhhLorYk8jmKre7qxOzmfxWfgzdRwGV8hU2lNOczYyD58QJ9SPo6iJs/I7ngELrsrW3XBxGDh5gApsM98YxP35XgyLNAi5I4vugCt4JX0CPqYAZPG4sbKSQFwbxQ0wEaVboa9Y8xeqQgbDKoyc736qy0h+RC X-Bogosity: Ham, tests=bogofilter, spamicity=0.000188, 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 Thu, Aug 08, 2024 at 12:53:55PM -0400, Liam R. Howlett wrote: >* Wei Yang [240808 00:38]: >> If entry is a special case, we need to expand root to store it. This >> case is exactly the case of xa_is_internal(). >> >> Let's use xa_is_internal() for the check, which is friendly for >> audience. > >Nack > >This check is to see if it will be detected as an internal node - this >much is correct. > >But changing the check to use this function reads far worse than what >exists today. If you look at the code below, it seems to indicate that >the internal entry is being inserted into the tree - but it's not an >internal entry, it's an entry that would be detected as an internal >entry. > >From my understanding, you want to say xa_is_internal() only applies on "an entry" in the tree instead of a "value" we want to insert into the tree. But it looks current code already use xa_is_internal() to check the value we want to insert in the tree. For example: * xa_is_advanced() * mt_is_reserved() xa_is_advanced() is used in mtree_insert_range() to prevent inserting an advanced value for a normal API. mt_is_reserved() is used in mtree_alloc_range() to prevent inserting reserved value. Both check apply to an entry which will be inserted, instead of an entry in current tree. And they are clearly to inform me the value we want to insert has special meaning for maple tree and need to be handled carefully. >This is not friendlier for the audience, it's confusing. > The confusing point comes from audience would think the "entry" is already an internal entry in the tree? If you really think audience would be misled, I would suggest introduce a new helper, e.g. mt_is_internal(), just like xa_is_advanced()/mt_is_reserved(). To be honest, an open coded check doesn't looks a good practice. -- Wei Yang Help you, Help me