From patchwork Mon Apr 7 18:40:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sidhartha Kumar X-Patchwork-Id: 14041520 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 D49DDC36010 for ; Mon, 7 Apr 2025 18:41:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A9E906B0006; Mon, 7 Apr 2025 14:41:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A4DA06B0008; Mon, 7 Apr 2025 14:41:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 93AAD6B000A; Mon, 7 Apr 2025 14:41:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 746456B0006 for ; Mon, 7 Apr 2025 14:41:15 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D81A4BB54E for ; Mon, 7 Apr 2025 18:41:15 +0000 (UTC) X-FDA: 83308115310.30.46E6185 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id D03A3180009 for ; Mon, 7 Apr 2025 18:41:13 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=J5+STbyq; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf24.hostedemail.com: domain of sidhartha.kumar@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=sidhartha.kumar@oracle.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744051273; 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:in-reply-to:references:references:dkim-signature; bh=xifEaGxLrCosb9AknfMROurmyL6jhk0BySHE36IGbs0=; b=r5i7tdQrnMDoLQpiOD/4fs/xa/ut7cBLyvtEFi/KdK+hk90l/a2konJCqjTyoP/pvW2/h6 sUyJwVUJaqsu++tcpZbEGOwqEp/XgdWxJbegPPPwzIRdEPXFXIuix7xoOElN/koN87g5i1 TxskEdfvtrvnfUkaoQ4rAWilOJ08PZc= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=J5+STbyq; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf24.hostedemail.com: domain of sidhartha.kumar@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=sidhartha.kumar@oracle.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744051273; a=rsa-sha256; cv=none; b=jOSAjst8p2P6Y4wlYSB5myfLDpYIkHQmagoc7yDeye7JdKxMWlZfg1IWBMLC+b641WPBAf GnHI8mltreuI7lj1+ycsrVrCSh6SY10VJMXeteVRYq7GN2Avhb46qKK5BnbfzaKcSjM7Lx 1MOiMCjtAjr51sOl1XEhp8ca06UeLqs= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 537H0ihp029680; Mon, 7 Apr 2025 18:41:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=corp-2023-11-20; bh=xifEa GxLrCosb9AknfMROurmyL6jhk0BySHE36IGbs0=; b=J5+STbyq/ZJOEaT+XDikd 8Z/XTQs3dk3GWdUI+8zyptFFX0zInhPjVAT6/6+KsI1v1d1wREdiQvDCTFqJn5ln 8+7rjZ/T5ElFsLg0jm+HTVCUO1pAWN8IN3CGttmMAFzBjuArUNwW0YlRz7NnpZ47 gddpoxOJEn6QkzBf75qT1LkuJBZWWPnKd5+Fm8VUYCJ3sodJNZdy9k+YorKN+Xuw +si55jbOMAXf4Gd6GgcPDANd2FL0lSd+3K+fZsplEtcXfMKy4+hlTHP0TpCUZklE 7cQwYzKJPyZ+oULmwGN5JKbqsG76KvKmrsqMoFRpqkr3TmtpOdWL7TfvMabd5k2n Q== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45tua2ua1t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 18:41:07 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 537I0VB0023792; Mon, 7 Apr 2025 18:41:06 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttyefwrv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 18:41:06 +0000 Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 537IY5DR038909; Mon, 7 Apr 2025 18:41:06 GMT Received: from sidhakum-ubuntu.osdevelopmeniad.oraclevcn.com (sidhakum-ubuntu.allregionaliads.osdevelopmeniad.oraclevcn.com [100.100.250.108]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttyefwqr-2; Mon, 07 Apr 2025 18:41:06 +0000 From: Sidhartha Kumar To: linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org Cc: linux-mm@kvack.org, akpm@linux-foundation.org, liam.howlett@oracle.com, willy@infradead.org, Sidhartha Kumar , "Liam R . Howlett" Subject: [PATCH v4 1/6] maple_tree: convert mas_prealloc_calc() to take in a maple write state Date: Mon, 7 Apr 2025 18:40:57 +0000 Message-ID: <20250407184102.2155415-2-sidhartha.kumar@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250407184102.2155415-1-sidhartha.kumar@oracle.com> References: <20250407184102.2155415-1-sidhartha.kumar@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-07_05,2025-04-07_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504070130 X-Proofpoint-GUID: YVHIWhmhFpr19K0Q-elXIcN-oqF4NoLv X-Proofpoint-ORIG-GUID: YVHIWhmhFpr19K0Q-elXIcN-oqF4NoLv X-Rspamd-Server: rspam01 X-Stat-Signature: az5gb6y8omk8nsytybc875fqx41iuypx X-Rspam-User: X-Rspamd-Queue-Id: D03A3180009 X-HE-Tag: 1744051273-78718 X-HE-Meta: U2FsdGVkX18jUYKZKHPi9I4fWRaKTlWDRHMtkim+ubLpPdRmdkdyuuFk6RgaD0k6rmS2cEXMBoQP0aVOQ+vmztUzVxLyU8cTD+RzB05ckxboz7/hapaN8L4j8l3SlJBBw3H5c5/Qpr2+kPWKDH3CP66FaiCPEJiXpjTxs1J/+vEO+BwgDmhkCVflQLvSRJpLefOjbtCNasek9Dm1c1kWx/WiSJxHoiVCzV/r16hw8n4z+jrXfGZlkUACPRGy9fflDoDMoldp9RWoz9c8SvfvoW9+hRq65W4cN5POEXrCbr/HMeYSRexLB4eRUdh8MV51+7HQjGTob/J+YGCTb1mEv6FRkQLfVJVz7i1We2yN+SA3GtXZsjpibYNkVve0XAR+SfBCvAmhPtMoMsS5AvbZIjNfIzGFDZvK2F38rg2Hz51kVWGaRW/ss8WqCwdaQTsKalugZZBFzsFwvWs8hl7kR/YfO8w/Cpurrqv237LWDBxjcehqFavChUPWgSp3E0CuXY/meHspCzakCelTFIXBGraHsuitym+NiFHFbKJWSTpno9Ay420FGocLdzKMPzYZ+OPM7kMl7qFvZGklwAmv/htvwQnZncPxVG2vOoAMi2X00v7MlN3eWMvi0I9lfKNw5kqfbvcodAniF7ZrJ6dxIM1gfwjzRvwZc1GfnppAafs5azQGVaIK4IZ+pqmhZxZR4s/RqJ7ESuhzQWaIp/28ZCqW92oEH7ZU9AYJPF87Vdb6sz+NdFN4png6hB550hMnXjwiLEjDl57bUlWkj494Xu5FYISxuMeyaCcBGwGgoHfapks8pdElo200JW/2jkoCRD/ZJdsKH/F4B4vAml3KBddVb0aNzZlaggAO0PIGJg6tVV/D/iEKXQKT+B2LWWcw9WaeCvnMhGx+4R5w++T8OxJsIv1qts+Pd95dA+86ObbFLmoNbK8yiFgF2vpgm3Ru5JvlSGUoCsQV/NywKb6 PWDiIOsL ovUHSC40Vm5kcVsh7NHU/CtjdyzmFlVpL5nW0WUQSuVp9uqgy7h4f8Mt9zwFahugRIAaMUC86R0IBGiyAeUQXt09mpFkUkIeORgSS+mD6HefClCnpyCbmIzzV0q6SAwG9HmX4rXPRmJ4gG8o52pqNApOTP4sMLDia91P2LSYyaste0j+xcqDK8gSllqp4MezFdqGRt/BD7e08+lT0iUeUxFjEV3LoW6zoXirT6qTVoAtsNONdWpXKoqewUJThS0rnMwa4SKfsMH6iSzpvKwwOjPk6kq2DDIzeyLYC 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: In a subsequent patch, mas_prealloc_calc() will need to access fields only in the ma_wr_state. Convert the function to take in a ma_wr_state and modify all callers. There is no functional change. Reviewed-by: Liam R. Howlett Signed-off-by: Sidhartha Kumar --- lib/maple_tree.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index d0bea23fa4bc..f25ee210d495 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4140,13 +4140,14 @@ static inline void mas_wr_prealloc_setup(struct ma_wr_state *wr_mas) /** * mas_prealloc_calc() - Calculate number of nodes needed for a * given store oepration - * @mas: The maple state + * @wr_mas: The maple write state * @entry: The entry to store into the tree * * Return: Number of nodes required for preallocation. */ -static inline int mas_prealloc_calc(struct ma_state *mas, void *entry) +static inline int mas_prealloc_calc(struct ma_wr_state *wr_mas, void *entry) { + struct ma_state *mas = wr_mas->mas; int ret = mas_mt_height(mas) * 3 + 1; switch (mas->store_type) { @@ -4243,16 +4244,15 @@ static inline enum store_type mas_wr_store_type(struct ma_wr_state *wr_mas) */ static inline void mas_wr_preallocate(struct ma_wr_state *wr_mas, void *entry) { - struct ma_state *mas = wr_mas->mas; int request; mas_wr_prealloc_setup(wr_mas); - mas->store_type = mas_wr_store_type(wr_mas); - request = mas_prealloc_calc(mas, entry); + wr_mas->mas->store_type = mas_wr_store_type(wr_mas); + request = mas_prealloc_calc(wr_mas, entry); if (!request) return; - mas_node_count(mas, request); + mas_node_count(wr_mas->mas, request); } /** @@ -5397,7 +5397,7 @@ void *mas_store(struct ma_state *mas, void *entry) return wr_mas.content; } - request = mas_prealloc_calc(mas, entry); + request = mas_prealloc_calc(&wr_mas, entry); if (!request) goto store; @@ -5494,7 +5494,7 @@ int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp) mas_wr_prealloc_setup(&wr_mas); mas->store_type = mas_wr_store_type(&wr_mas); - request = mas_prealloc_calc(mas, entry); + request = mas_prealloc_calc(&wr_mas, entry); if (!request) return ret;