From patchwork Tue Feb 11 07:18:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: I Hsin Cheng X-Patchwork-Id: 13969510 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 3E328C021A1 for ; Tue, 11 Feb 2025 07:19:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1362B6B0092; Tue, 11 Feb 2025 02:19:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E5936B0093; Tue, 11 Feb 2025 02:19:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEE706B0095; Tue, 11 Feb 2025 02:18:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id D86446B0092 for ; Tue, 11 Feb 2025 02:18:59 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8B383121129 for ; Tue, 11 Feb 2025 07:18:59 +0000 (UTC) X-FDA: 83106811998.04.B5B892B Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by imf01.hostedemail.com (Postfix) with ESMTP id BECDA40008 for ; Tue, 11 Feb 2025 07:18:57 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WW7fqFFd; spf=pass (imf01.hostedemail.com: domain of richard120310@gmail.com designates 209.85.214.173 as permitted sender) smtp.mailfrom=richard120310@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739258337; a=rsa-sha256; cv=none; b=vUvkwLjnbA9i0YE3e7a/GPzSlsOWSoxOgHylvdJ0Sdgu2x/vhgolutyN2nYdQLyhQUYE+1 Kz1cIDFlGvmI+ne3ySwiYmskrfqBCnYlxChKgLVxF/UxaVxR02EBs+oUnqsYbVQczv59Ya wXJAkeuMO2RjzJRw9NbZtvVuvu2P9rY= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WW7fqFFd; spf=pass (imf01.hostedemail.com: domain of richard120310@gmail.com designates 209.85.214.173 as permitted sender) smtp.mailfrom=richard120310@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739258337; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=RYIuOa9dqsRGqun2oyNyTclGTHpk0ZUat26hN8Dfo1c=; b=w0h74XYBWsV/ruHHrkXbdNaKhpDedc+w82yGACAclUjZTXGCoQu5TZz5FQ8IoIq98e+u9b Mw2SO6vs6rWOG3jWjsj0AuAPXI+sShCzbyOsOmE4oPy3UMvwMC7PKgmEId0pDjXrMcMXYs 2ce/JMtdo+me9nEvFoMaLjDR6IK0G2s= Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-21f6d2642faso68705245ad.1 for ; Mon, 10 Feb 2025 23:18:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739258336; x=1739863136; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=RYIuOa9dqsRGqun2oyNyTclGTHpk0ZUat26hN8Dfo1c=; b=WW7fqFFdF8VRHK3oKjf3P12c3gjh811gjJ9n88+aL6j9bmNfyrlcsKzZKBz8J6AxJp xoHab/Rh1Ne+Hs/B+CqSzpXt1lVzeSS564zWNitOG+Mslxad4i5gs04ALiiF0tX3Qxa9 716u1Ahu9ahKkZLC3nuAXCcKqj1pnJZoUY/K3kwscD0HsAcKnnBrb5cnS2MYZYPV4YSG LZecTCPph8EAf7pDGeSUXRHr6r8jOg9/WP0ENHpZ/g30c8VqUaDlCb+KKm/9QxpQa4AQ ZyVtFVIdO3utfYL5ncMh5lPezrRJAgpKsOxbr4O1JgbAMFDDZ8ad+8cSaJDLw73OYiO2 wh9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739258336; x=1739863136; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RYIuOa9dqsRGqun2oyNyTclGTHpk0ZUat26hN8Dfo1c=; b=BeXsWEnLoL+h+jYlF4y/rV97M9fMbhAogvpCcLnplpBW4PQi8hMJgpx2nvI3L9RRDC 8gJVCzX7CYE20RtMphnnMSqpqHg3AN4u/M26hiri0btPRFdH4eEoPPgijgoYFv4PLHUs SdHvSutd5mDzD5uDbhpMPVaHeRJvINPYkRsQglHPYbdXzdeF/ekg0Ft0yijkb7XVOqBa KhEeRKecyEbWm1rWr/XCJObeOhSrnHAqGwD46V1TcU0YGc/w3qedUd5nbTVisOYLCLlR QzdCwSglCS8Vo+y0bSzaJUg758Yv0gCbDZ9tXN7WRYDWwPeGz0t49rhhDcvtv0ScYyLk ClVA== X-Forwarded-Encrypted: i=1; AJvYcCV/mbHbOvOaxmX7Y6Pgtm15VT7ZEexBDVS7CyI9Jh6CouUEVIgGQNFrNVOyQzVsgJsAoUvJMeDr/A==@kvack.org X-Gm-Message-State: AOJu0YwzlpnojcmA1NVgwjQ4iDuIAYwczBJlUoZCibAP3XXCogQ7Jje8 Jk+TFlPWvKrfE8Mc4+tO+tRyeyZUzOSA9HfegRsiP2TQ+pqrPXpp X-Gm-Gg: ASbGncstL5iKvwaseRrm1ZOfOACGxcYIolZJes3Os9nrH2X5Ca3AsP1SpV8gfn+XxTT s2pnvhxa4/Y7NTJleMrbayMiXOXev0wFe2WDJd2lrBj3FW8T2g05npAofBdDxN1MvmPxfKtGax8 IMmM+2yGmYq56WJG1oeKsvsWf9tG2tIqeRXGyT17J3vegS9IbaF02YxkAzNE3wFMeqzjBSEKukg nDqtNrU7Z2JCRM9Min2fg8gLsroS5hI/P7BxBRHGKvGhRMlEc4JTWIa7gxKp7EPIx5HTnFYDyi+ PwxAztDNzcHgwxPuWDVxpl6zE7shIa+OvzLrriIGjLMA X-Google-Smtp-Source: AGHT+IF0ydpppEAfyPHKzMpn7qxef6C5oYr4TVcYF7SqOYFHr3+ny2ddWrDpeyb3q0l5yWKD6uo6Hg== X-Received: by 2002:a17:902:f68b:b0:21f:6584:2085 with SMTP id d9443c01a7336-21f6584234cmr203461715ad.42.1739258336517; Mon, 10 Feb 2025 23:18:56 -0800 (PST) Received: from vaxr-ASUSPRO-D840MB-M840MB.. ([2001:288:7001:2703:a0f4:120:366c:bbc8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21f368ab20esm89822065ad.224.2025.02.10.23.18.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Feb 2025 23:18:55 -0800 (PST) From: I Hsin Cheng To: Liam.Howlett@oracle.com Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org, linux-mm@kvack.org, jserv@ccns.ncku.edu.tw, skhan@linuxfoundation.org, I Hsin Cheng Subject: [PATCH] maple_tree: Use ma_dead_node() in mte_dead_node() Date: Tue, 11 Feb 2025 15:18:50 +0800 Message-ID: <20250211071850.330632-1-richard120310@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Rspamd-Queue-Id: BECDA40008 X-Stat-Signature: 1eugo77fw7wepshw6ruzoafx3iz4mp5m X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1739258337-359158 X-HE-Meta: U2FsdGVkX184cvOAO1x5SEIGUgzRuLd4laBo1E268MlD7Ub7x8lzAq7QnYYkCXyGamIEP2CcOYr4JJQ9sxyzLmD/R9unzuOLeMXZI64DdRUY+LgGVyJ8wG6RvcK2ZLH7XBWqf8gCqF6ojUlDULRTRQ1tOhirZl96HAK47DsxU8GKR5qzuA2f2+FPG1yTham37uMiwLjRBIBzvFQqBVmii6kdV9kWejOheMK06EujsdbkWd1d+hCGv8gYZ/0TcRCGfbOLpLjFBmpzW2xmOYrDPzSRC7IeBPXqvI+tGKauFGQlZuPVc3HPMW1uxg6o4jjpSy7iWnMKJqS9LHM/rKOgBw8fDy3QC1ACMLn9EoNK+QOv5FRC7hExLI+y1o031JXNlVFUqn97RePVBCUrk0Pw0MYg+6no6PAneasXBV//7GjbTzNTr2/Xb50KG64o0yFLae3mtg9KNDxrIzzzegm3Fl78Gq02clxKLIoFV766IVNB10/G7g1ho60PuYbzEvAbuBiaq3kv+z6I9IawHw6hdwIdpZgCtArcQqKLJIH+xxpaJlDOMrqm7QFkF+4jp1CanP/A504+17Vau1e3vByAFm3O0xTAZvOdlPbtHfBMarD6GGS4TSXNLPAMNZI5aOCCtl/EEXVsX+ObnuOBdcVepDxsFoKAOm7awBDoVD3aSSeF6FXPkCXOMfJMDIM/Ci/O1Ax2vyPMwEB/6FhvFn4Rz0xKUP+5mIfUkMZb88RJ6OT3BkyvA3YlmvhyoS8qbHzcl0SMdAo5GWZbjbSya5ZGklVPGJpJt7fgI48HAlw9N4QSEK3utYM0m8+lnjoVJ/M7H6F/WIA9WEDCenF6XJ7+VIZRnhAJNlYU8V7qoLu5NmUuSQPtI7dA+tNRvpAZYfvgbTpCoWq2BmAACNgYg9GzwD+ndu/72JcvWjCQeKR8SiL8g20/uaW52Sawjp6JhCs/Mu1iO6eRhdVrk80gFna Fvskfs+m OurBFxiAP6C+r+4+MVQK8QL+y+hjGYP6LpVubg3A4ilA44FUfGPkcRhYW0zvEhblgElltNbsSuBoxRhqSZkuPWiHeoJNL6FzLMqp1Z5tXWeGHYHxd+conS/QwRgb0PR6GiBybex5LWYEd6Iju1XSCDy/mDUnE9t9Yn1zK4fSGjybovZarXLHVIkUtMMk8E6lW6VVmcFZBdH24KG+UjreENTYc67nC7CjQrnGogQzpgLpTbfLhxuunW/sQ3mWfjJJR1Mrn72Y+tioV/df898PmhV6P/wcc5aofpewltzheiaHIYSvKSwOdPumLpjUegtJD0ZLjvjQvxQ4kLuDdYtd6QQ7VHx5wIljmHsJCekrLLTqzGpeZYdA5F+4UqgGxPZrLn/XoDnzeNFVMBlUGuVjSZKTQC8QztotxowFdB2gxCkmFsyI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.011227, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Utilize ma_dead_node() in mte_dead_node(). It can prevent decoding the maple enode for a second time. Use the "node" to find parent for comparison. Signed-off-by: I Hsin Cheng Reviewed-by: Liam R. Howlett --- lib/maple_tree.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index f7153ade1be5..362f85c62678 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -584,13 +584,10 @@ static __always_inline bool ma_dead_node(const struct maple_node *node) */ static __always_inline bool mte_dead_node(const struct maple_enode *enode) { - struct maple_node *parent, *node; + struct maple_node *node; node = mte_to_node(enode); - /* Do not reorder reads from the node prior to the parent check */ - smp_rmb(); - parent = mte_parent(enode); - return (parent == node); + return ma_dead_node(node); } /*