From patchwork Fri May 12 18:20:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239614 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 1133FC7EE23 for ; Fri, 12 May 2023 18:21:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A155E6B0098; Fri, 12 May 2023 14:21:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 977D36B0099; Fri, 12 May 2023 14:21:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7546B6B009A; Fri, 12 May 2023 14:21:21 -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 575936B0098 for ; Fri, 12 May 2023 14:21:21 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 2B367121003 for ; Fri, 12 May 2023 18:21:21 +0000 (UTC) X-FDA: 80782420362.05.995F6F0 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf03.hostedemail.com (Postfix) with ESMTP id A1C9B20012 for ; Fri, 12 May 2023 18:21:16 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=eZAjqdRy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="rS/viB+3"; spf=pass (imf03.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915676; 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:dkim-signature; bh=PO0W61VFFcUaz53IVxUaRxBQyFx/sbKsCEqLpzGF0n4=; b=Ztm3hJIHhe/ITP31OzvJ+9AR2H/G74e9TEh4FUh4JfWchzuJSvJXhT1TRW2vY7IXSAg3Mp hjluHpVid0jg57cXccF877srObiFAGo6pH/6BCq1/h3ghsy/AdN0H33xvgv1lnhPphQ1mJ TvnDAUe8rJ4bir1gSQtMhD+/dkIBeiw= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915676; a=rsa-sha256; cv=pass; b=0zan5jzroctlCSLSnctWRGKWhoP4nHRHNjg/mUPfD7ABJpJznvOcHZJx6iELvNWt6bu7mr ZsA5832/iEpU6zPhXFCz19iZBQzdYFDeC7ePf2FrOUvnlW23AReJf6izKBRTjkauxLKSCP v/TbpyYenoPPLqtDSLCeMuhVnf8BhsY= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=eZAjqdRy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="rS/viB+3"; spf=pass (imf03.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF48VO032462; Fri, 12 May 2023 18:20:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=PO0W61VFFcUaz53IVxUaRxBQyFx/sbKsCEqLpzGF0n4=; b=eZAjqdRyQtqTEEhCSc5fzztPveLNdBXCxTDYIz9swOQwmHXFzx3Z8BPfa6MPl7Q6zVzy lIkqePQapGT9CIYFChIt9WnGUEJen8s2RRV5fb6PP5VAYvGRzj0fTKtkPHpQSLIQO81F ZT0cLbnFEVJWp+qEKafJLZnFnO/jSOg/D+2ECpUEVWeGHaKJ07H9rM0O5v2EK+mchFIn dj9N+jpGymBjQUoXEZyekih3hX4u22RkllBWmilrL5u7f/fxr4CLaYIoxwHTSqVDvm+g sPY5fUcdDRP1xfubF1YeCVqF2zOO/TDycPaI6pjuN6lHa6Wg4zlbD4hW+oEevWMYN+TJ KQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bkym-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:20:56 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CGdTBi030528; Fri, 12 May 2023 18:20:55 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2177.outbound.protection.outlook.com [104.47.73.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf81jxf91-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:20:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IBzNKGEKxXfL0U2MIVjJiG82bEhld0SMpq0OhJeZV8PAXHxzzcRVlf5KKa/o4PNVTWI71WWh7DqaCkgKaamPcXQCn3NkfPU2ePU0WjI5pCAxUMNhEWYS1NYdN5mmf4bspRRKBq/hsigS4bnDPN1mFaibIhQ3vIBHZwgHPIAuZq6GJfALDpC12UrUBhUeaZya5pozeFlD9NLARhK+x3OY85ZSYjbxmkWhWez3BXA9tLBPQ8ZImpGR4hNJCibDujeZdia8RQ3w0dIr8XYidnigqNbSkTh5uL3ocoFsz45Vlybpe0sI2gcL7MlIecENsypNz7B2bU1qTrtladYDGQVY3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PO0W61VFFcUaz53IVxUaRxBQyFx/sbKsCEqLpzGF0n4=; b=gAWgRqRkoPPMW9w4d7wSw+AEm12mfjyeQkHzGeC480PuYulDDYfqgImpN10Th9I1UuwJir8WhZhOyXWZzvzZRTW1L4oBlZXwBauU8oM2hth9yQ1lvS70ahwDKumBVhBfAzSR7kh85PDkWWFk3QFjAcNy7hR9CpwWeNbuwcTQ+T61RyaGhwTzsHB3sZE6vI/W1djxSTweYIssgWhdsK05lJ14BdlRCSOISFQ2UgP0hNxtcr/rmfKihfPWHJqLtkNjVgTCITvLlXbKS5vaQmjAjKQSa579mXw6EMS5etgmhXK2kRkyeJvgULq1m8agzy0zQxUnA+OszyfRLW1bxIlgKA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PO0W61VFFcUaz53IVxUaRxBQyFx/sbKsCEqLpzGF0n4=; b=rS/viB+3lF/1nXucy26//rDhkj3yrGS2DI+1Dumt4C+f55sXL+PyVhalpiMshgXPB3Fg/PimnBJb0KsSH9DBaSr8ssd3P6Kqpd2LQamPxPMHr1n/S/2HqY2r7Gx5e6UoldMZ/MzF71JfBUHxjOt02s9e3WM7eO/35kBC7FzLMNE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DM4PR10MB5941.namprd10.prod.outlook.com (2603:10b6:8:ab::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.33; Fri, 12 May 2023 18:20:52 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:20:52 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , David Binderman , Peng Zhang Subject: [PATCH v3 01/35] maple_tree: Fix static analyser cppcheck issue Date: Fri, 12 May 2023 14:20:02 -0400 Message-Id: <20230512182036.359030-2-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0257.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10f::13) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|DM4PR10MB5941:EE_ X-MS-Office365-Filtering-Correlation-Id: 04d97f47-4070-4ff1-5f2b-08db53159e64 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Oh3SWP8PC+BJkIGCRPABN3COKfjc2xOCE+BJJhO+H6TQiHzOGW5zyuTq/un7YqpqIygFxOXAlGCJYkp2QfSvzGfv1qQvnd3Q18d2y3Gy8paBVztHB+4Jb5rcnkfaMdJOUSJxEiGSeZCNz8nZ0g9tWCqE56XS+QnBfdE/Docv1Ki3ODBMmARjjGEskXowoPWxewN1IOsg5d5VMaOlf0C3zQh2wgXJYwJtvpZbha2zIet6U28WayjYf2/3VU1tzqd+fErtS3W6rGx5ihlViKC4AAEMNT8hpaG7wbdWOCFxKp066YVshiwQJOjcW5JXjgOm00KbJIVjBwO7h2i08S8i2vFSOyZkTrCvmEnDPiniOMKo92JA6jZzI2hhpk0CEDPaToytNmY9k5KFBb0ZfvZGvAwImu4tIy7XR0prfLZmHoCWlHtTUBG+PMjjkRO1/PnMol+7By88u1OXWEnOCUMxhjPMLO7zycOkQsPnOsXqXZsrPMzY55rDtMXzFf0CpJyyfyReMS4IJG9Y0a2mu9/3E8A7wojlAk7TuE16dyHuY+mkw6IzjNTxsE0XztMAJh4d X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(136003)(366004)(39860400002)(346002)(451199021)(6916009)(54906003)(6666004)(5660300002)(316002)(6506007)(1076003)(38100700002)(41300700001)(4326008)(66476007)(86362001)(26005)(66946007)(66556008)(6512007)(2906002)(8676002)(8936002)(186003)(45080400002)(6486002)(36756003)(478600001)(83380400001)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: A8jMvU7nhWLS8IW4wBVyV0uNAsENws09/QxOEMVb3qDt5SVNFC/YJjtmOdfNfMKHHT6JsywVuacvDUWkC4WDOhAuApi2sIwOM+ASqD09GICGEhL/x3WHevqjyAT7e/tuNLxbqjnVy6df7wMtCzA67LaYZeMYWY2+sevp7CK8n+TG07Gr7Pwzfy6d4ZARs+lub87917e89bG9fIW2rllFxJ7B5F9m4TgUUonH2jto9wCIfjOGtvf5W57vkHGU+zyaTMD9fApk0E7ujyVjDeOFqsLcTGmVrBq+n6begr3t4iXw00v4GqHHufkF4lc3a3sQeJ+th8FMk+AVo7Oy3+XoQRZ8fPBLbL7sKmpefWXYdJvp9tNjk9oEx9cNtvx253QFqolaYtwnT/c6GzWb9O56i/Nm7FONbYsFthLLem38oGEiW6yw9rbrh1jo8nr2OvVEwLziWg07mT59hM+brajN5oSDF2V60jixODIV7REEDSwibvxoIK3m341E27FUaKGO2P/0d7e15W21tD2iJlfG0Xhvtiiev3sJlKSzEJOURhfB0U4SNq+DL5qLskn2bljeWTAW5zXcV8NCH7Xae0KTxv4oyilCPjyodVC15nuYHvUTimMipEgD/gXEk46qaojhwzf2Scnh7zRU0t1fWwbMoDxK32uWNcsZAVYum//YmluoI1kOxCB6wIxylX7yhsMYBFh/vukooD7vPrqAynkL8MHpmIGdC4loErLPzP7mRxBuzRiMH/aSOybTcRjwJGX0wSxDLGuJ6o2FYXpN+cdaNRL7HstYHb1DUX0LtqX04YEz/cl68Ye+vpqsF/D+XEpHWX/lPTpK/1vc1btfoePTfvITQulQfBupYKIY3r8iOQGEeXgpYlVk6thSoFrvx8/naITUjDcG74UnWqikPpy70DiZGTvm4BKbqBcTYSLxr/p5PRu5Lt9u+2xebG1H62geYWvgBVQy+MqaIJlSY9vz0DlHVEMGZF01yOwsOVOoaQs9SG7Qyk0XoB4q+CsvOfPICvpFgkVj/cb3VF1+YTL/IfuzVhyWQ4WZ3x8hrPNlOPIvWokBsVsez+2JA+PN6/0LfHZvc7ukZhE3OEo49Wd/v6YFz+owba+ltFZcN13NWiahSEa5qK8hvgUfLxnrlYr2Z3fLG/RM9rjdZ7ftdn2QAKT3ITUf8DM0hgAjE4ogiy0yG/NrEbiwedubSMVQ+HamqVTfCrCQUW1KLPh295p87fUDW3Mj3j0X/t9KhqBFxWATZ24w0CCTKICLJtv3TtUc5R67bfK7Q9n3/d4lBx3CktX9AWb9f9o5KsVfPPBfu+RmCwk3QUAEX8L3JlWX1WjntePTdvVBFsluFKu0WFGlP8nGkBMY8rBVkZCOQvZnyz21NQAoyceC61264XcgEEfBodGU1uoWqbsCHiiPf7CE94AvyTmfZio7lVrA7SP2Ht1FVOJ4zzjJiSiUzTsBSeRIbT94ULdO/QCF6jpE3oZi1imIUPgI+fFD578sm3Hm0rxaFrbQHFsQEaDiLv0++jfAKPOj/O8zOEQxZTYCq6/ZIy183Erjcg/X4xcvAhy73x7rupGR93NHaK3zGo2hlQj2zGyt26wYxhiUVQdJ9gJ/7w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: an2cwyYZ5Eohgdz1GBM75vlG2id7yzX64oIZM/ux+u+m0tzKtUWww4iRdFKjNdg08cRLacnF4f7vTStEa49ClncyDMqBimxYenmqKA9Qpp2gCg19fUIYe1hKKyj0GLL6j5lpOa8JcfdZROa7rogDaEjJT8XYy2fwW5yuZMufXGKQZjBqP7DdulRAYuDeSIKUwzLD97h06+QhGtHxJo3jnl5zwFU7bJdwtY1RRk29Fc1CzWZ1ypmWXzgua0rdnq+k06PlhrzE/vCTQrFPF3zecjsAxS8kvUXLME0UIefSTY4QnKHv0SpKb4/ebVEvnwvKf65A8Mmtxcr+nwvLay/JOC8xMK2CyQMSkHBz9VWGa2o8H4Cc8/xnck0TaI0LeQvdYUq/f7NQf4F4VSsr7fGn4sIO8lRmJyBT+oOcPS3HV0WhZvVqPbimHoZO1nqpaypwAXb/6qIVLdIQvL41lJ0tm1XbzJL58OTVq87G7zPqfwkIRYzpuUmG15/Nv6DCKK5v9uQ7WS775CEVdUekZMnrC8dczp4izRb//h8g0RPedkpumKjay0zSgQuUfGXQJ8ZK9oOrPcEnREpPvpoUsEqxnLR2Lcg6GvjoirwPcBPCcXbW8py9zpYL9FAFvz0NfoiK9UHEobyCCeZam5buJczAUeGAGO6TM0O9UOQzcLzbKfwXmiCbQbXueUlPaN0N6J2hC80Zu/SuQwSR2iSvzFo21+FI4Ov7xEFRXWodQ6MvCAZvOk16wNJr82LQcY7Mqrxh/bhLiiXBy9vgAeNpD/rkBDnkItrQ9RXZutgbKM69jPEq0hGsylpo55jGioT0zolVeAoTC7yPzf9rKg25RSD8FvP/NHHD3PtPKOoZDpjS7El9nsFvVWezfZRsipCQdO5eBA3WSIVK0oYgr9U8OwJ+QiEldeMEuxFlLvQE/fN9EYZKxPkkidsXRD0IAfOQpsuqCIDxV5Fg2vqye8NuavVqpA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 04d97f47-4070-4ff1-5f2b-08db53159e64 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:20:52.0838 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: R0FI1Xqqvcb41nV5FfIdWPMX2ps0ntp3HuwNqYllPh+JMImBgHoZgsKTCzmQxs00is9LEH2osWviu9xphGxN6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR10MB5941 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: chTRX0Ku52JleXOwKuUhgAN9nnOKy8Ze X-Proofpoint-ORIG-GUID: chTRX0Ku52JleXOwKuUhgAN9nnOKy8Ze X-Rspamd-Queue-Id: A1C9B20012 X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: fict45ay1ib3qnc1krkajzete8p9agoz X-HE-Tag: 1683915676-579133 X-HE-Meta: U2FsdGVkX1/T6cNJtsf8xTZfZXJS6S8T1BPYOg3Ua4AwQ97RxTV11wjUJ6nrfTTCZ/++CEnAeWSwuEn/Jp8imFF20p1MG0OOAJPn1Gcv6R55yIDAm3EyioAaTIpX9a3d8qVcmLZ1qQcaPmn5my+ejNYsm3zxdnHlLMcgPR+YiUzH5qkHNuXJpPFsPNknnjN5vWz5mBFeajL7TDWjgkoEvEsN3Cx0bTJBjGVG101yfvViUqFG8zHfRvnAC9070E52DdY/J/jxvp3F1o7kzmU2ftb8HdbApT31xwvH3huRmfiUV4O8utHhk+7uiXDkvqsHIf78SswxoAFH5NfmPcUpJLzdBPwaeAPtsyTCVtUzxMraApJO9mihwL2keqi8NcSbMQl4p3/Hja9tanKZIiuKfZE2rBe5SJKFGBOWGt3ZUm2WkIQ5mvxcFiY5ko60GUGkVMgF9qjrgsCfoLn5rpNHc/bwUMrCBkrGRfpNl9RCCu5oqJrGGAQX6uDYFxgw5tDEcCHOzan4AH3UPoN5fidwTt5aDxL/n1SlhcRDdzQsYN5nRACkawrhPBcvMKOL04QrX+rw9cjjPtf9kJGzv/oo0/f+02nX30GOX5ZFOrCiXeOS6oXrkEj0Dl2VHQrEYhb7P1RLsCJ2PfooazJhAV2xPBXE108yiEnOWVQtSFvBqxTiPT+uVITfyJsdCBBNs7GyMBvZvOaJXUHnhxmhV1Xlh4SutSMfa5EZmqwzAlkcPPRXcPXaYSXukQ+JtkBw3IYPNthlNPx+AKNMBCmjbtZqW2YKJqXdB2WaWwI0L2Er97na25x8bAFluMbmoFoHZqakl0OrgEI9rjygLkacnIEloLVM+R4nZhJn1sCoNSaD/BwigFvF7Ss3ZBoQNpVy7YwUI2gPMM/yJDOO7Z/A75qpxeJbqfvSfxiUJu2xRSDTdajSmlR4SBOB4jReMOCABFOagcDo/nDbpdRUDtM+y5y kI2qXaJT G3VBVAQ1uTGQYlu2YNJqW9cydbHv+GQBAzPymnLgG+kaTdQF6MGfoB8tedhshi3VpHW8mXnOAcQPhpPdSKQfQzD8VoLlzIutBZwbS8U4n6l8LgiCj23lyae2Ki1JMU0wGIZjrfwx5JvS+pZkwecaM4zow1hX9Rr8mUinAWSljHzTcn4N6RQZ5Atk0co0vF90OP9QEsMXxkBownRLFktsZmg0K5ftLwsq6t7V23SJt1R896b06xokfrkwrZgsdCcFlZT3DXA9X+tUvM0q/d2YqDQrHrhyMygmlOwWkL7whPDFVinJ9jTS0w39vR1DynlYv0G/At1H0ZBf9Mx5L/HYrB39ZsbEVVEn7C9C5m736hiIUpX8blgyY8Uz7ZvhQ8LA8DUk3sDhn4NV1cOlrQQhepeqEvWTv+y7qrV03RbO3yNnFZTidmBMvjuuf4qnjwOoM3tQeAiUSynoSoSdCsUyKIsXYcjeuTMiPJQ9koN1pPTMsRdeacj+EuRf5UH9PLcRPmVEH 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: Static analyser of the maple tree code noticed that the split variable is being used to dereference into an array prior to checking the variable itself. Fix this issue by changing the order of the statement to check the variable first. Reported-by: David Binderman Signed-off-by: Liam R. Howlett Reviewed-by: Peng Zhang --- lib/maple_tree.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 110a36479dced..9cf4fca42310c 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1943,8 +1943,9 @@ static inline int mab_calc_split(struct ma_state *mas, * causes one node to be deficient. * NOTE: mt_min_slots is 1 based, b_end and split are zero. */ - while (((bn->pivot[split] - min) < slot_count - 1) && - (split < slot_count - 1) && (b_end - split > slot_min)) + while ((split < slot_count - 1) && + ((bn->pivot[split] - min) < slot_count - 1) && + (b_end - split > slot_min)) split++; } From patchwork Fri May 12 18:20:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239608 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 24158C7EE23 for ; Fri, 12 May 2023 18:21:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 99F896B008A; Fri, 12 May 2023 14:21:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 94F9E6B008C; Fri, 12 May 2023 14:21:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7A2B66B0092; Fri, 12 May 2023 14:21:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 6A6576B008A for ; Fri, 12 May 2023 14:21:05 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 08BF5C0EE0 for ; Fri, 12 May 2023 18:21:05 +0000 (UTC) X-FDA: 80782419690.07.8FAEBCD Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf14.hostedemail.com (Postfix) with ESMTP id 82F7F10000F for ; Fri, 12 May 2023 18:21:01 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Oli02A2o; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=EcGHaxjT; spf=pass (imf14.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915661; 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:dkim-signature; bh=S58ESfS5JJYWB2ZAlQ3vKg+/QpLNdflt2UxDlEU9y5Y=; b=FE8CvUuIPvY/yERYwpgoEdxu6YDFcrUXfGNTxV3a25R/nXBqjjshx3brcz2i1Dq13Vu6G9 l8BNl5HQ5xZ/qhtANTRI4f2b0vDEFrZFP0f5xq3+5qfj9sQfb7K6hvGPtkhjMaRsDpL3qu KLK81RsVxSpyPm3rUIt/2JN+cFVw3j0= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915661; a=rsa-sha256; cv=pass; b=Czo+ibKTCT4zPl03UpZQ1le7RGv3X4dNyPen+mdMPrFQmqqf62PwFt6fpv4jn6x6xWyxRW 7UBcz8NXEWoeaAYNhZ12RUPxUNMZr0QKiICDWlma+YBYbbaC4x6uxMvaO35c3ZRkbgRTYj aeEFoqxBGrHFa+zokYucBDqwvw9/1co= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Oli02A2o; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=EcGHaxjT; spf=pass (imf14.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4h4e027779; Fri, 12 May 2023 18:20:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=S58ESfS5JJYWB2ZAlQ3vKg+/QpLNdflt2UxDlEU9y5Y=; b=Oli02A2o4blnw7+PE0DbRYLdPs6+Sd+aTAdS1R1yh1jeAX+/vI3ycxHxZZ+c1InJGpyt nDCUq9O18vln0RmgUJNv8ApEIyIU/lnQ6/IkjiQYtOsYQ7L13cuJOyH74D9YotA7JJSe NynU1XQD3nc+v7up5bEv3J0qsdrAKt3RWyLB41uAR7ec1ATqMKwbXLUx7S6dEcsdyhkC K4zI9XgBJWHT3odrQ+8qdcP8GA0r6Fvjv9t5lxvlRf3f1uNkecw0D8rJawKzlQA0OqSA IM9GOPz5rhEuo0e/KaO4oa5mekYr4gdYzxq6mlp6TB/qNbFFrZaFO8P31WVOK1bjNtSA zw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77cbpqv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:20:59 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHoFWh004627; Fri, 12 May 2023 18:20:57 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2105.outbound.protection.outlook.com [104.47.55.105]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7pnt4vu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:20:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bK+9B9bNWRufEtHw+70qgphRiu15SY9A5YHUxV39xG5dqMU6kZPq/Hi1fTOBDy+oFKBGYjGsngUG6wNO2JP5hDyikarKLdRZMmL3wUXFjhndyog7S8f2GEZDf9643+afz3Wba67XAnbeSziKd41/QnXDC0k0v+bIfdgoVQvOHNFjWzXqxIjoTyCfjVfrPupRHEYEtJsqLq50/oo130EPDwNpB76So3EbJrshvpsGXWTbE8Zo2ZJVLuKyvuvxdS1bZEhgzzIWFysWmxHDcaunfgYbJeimY9Q9EZtyUiUTMgYOdKsOjyJP/ecfJwqB/QVrtXAf0/Rw1Lu2i26/Vow+LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=S58ESfS5JJYWB2ZAlQ3vKg+/QpLNdflt2UxDlEU9y5Y=; b=EmVNaFOEPataXDeKZY0YVka5GjSRcu8swzCJVabtuz2VtHu59M0a8BhNKFh591BmEwO9rOE5j4yS2SvSAvJvPozGCvNUlg12kE1BuqWl+XJb13TOMCjEq8D/m6bWgq2081LYauKDoF+lVdSavSiONqmh4+DCHwUuF/MU6YLkPlTSkJIvY2I/53ZjPh5NUaETdJ7hSzm9lv3O29eIwQsduCgGgqAUeT66Z8u8hSc1MJaYeImwf4F9FOBvzF3o55maHf94UtxkrCIUc2tUVRCOwaI2YicYwPWD292lNUn6faDQfFz0vNoQ6HKFrb6BvPfun23DkscgDzEjXeJAF3CsKA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S58ESfS5JJYWB2ZAlQ3vKg+/QpLNdflt2UxDlEU9y5Y=; b=EcGHaxjTio0pzOzukWbRzvg7Bm8vRS1enZcxyrqP3u7C3uiQfExHUOAIMMnpPitt2duidUezAcqK4wImz3DKV/h1u2ZZL/jNqNHAFrFy/NN1ztYKekpZRfhUxaW0xZSRcNRF1D+aV3a+d0jYUSkaLAfTwmvwUA8tlci6xiIQBLQ= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:20:55 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:20:54 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Wei Yang , "Liam R . Howlett" Subject: [PATCH v3 02/35] maple_tree: Clean up mas_parent_enum() and rename to mas_parent_type() Date: Fri, 12 May 2023 14:20:03 -0400 Message-Id: <20230512182036.359030-3-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0064.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d2::19) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e14c62a-a8d5-4fae-d0c2-08db53159fe1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9oXPyXynB/djRa0ML1tHidbU4NqPUoOeV6K8KEuqBxRKTXWNDXn66OcFoJaUHnDwsCBVjrVitkIPlAOmTmXI9Z6ZOCgRuTIqrWk15GOpTBH0SpIlAgPyh5/1Sq3mvXyR99oy44DWE5P/ga7w4niDpKkAMiCgnreWHHOnbo2NSGrCLmJpggKDZWj+A+ySfnDeWs1LgMqnXLmjIJfsKwXXhfTuvhQeefNKKbKeFF1oo531Bsxt+X4R6hFO2xz0iCEqhhQKu3mCVOOWh/quvDhGlTvNo/zxVEobtdmCl0Ndbs5tp7zuTQfvCc+gw+cZXQO38/8VQaBAHsYZwblnNrWTMtk5Nr52k5DiHqrQdb+nvxFg4ihvu5Q7l7YCupz8ueqpVFk9qkfcd3vPqRnLtqaut+LejLIOH9cV7TKtkEplH79u+0tSWfpSgTFT0hICWgUT4r4yBHQydcPApIYPhzBwCqQNnHkG9L8W4SQPrfSbfgSwmsWvNc/kEE/5Z0KWqluul5oSLMrz4FKy+pFz/zpOr1dVXgbCjxz/82MoKzKxN3F/Hqc4PpBr6ljB7tS6w8CA X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(54906003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kRoK3sDkohgFSf/Z0W9b6zc3hq2VIzuyJFvVdyeuDo04qkQfXzsj/3XPjmQAHqlBF/jwLnAM9WgKSWbyMNDjVpwWABXicq/s0ESH+V/CSkVFr0J32w/WZZNZdWbFMjvqOYikHUlojLgboLqinA0eCtzDy5JGB3LSApR0VdLUnbCY6emk00yb7fPE5ihmNouqfEcFjvyoMs7mcyZ4TGM7hJMAOvCY3wCqbIAVPCR40IImgFWDjZy5Hy07PPmZqRq3CiCpSIkdflRs7UnK9i4mKgiKYEvrVkIcItIA4GoJHh7EfEZA1hqlShPUeZm9ERcBjS6pJJPP/6ZLApVwy3IGeVc3Qwv4L7ai+GiNYcSPL3v68seJl5Yc/NY3vQ7PPWAKQR7F5mhjSrnlE8xT25VaG1AFwb3m++ON3QXeUsWvw+rnjIDxmDMWPzmunKiK8hoWwaGgD8F82Xj7wXmGpORJ6rkcoBXBD1a3WNf6G6fZiuPZXvLq0ZT0sf9Iu8suJQhLnKJpolYFOi/oTpdyoWGEj+zZWpuYvAQHrKNHeK99CUuugGc6MHPmETkoJfKAP9lAMcRNKABi+NztSxTqQ3CdJbxT4TbHpPXFz1lXS2L+RIqHCQC7QJ7bPY+lXKmUIoH0SHeIKd+Fj5YGBtILNnKbWF3W/In7q1P4MAINzSeIPliatCrSIw9si5W7UoDprBpDSX9DUuxY4cQMGFe7llF9XAqzc5PUo6qUr8x1S5cm/50FTxH1JgLA+4DYfG4L9zumcEayF8mOtI3p8R+N5ZOPBwwb16G6/ltJ/LJLrtbCfsTB3+6albvqac7O4hXphUGT2nsq4wFPFynMqWd1xdyqFeP/ABPoLVnH0n9CYghLHFwEf4ZYTSLO6FoQNGoPyxIfKgNsMcUmfejh79ZITiiT9FvrC8ukGF9fNCC6E95RhVCVvGNyMZN1TiFYFJPgvE/z+9KIRBIx+iSaLzoTdcnhDt7owS0vh97YqV6PoWxFUxhdlydKfis4r0WeOpZoU7syTBgnZIStBnVppxp+8sqMjnpprd+76aJFVgL14q74wummUoGNVyfGopOCReqHOJOi28NhOh4y8zOf61vXKCwpfGoOgKg3C5He+b57qsUHGoKDhDbAth08pvMdzKoeTmQphiM1vpiPm9CnqnTVfr8GPkOM6fmJnwT5L+iqHYw1COdT24hE1NrnDXiEFeU5PQ/BzXnGtPaHplvPVh6SW8rUq0TxbXYhRiF9LLRgCzvCzlgn4To+UB/ZDTrQ2jkgciZsrwLpsO8SORT/YY0/RrNcAZ95+KzG4gak+zV96BkikbzUQocwiGByLr6HReIu5W4CddHGTrU/RGEUK2C8Yhi/0NHyuX9DmuZAvNaPgsoWq942OtTQHqZQTYxbNhaZWPY9Jk6voAfESahZfX5nr8hM1DULxGpKv50dQ65QTefoE7avjQiMIKwMOFJCg69WebrErWv+nHAvAfaKVwW1dQu6nFo5QUoR9WK2OToGnmqgmE4TjBRJWbukHRdpfWk1euIPHQH37j2M1pOxYxwRZFW2voJd8hyy9JAYzitjHRvRv9rY7gjwOvuoQet41Y7A59Pxg6MI5ewfn3EKepKWrMq5Pw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: f0gDQYlRXC350M9ZutpzcHPm+U3VXGBz0nGw6jCXzS3sWWeP3tq5RwaWpNseJZQo50MAOHECvVoxsio/BgIWO84dmxcpqe3orWfgw94yvYdqlq1NJOwJwupCM3zD/Z7mRCCNKPK1er6D9rwdenN8Pznuc+x7hp9pKvL1E1DcU9PY4ZdXStxg0UQnDs12dbaUrBQYqJ/SOy/Hzps121pQ37QUSNiQ2DFIEfcYVIpXEP5TSvYp9sg0IcB+AtTIwnnX/J6z8JtUJeqifgh6BVDA4HRdoaIKxkNDwmXXK0Y/DqbAy5BKgpGT7h7CCo+U2GOl9fLMJDYOXX1IHZ5aBFM2c+SWntU9VXTw38Ot4ySAg9sO3yM7PexkNAwuuYN225xm6e9x1w0Vt4TnTwcfy7H8We4AHHp6O6INjJxqIdjUGj+MDUjF6wNAldyQDPoVlKW52hVrTH50I0bxPMa3wU3Y27sJAm6Grfv1h8b1XLxC2voQWeP1LhwxTAbSPLx5Mxv8tZBjwrAXawoLsGKwV5yIdl0YaAq5eHEXYOckR9KmXcZ6X6n2fBmImP8QKxkekp1qTic9OBC3h6ogeALD1m1Kxr/jJn1zpAX8aHuG1iN9GGOXMF97JXo3tn5zLLLUw+0L1pazzpZ59sEK25UuKR5jCsSXNkhwIupYjigw7eK2i9NKypscHNXp0caZ4rcP5M4o8zsWafAY8vX/b6eD/O2d7L6cmJyXPJ+A39D7WmjIfQ5g3UteZcdoxOFj5ZvW5IQJSGOCS5kCahVplDRXIny/u88atnoXlGAoqWm1ktFgqNJqSOLGedVQ2UZlHoxurR4RNxIw/DRIQ9j6G//MgemIMUOZ1DkMVGjDpGEbIhS0DPm+dyeqvViJJ1uuX2MmYFG1B1mIlxaaGn8LcOiXZLQK+MqsbDMniQ7OywqlTMUA/1g= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e14c62a-a8d5-4fae-d0c2-08db53159fe1 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:20:54.5939 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: P+rpV6GZI18ERHt8P0bJtyj3w0CK83ZjiOQv7i9qXXsCoPJNbDiM2fT9FDrW6Ft0TfLUYGe7hrd94EgPtaPHOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: lDwKj8YGpx7yMfUqFNNvn9aT9O07jC-l X-Proofpoint-ORIG-GUID: lDwKj8YGpx7yMfUqFNNvn9aT9O07jC-l X-Stat-Signature: jfrdcuo7w4xs5jh5af5881w8c1ryynfg X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 82F7F10000F X-HE-Tag: 1683915661-522941 X-HE-Meta: U2FsdGVkX1/3E7CiLQJWBYCdAvMb0WhiHTtqwZ/9hxeHh06TKb6D2+sQtJqLJUDxtOiyXFtYE0FscFqiuKzqZpYCkYsmNbQovI1eOVWzFEankF50AnF7Phek+PNhx14Q3/d/ZUKuRE6X6NsVNOn9UoMotMoL7lwr4UKQaRdCCEvRkMrKrCn9lOp8Gu7QqM8/UC8G4glu2lHBHXlBuUG/+N34o8dCnjCRD0SfeCFet+K1NlsWfoBq3hMDJuKvlXeuQgGkgIgRpRwfGeBLPy8ld7ohw8NvrHFVQiw4q1t7larc3xfb5x7FI6jEic9X0zRKjdxgjyFLQaVvfh9OzWPW6j9vjmgpcERAzo4zRk4bO5S57GV4+leFL6N+QQzd5YfI6UgiNzIb80PlSkvCTeRO9WE9IhZPVy/S0vDSjWCAotQA0UWzwJIThAll476t1TnL23OrcAWayNV3SJ7/VmbTOkAwhZJxeJ4QRS3jtfcshuTFMnglav9k6Uw/hxfXEXOMmynFJcN3L/UsD7O+UbEQa1j7RaSoL0PdbOMOH+e0FZYFIF+PCsotbO4v48xJG6qd85YbABJbvOV33Ism45Xgz9Ue5YC4Hy1X4RpTGZFcIWWZeVMfFwAkAOErQQ+MMbhYu3xLniCl05X2Q9FqMCXkVJthL099AWsmihzYdfcCGDD+No+jpamNPjPWtsG5TRUeRbzyKhtwy0xlAtVeh364DB6KybFCca7nqIz6e9PIb7UotxRapAqTeICHYY/prwl3Rs8bOthUf8fVuMvk/3qL68PA0WdhrH7Fvxjo/LveoLS1ZJaBZ+glujqWBN+FtW6eJ+j9i9aDtZUH3TAH2PDkHqDcpAqpTV5tbpK7FHtFQK9KL4YfJ6aCO1M1Gz+/Gl7WaZbi6Vyr4gjWuibrZHYuVXGBBzeGviaZD/bf3Q1KOxPMOsfse0NoZ9Y0zLRJJKJJcIBfMRXbSX9715E8yKn R5pmk+mj 9pBrrn7DRFzajrb530QQyDF802oAFyJNro+O2fQ3fNFqnTPCqD9v/da7mhgvwLTuYrBV8w/Msrlol+vBv5IGqr350CPn9r1MlpiY9cVSZudgfkl7sR3ProuLRLqeDGM1ScnFXfpdJC2cVDEMaWLY8PMm7VF5WnHxd+/+TY6T13/4zKvC7YTPwM0BMyIx5yCYej4Tk7rMMMyvdO1sW3t5gz23pd4PNlbKU5UJolaj/87wx8OX3Aex1E4Aqqf8QQJSi5kc9HL+9tutN6oV4LsP9I7BOHr2+Moux0WoIRbTLIUUAVssEdqIX3zkb3+I1aeRacX6ESU0GOYtpInNz2hKlOWqMFfw/loQPEjkBjXZhWhT2WN4/Ts6JqIZO37tpsHHPMRfrb03B5iLKXQDEzY+dW+3i/r9W4ALA7yyeD8wt8LJnMf8JkJSENnDN7D3x9hErhu1sadAXkNEmHDK31WcaW+2IyFBme7BaNdJXtb1ee0ruScTYPdiZAlxBn7TETQfv0zREl4S9u6ujzq8= 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: From: "Liam R. Howlett" mas_parent_enum() is a simple wrapper for mte_parent_enum() which is only called from that wrapper. Remove the wrapper and inline mte_parent_enum() into mas_parent_enum(). At the same time, clean up the bit masking of the root pointer since it cannot be set by the time the bit masking occurs. Change the check on the root bit to a WARN_ON(), and fix the verification code to not trigger the WARN_ON() before checking if the node is root. Align the name to mas_parent_type() since mas_node_type() exists already. Reported-by: Wei Yang Signed-off-by: Liam R. Howlett Reviewed-by: Wei Yang --- lib/maple_tree.c | 50 +++++++++++++++++++++--------------------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 9cf4fca42310c..555de3a8343e1 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -425,28 +425,26 @@ static inline unsigned long mte_parent_slot_mask(unsigned long parent) } /* - * mas_parent_enum() - Return the maple_type of the parent from the stored + * mas_parent_type() - Return the maple_type of the parent from the stored * parent type. * @mas: The maple state - * @node: The maple_enode to extract the parent's enum + * @enode: The maple_enode to extract the parent's enum * Return: The node->parent maple_type */ static inline -enum maple_type mte_parent_enum(struct maple_enode *p_enode, - struct maple_tree *mt) +enum maple_type mas_parent_type(struct ma_state *mas, struct maple_enode *enode) { unsigned long p_type; - p_type = (unsigned long)p_enode; - if (p_type & MAPLE_PARENT_ROOT) - return 0; /* Validated in the caller. */ + p_type = (unsigned long)mte_to_node(enode)->parent; + if (WARN_ON(p_type & MAPLE_PARENT_ROOT)) + return 0; p_type &= MAPLE_NODE_MASK; - p_type = p_type & ~(MAPLE_PARENT_ROOT | mte_parent_slot_mask(p_type)); - + p_type &= ~mte_parent_slot_mask(p_type); switch (p_type) { case MAPLE_PARENT_RANGE64: /* or MAPLE_PARENT_ARANGE64 */ - if (mt_is_alloc(mt)) + if (mt_is_alloc(mas->tree)) return maple_arange_64; return maple_range_64; } @@ -454,12 +452,6 @@ enum maple_type mte_parent_enum(struct maple_enode *p_enode, return 0; } -static inline -enum maple_type mas_parent_enum(struct ma_state *mas, struct maple_enode *enode) -{ - return mte_parent_enum(ma_enode_ptr(mte_to_node(enode)->parent), mas->tree); -} - /* * mte_set_parent() - Set the parent node and encode the slot * @enode: The encoded maple node. @@ -1123,7 +1115,7 @@ static int mas_ascend(struct ma_state *mas) p_node = mte_parent(mas->node); if (unlikely(a_node == p_node)) return 1; - a_type = mas_parent_enum(mas, mas->node); + a_type = mas_parent_type(mas, mas->node); offset = mte_parent_slot(mas->node); a_enode = mt_mk_node(p_node, a_type); @@ -1144,7 +1136,7 @@ static int mas_ascend(struct ma_state *mas) max = ULONG_MAX; do { p_enode = a_enode; - a_type = mas_parent_enum(mas, p_enode); + a_type = mas_parent_type(mas, p_enode); a_node = mte_parent(p_enode); a_slot = mte_parent_slot(p_enode); a_enode = mt_mk_node(a_node, a_type); @@ -1659,7 +1651,7 @@ static inline void mas_parent_gap(struct ma_state *mas, unsigned char offset, enum maple_type pmt; pnode = mte_parent(mas->node); - pmt = mas_parent_enum(mas, mas->node); + pmt = mas_parent_type(mas, mas->node); penode = mt_mk_node(pnode, pmt); pgaps = ma_gaps(pnode, pmt); @@ -1691,7 +1683,7 @@ static inline void mas_parent_gap(struct ma_state *mas, unsigned char offset, /* Go to the parent node. */ pnode = mte_parent(penode); - pmt = mas_parent_enum(mas, penode); + pmt = mas_parent_type(mas, penode); pgaps = ma_gaps(pnode, pmt); offset = mte_parent_slot(penode); penode = mt_mk_node(pnode, pmt); @@ -1718,7 +1710,7 @@ static inline void mas_update_gap(struct ma_state *mas) pslot = mte_parent_slot(mas->node); p_gap = ma_gaps(mte_parent(mas->node), - mas_parent_enum(mas, mas->node))[pslot]; + mas_parent_type(mas, mas->node))[pslot]; if (p_gap != max_gap) mas_parent_gap(mas, pslot, max_gap); @@ -1767,7 +1759,7 @@ static inline void mas_replace(struct ma_state *mas, bool advanced) } else { offset = mte_parent_slot(mas->node); slots = ma_slots(mte_parent(mas->node), - mas_parent_enum(mas, mas->node)); + mas_parent_type(mas, mas->node)); old_enode = mas_slot_locked(mas, slots, offset); } @@ -3251,7 +3243,7 @@ static inline void mas_destroy_rebalance(struct ma_state *mas, unsigned char end l_mas.max = l_pivs[split]; mas->min = l_mas.max + 1; eparent = mt_mk_node(mte_parent(l_mas.node), - mas_parent_enum(&l_mas, l_mas.node)); + mas_parent_type(&l_mas, l_mas.node)); tmp += end; if (!in_rcu) { unsigned char max_p = mt_pivots[mt]; @@ -3294,7 +3286,7 @@ static inline void mas_destroy_rebalance(struct ma_state *mas, unsigned char end /* replace parent. */ offset = mte_parent_slot(mas->node); - mt = mas_parent_enum(&l_mas, l_mas.node); + mt = mas_parent_type(&l_mas, l_mas.node); parent = mas_pop_node(mas); slots = ma_slots(parent, mt); pivs = ma_pivots(parent, mt); @@ -6995,27 +6987,29 @@ static void mas_validate_gaps(struct ma_state *mas) p_slot = mte_parent_slot(mas->node); p_mn = mte_parent(mte); MT_BUG_ON(mas->tree, max_gap > mas->max); - if (ma_gaps(p_mn, mas_parent_enum(mas, mte))[p_slot] != max_gap) { + if (ma_gaps(p_mn, mas_parent_type(mas, mte))[p_slot] != max_gap) { pr_err("gap %p[%u] != %lu\n", p_mn, p_slot, max_gap); mt_dump(mas->tree); } MT_BUG_ON(mas->tree, - ma_gaps(p_mn, mas_parent_enum(mas, mte))[p_slot] != max_gap); + ma_gaps(p_mn, mas_parent_type(mas, mte))[p_slot] != max_gap); } static void mas_validate_parent_slot(struct ma_state *mas) { struct maple_node *parent; struct maple_enode *node; - enum maple_type p_type = mas_parent_enum(mas, mas->node); - unsigned char p_slot = mte_parent_slot(mas->node); + enum maple_type p_type; + unsigned char p_slot; void __rcu **slots; int i; if (mte_is_root(mas->node)) return; + p_slot = mte_parent_slot(mas->node); + p_type = mas_parent_type(mas, mas->node); parent = mte_parent(mas->node); slots = ma_slots(parent, p_type); MT_BUG_ON(mas->tree, mas_mn(mas) == parent); From patchwork Fri May 12 18:20:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239618 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 37DB1C77B7C for ; Fri, 12 May 2023 18:21:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE8BB6B009B; Fri, 12 May 2023 14:21:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C83F56B009D; Fri, 12 May 2023 14:21:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AB0416B009E; Fri, 12 May 2023 14:21:28 -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 911926B009B for ; Fri, 12 May 2023 14:21:28 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 627A4C1052 for ; Fri, 12 May 2023 18:21:28 +0000 (UTC) X-FDA: 80782420656.17.B10CF01 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf15.hostedemail.com (Postfix) with ESMTP id DFA1BA0008 for ; Fri, 12 May 2023 18:21:24 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=tHdypdjf; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="UDPo/VWp"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915685; 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:dkim-signature; bh=OrIdgrVzXbrkBEQdhLJQ1jIQQYwRAY8yiv0L2JjFINs=; b=H3wv3OOSmWNZfrunBy7RcDBZ/4+S1eJd7gnfMt8XJaZ5c0qFha+F8Qs3vq1N8YxaGqrtZO 6qcuToPqzrSMjjA5i0ukavj1sv9D5NAOuT7Xza3wvSq4ZBUDdI8Pr2sP7JYTlo4no+bCYI 6crwcoxlC+rJfhlWYfepHXapksIsH+0= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=tHdypdjf; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="UDPo/VWp"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915685; a=rsa-sha256; cv=pass; b=n1J+fNFf6WApvj2ILYGi37DltRI6loysMfAkDHBb0sDLf8rLWHwODZPTSz66opT26FnnN1 8YaEcEud5SuN6VdGyqfcPrfsDdonqWW+AoDpMLWDXAPQRzdtt8X8OPM9EoR2UZN0Zkjxpy nQ8GcAlzwV+WhvOO8Og7OHw1IwjtbFs= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4aDW021732; Fri, 12 May 2023 18:21:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=OrIdgrVzXbrkBEQdhLJQ1jIQQYwRAY8yiv0L2JjFINs=; b=tHdypdjfxtTCb7ZQrq7ZCqT3syUAiOyyJqckKW96gb3UGOg6POudK6FoIyncam9J07RG C5DP2brJ/f7TLPEJ1hR9pBOsuABhYNElVPP7Iz322mV73vrqRohpJzVKhiTqouTagKTS mLPgM387MLco1ZvA3wKR0jrHYxoS/m6/XLb83NSM3WMRG1hmC8XtPdaBaJEHvjAymBSc s3ZGmcm0y/+Rqupb3qUninVi/tW1FrjeOCP8yZo4zS6SLfsS+n+OYp3dbLAf9eQSAo/8 CZcTJmy/Knma3dLol5Y1u6UGAFg27cfo3pGwjxGROhqRh1K+PiIGS5fdyeU1pZUYvUo0 8g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf7793gxk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:00 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHZraK011640; Fri, 12 May 2023 18:20:59 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8156y66-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:20:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IJZfUKZXlolKtu0zd4uz4NhTXVvYXYOLzMIz8rhzFe1BUib1lXB5u2dJ/UOz//6II7cQJehntYdnbeFPDy2OniOP2SKsjfV7JzFcO338/EgnaIZC74hU7v+/3N9s5N9hka07RtYJnjxfz/5Kdt7h1ek8ty3DsrcZ4nvVuUkOl1cax7889YI2oK3yNrsxS8JdLHQShYD295qJBODHfsI33gcZWEf5zf3tzVlKglBG5LR7m99jikB4rfq5xVO4RBFn3iI9g03Njm2K5IcsxK81zv54gCxScsFnwdTp8nJ8zQNWyMhk4C0zNh5PmL5JjY+yYQbhxUpi/m9sNNODX370eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OrIdgrVzXbrkBEQdhLJQ1jIQQYwRAY8yiv0L2JjFINs=; b=J57IqNZZDD2x+xbwYkLG2HxJdtvz3pjaVi1xU9VTJohwh4OouuUtD6S/+SqVaJe4Hu1X5xvsp50gTX6Um4Uh0KRMAmM5nVdkAYhwoY8yA4Ghm/nVzTxorrl4jH28NyFJKwoIzmSZiZrt35VEGNlZeEOkm0SxmScMDGrkBiKOvCW+pdsT+MTF29RW6ngZceHjAtuPbvEjSqsPpqMQFS0jgVvwVC58JiHhBfqavj4Bm11wem0SGWzZDpd6zlR0St7z73Wo9oVDbQLiMgk+rLHxIzGr7iyKgC35SpGKZBRvavWvyHsPGynl/ilTAiMkZ1OwFNvqrmeJL8P56hVeaLnYug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OrIdgrVzXbrkBEQdhLJQ1jIQQYwRAY8yiv0L2JjFINs=; b=UDPo/VWpzA1zBTwXkkp9FgiotaebkGs8NmdH/c+VV8wZMFZbfxlqZzbZxMZrazyDtO4SimmJdyILHZJFMxqDkgjfq7+xArA/kHQeyb5lhWhuEsep9YJ1T/G65c9py3oEmp+7Z5W5vsUOm5tg7bVVOTAGQaUyIoPUnZ7goMBLCvk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:20:57 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:20:57 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Peng Zhang Subject: [PATCH v3 03/35] maple_tree: Avoid unnecessary ascending Date: Fri, 12 May 2023 14:20:04 -0400 Message-Id: <20230512182036.359030-4-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0065.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d2::22) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: ae32d136-aa02-440a-b54a-08db5315a193 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XuQBqx3Dz0qwxAX+reHa8d4a8fsYEHxqBY+ncfAWm+Od0HiJioZl1W6uCJKyu8ek5LG5Jvh6pKXvNvDLZfpmxYyv8fq/cRkZTuJZZmfKhq4VIqVdXz04FTJWa82iJcGEGxRfSrDDURNsPRbUuxTbQx0a/kz16i81vpKYV5IN3IBOw+xNxtJP7vB4SCMtj14gkQXuOEwmKN7yh54zyLEiRGb2ZRRaPrECUfh4AWCTZuaPxIHJmX5PVLEEl9eKOPVxGL0UI9NaXR/+IXpio4lMhI1roVqd+CXTRdWzyOWkc/1LeFaioWRK5w6p88CssWXC5/BHbkPKQs3VSgGE2S5dhmN3XxOPP+rnwRdjMFSN2DDUwTkVHn8oMCxfJxU1UuZkz/8jAmnqFT+2+xoGKdIa3dKpu9pYmOMIy6qBR+AYuwL0bhirCs3oXDcxHAlXaeGfCTjOV42Z+azj3VF7btsD0mPOzYiK5KjDNzMGrIj7Z+S8WfWvpHtXa0iSgJS277HmWXJC2juxEJpTc4x2vGAD0G/AuIJDJYOFD6Fuvn/DblQvsv+wtleIGyledigix5hN X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(54906003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UZBlhnd8arDdovFB+d9K0n2y0hSt3PXVsr9rQLemogc9HAWiMCTtlz2IPHr4neLQ9aZ6FHcUBW4AdqDmCf0WHAsud3Sg9vqlBbiRruZq9ascvSjyap214ULVMIUp10Fc265VWV08lsZhmdixxWl6Uq8yXQ4PnDMQD8O6hhnIOgoRQmdo9exjffLzXfAKqR9sKYGkW1I1BM9Sr4j/XbmUCvX5JXxC+gJMedfAJYYBCYd2w/qSFTreBAS1xf9Tt0vSKLURsoZ17EpdUJdJGFyRGnJYOAtODM5T+iTsOtGrUtm0Hb/KE6gfW7e/kCGfC16H6UkxeJ9RsfjHKHFgEtrcqCTfTlXa8O7lwDPpFR4M6Q1ImibYFxj1njpr0Gzl2vW6jsyCNGpDsM4EwmaUgw+2WR6LWEwsk3enJhb7zSUgiif7cZhuexaPZlYs+d26bOv2dvlF0+GREBb0Ydha+oCR7KI2pkW2LatHfHlsLu4GSH6vbNCdI+8P0l7nQ/4xyLRED1DpANLaMDOS64DwJaCT1N12VYBWBLbS1Siompy4TKvmMYvyNUgMYeWbM09gvpN80ze56zzZIak/e4BwwPAvscLrJiWApCQThfw0bQHh4a7tFAMvro0anMgM62wY+9lW1rVlWJdqgFBz+UjaFx+eqsN2DPfJh6mdc7wu03sCumPUGgXiLrhvI569unDzs93RONjV+XZWlLVWV7G1qcDTq+nRcy+jJz9m9ojj+E1vvtdq+LpAYHVPMMUgcRsOKHo1ly5Nu5qMBi9wGVeBwP+V5OCqRX6/cULV4KROKePrEnUu0+R39VUxWfOnbEUdBTo31FlyjGl+kY+udr3Wz0T5N8DMMLLP3TSB6c8pFBi/3pbBb2JylwbRNAxzeHVhVvQ0d+e16aX+nkLfKSNPzYrq4Hkusepdf1JkMqY75U0RAqtGWQeVlZaHAyUIO4TQYdhVgAFxbwkdgNUm1ctd+ZxQCJ6E8SBGkWead6DqAUi8X5ROD+HsPVadvOyB2Hb2har9BHYfCT6/Z5AcLjRyBzK4C2BI6KzphehLR67JNigivn9zY04r6MQJHzJ5OvPCZnsWM6m4ruID4IbWy9+v/LeiUkbgvJVbVN/TQiUX1RGe7TwXk2j9N4IfotCL8hjqsMlzAd4fzgfVs0kpnlvDJHk+3fJAOPC3esI/rHwE9pJWj/HI0kCehzfSs8toccx3q2pSVcNWdI2R53d7R0w5oZLYXhWHVDU7kNULg4hWckPQvCT3XOgbiMbd4+dJLfAExD7UilBNTbNd3WZUUP+k1U75cQaF03dlcPeNhVnvAya8yVa0xTiz1RewwCjky5aQ2ciKqqTWuUDhc1PGznuU2UG7R1C4V1Z6C4BccC9W4z58ZAyKRvaSH+TN4BjGoVhPS+hw704doygsARZobrhXY7wLfuggEll52l9QX7zA5mW6/mbky4sqfFmWIld1SCpVgP9EOgCCSqi2sh9ul6p7s4doUpid72EjI9g/rrIsv9nzwdU1Tvz4cUtnEY1HJavPRGyQ5ad6sgFU+W7Nzslc7Ei+Ghh7HTPm+/CmF3Afal9rK18HJAQUNfZLqzQmy8MoE9XXFB2lzZLlPY6sgzwJUSH4yw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: GRW9Ah87ZBh+AYbTwUkz79/R3bVwWiyIDreHswVcUlUCpJAf08UC9LL3mToSmKNSZB8vf6Fpitq0Tcv4mAn+Bp3n53vxtmFjdshY5FDwIoGwaxbzsupTxs+Yjsoaj5bMYb48AVsLnv1d0KifWzXTgLyMhEbBIfUOQqQ1ZmVOHtytbhAPyml8vCB9cKVVvcZkFP936tXBYEOWOgokYof5JzddHbV6RNUT0u8nl2eE7zstlnS8rPLM55Uexnw01G/kBFpXWwHoXlc+0uP8Czb5zR3qKQWQSB+P9MCOEyjW/3d6lGO97AvOXlN8jhcpHqIhnIHxTPpHG30CpkAhCdcpILippjYWi7U5rVaac9edcU1keVuIlZir1jY4s/CNsFRfiWeB8mOfcGTcf2ruJ701LAfOcRKpWsieHoEGx7bvXSqpoyE88BYKKMbxh1YOb+/98+LhSDcxWMLgmexVyAGy9DEKpgKCNVifikPWf7egsme5Rmu0wvDLd65ADe5VUA8SkWlUmGGspCUFSvPcq5YSlBI7cJOeOF20l3saiYjqbZqPJ/S7rQNASkN9eCbbvVHvlUebvBbVHdziiLlrkv8sF4RrZEnbrb0I1TN32OtlmMH1lGo19s08Blc59HmTmh2Wj2PeAQ4O38IcU3q9WEOs2Z0djJX3EVFOI2gnqFrOvYyisjLUBRd1n4RnM2z4dIccmGHORzrsRh0sG/6nhxj/7vKEZ8Ioc0HOMeFTthszPPLuoH8L2g9hzQ10ODt5+xZeC6+L5qHhYF2awWcg47tYNXFttSFKNG8bbwsF68i4WrCelqtQa/6Hj6fFU8TvpxRLrh+/7lJZ5rW181ueuPtahtWBOZXUc9NGvzy7eYqShjMsZOH7YgKKOrCurBwqLZ9T/w6+E042t1+ivOYMQ7CKgr0x0HY3BhC1uX11x3dEkjvRtfpY/ZtNSJ5nINstEwHL X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae32d136-aa02-440a-b54a-08db5315a193 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:20:57.4613 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Icv4zmrDEMOWwPAvndTXDVeACceBINChEQE2/oaSm7gdNWqQUnqy8gk2N+1LIeUgZxJo7jKS4FcQK43UhW+KRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: 3HHVyC-czsEa0bkoVtRRgqWx7I2_SGFv X-Proofpoint-ORIG-GUID: 3HHVyC-czsEa0bkoVtRRgqWx7I2_SGFv X-Stat-Signature: 9ck8pofd5frsspthfsqcf8j7qcu56kpj X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: DFA1BA0008 X-Rspam-User: X-HE-Tag: 1683915684-371793 X-HE-Meta: U2FsdGVkX18v0KTyO+nz4H1lkkMUi3wKw00TZJ0minpn4Y33C3cYkoSiOBzBNmGhycDfmIdKCAPTHN2oxT6H9WDMBT0Zv4cjGkkuJtvceJvzzSXtLiw/FWCJnp6AT5m7PusDEbnR7JQOMZLKB85MLoQPN2Jk1YBynp0rq1Ydw4gFiicelW0V47BpZaTs14nOVOhjk6uFRYPVvhouJiAPRe0itbLnlVcEFRe6vJiTjj4ICa3bmmMgM3QHrMBNBv3gYpud0XiZoGF7E6bHtzNoo83xkLJAtssMGEf2q24EolEuIu6dGGDxVJH5+RFXF5wr/2+/XOtM2Son+Sej0Vq594tgFDSQAPtu3oAj26iyqeGalgUTlCGuN0BD8Mi5f7Ntu2hsMSYLEqJj7/PCCFuxz/cPgCPScFzWw9xSaxEoaqNQcK40/xZMhbXW03E6FB2kf3vFOxIRjsrp47FjeaoI+ILvxZRpJRZF02b+UW1tMdNcbc3Vyt6MAqkxuYsdqssJU6GnyfeGV60sGdhK0u7tBLepTjRqav+dDNTAQ4Y/+iT4P6gzuA/d5KT3SPdOvVx8ipdbU2aYiDjgYxq2gezhzObq38N1WZsUoKZaPwSdWePPFE7z1PTpxuWPJt4Argbiv2SPXG1beoIKkEG7LWq/BKofeenzGSYgno+FAXcCOGQrS284F9N5GvA7O4mdxP9GILLpMxJB1BGY8z0zWzOV4zgKcye/dVP0zX31nBSsqb0PkxR3Xenn3+IdIA7pt59th9RrkwV7tB6jjFVuvZH9mQYPeqDrdbjnK4LA6urGRC+1BACzPCYuoHLZCa7q0I5da3HAldOMwzu28G+vLvQ9hH9AXvbIUb6sNRtzws4uJA3vw/EjhQGpaeOhHEl4J+vFWh6rF+CG7itxbN7ZFkDYD3aO1ZVjP9lsHNzlD+LDG3M5e68fTibN2taXIlOPFJQgnxh/fivmKdFlstlfQMf gtI2l+ea WgpIkyTQrx2fuo+xU0ZNutMJfWRdezSxSuMkEfZDQdB5QUtZgT2tEdmCEoP1BBV8cXlu1y2bTNU7tO7svUBKT0Y/T8nybGfKpgA7cPT/VCMSKWC8LF9eLHUrzFzynynCK7cTivcH4VYwGZrsOcGZ1tlQttqKKiaV9/sCPrQO9hAOuzx9RHRo0FQaM24AzsqWb6271IhfKiM3jzBQ7tZ41LG9h+BMqNwF2y/bIaxC+uVXwSP65e/pGEpCkbAsbCQD+z6kmy8cZJhBawSnw4uq8uS/ZXYWi4ixsLvhCCUUEbG82PjykrbGckrqIuqlRRUYBdporyXrAenI1VTuvTmRTSJYJW5PrIVE0ndY96zDtkj/jwX6GwHunu32gJZhgOxnedsd8PmF4Wwe+0RzEMpkjoH783ZiVNp74MqW5AJA3DEeuimw4eAf1PEXpPFK+dJ6S1pjq1SD3A0M7YTTUARVadNzDQXWIUgt4WnlE 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: The maple tree node limits are implied by the parent. When walking up the tree, the limit may not be known until a slot that does not have implied limits are encountered. However, if the node is the left-most or right-most node, the walking up to find that limit can be skipped. This commit also fixes the debug/testing code that was not setting the limit on walking down the tree as that optimization is not compatible with this change. Signed-off-by: Liam R. Howlett Reviewed-by: Peng Zhang --- lib/maple_tree.c | 11 ++++++++--- tools/testing/radix-tree/maple.c | 4 ++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 555de3a8343e1..5b29d5a916f2c 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1103,7 +1103,6 @@ static int mas_ascend(struct ma_state *mas) enum maple_type a_type; unsigned long min, max; unsigned long *pivots; - unsigned char offset; bool set_max = false, set_min = false; a_node = mas_mn(mas); @@ -1115,8 +1114,9 @@ static int mas_ascend(struct ma_state *mas) p_node = mte_parent(mas->node); if (unlikely(a_node == p_node)) return 1; + a_type = mas_parent_type(mas, mas->node); - offset = mte_parent_slot(mas->node); + mas->offset = mte_parent_slot(mas->node); a_enode = mt_mk_node(p_node, a_type); /* Check to make sure all parent information is still accurate */ @@ -1124,7 +1124,6 @@ static int mas_ascend(struct ma_state *mas) return 1; mas->node = a_enode; - mas->offset = offset; if (mte_is_root(a_enode)) { mas->max = ULONG_MAX; @@ -1132,6 +1131,12 @@ static int mas_ascend(struct ma_state *mas) return 0; } + if (!mas->min) + set_min = true; + + if (mas->max == ULONG_MAX) + set_max = true; + min = 0; max = ULONG_MAX; do { diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index 9286d3baa12d6..75df543e019c9 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -35259,6 +35259,7 @@ static void mas_dfs_preorder(struct ma_state *mas) struct maple_enode *prev; unsigned char end, slot = 0; + unsigned long *pivots; if (mas->node == MAS_START) { mas_start(mas); @@ -35291,6 +35292,9 @@ static void mas_dfs_preorder(struct ma_state *mas) mas_ascend(mas); goto walk_up; } + pivots = ma_pivots(mte_to_node(prev), mte_node_type(prev)); + mas->max = mas_safe_pivot(mas, pivots, slot, mte_node_type(prev)); + mas->min = mas_safe_min(mas, pivots, slot); return; done: From patchwork Fri May 12 18:20:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239609 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 4253EC77B7F for ; Fri, 12 May 2023 18:21:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B25C66B008C; Fri, 12 May 2023 14:21:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AB0036B0092; Fri, 12 May 2023 14:21:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 92A1F6B0093; Fri, 12 May 2023 14:21:09 -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 8253A6B008C for ; Fri, 12 May 2023 14:21:09 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4BC02120FED for ; Fri, 12 May 2023 18:21:09 +0000 (UTC) X-FDA: 80782419858.01.CF6BE11 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf17.hostedemail.com (Postfix) with ESMTP id B0EAC40008 for ; Fri, 12 May 2023 18:21:05 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qXl9GI7u; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Or8gIF6B; spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915665; 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:dkim-signature; bh=C3AbTxtdfyzVTdgMrkt+8cguGreW/PZzveEPUyUGMKU=; b=8JUvJ07p12NyqHTnlJvp+l3wgEVjj5sfkDdi/qNkdcnl3bFSumAJkG/iFr3gKa8VgQJG9t sGY0/Qgd8vhn/wUKUCyVKiZtAX66XU1JvKjLLvJrBi3XmX3t8FSPtrmus5qPCR/j/nhdIZ oE6Uz7c1KdXHpiuvLjOPXggVz91EEdY= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915665; a=rsa-sha256; cv=pass; b=Z74625VFXU5oRPQOGZkSmLEeKTM2F6EeDsMZ1kx6QH1uZ9V0Xdy8e75p275dbcVavy7Pvv u1/HFyQWYCWLqW0/mI4+pZ4gmX2oCRA3+F9YsNIgF79kmAtsf66RM/kmuZ0trkZFcnyCHv ptGfj/FPiyNa28wssfTVMQNlC9ezcYs= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qXl9GI7u; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Or8gIF6B; spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4eEw021823; Fri, 12 May 2023 18:21:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=C3AbTxtdfyzVTdgMrkt+8cguGreW/PZzveEPUyUGMKU=; b=qXl9GI7uRcDpvpPIS9y4V0HC26ZHe941/yKegFXZSZhNlkzg7POOAWmHwVUxjAiyGrxU I1DuAnFNK3o8ErbdrKPFoZOfAzVlx9IRlXHVkuOj66tUCp5M3GwLRdOQ7eeRniFbEE/6 90ivv5HDp2ppL6d68EbHgzj1UV8k+/wM2Vhv2W3rVpHXY8Gw3JNnkvVvV9eyi4TZfFG4 3JiP9/hg9YqY6Rq9laPgOXzBAsy1MY8ai8+zTk9DxwHevIX+6gEm4A6j/e9yxSzVRTT/ ZNq7yIEO9PL63xyoT2LdWDWQBT06bUGaeIUuE90fSRffYbKILHN/oIObm4DWga0PrV4T Yg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf7793gy2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:04 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHQEjF004541; Fri, 12 May 2023 18:21:02 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7pnt4yw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hE5dtjli1v6coEhxgwgrjn9jDB9HsLl8RIkpza09bZvEUAg63r5FKLiPSrOfutxaaMhxVMNWS0MP22lTphCnNQr+/Fb/d7d2tYVlCZTXHckMBErfpZl4dfSY2wJZSvi6GphlhSWy/em0Z8lBklP/7TkdO0cdTeXBtQ/9Ss6c0JR6E7MD5yUCwR/ShCN+zjGhur40/4UDRqhmB1v2Eqe9zG8CIpPyWGUeVHmeguYR/+bhs+PAz0eUqevyZZT0dXWIooS2jtk2FeZwl5W6RwI93lpJ9KI2/SJuUEsGmf4PBHKIeYfcs85QC4w0vPqnNdjBPz+HKXJvYj8Q73j0EFQ3jQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=C3AbTxtdfyzVTdgMrkt+8cguGreW/PZzveEPUyUGMKU=; b=fsJpk5C1CmRRrpj8hL5+lqCV5GjZ8FAocmzz7iRNyAYFm/Z2taMjKQtkUn3cf6eVo7jl3beSRLL5head7okLS8uH3hUXMigEn2uq7yL+TLh6BFIm/OWNk8y7FgCP0LC8LuwwOchRPnPaN3wx3ws0mRC4cU1MEO3HM1Hg9XXeQTGiRyWHE+g5DTm0O8RdpnT+vCiQ3bmgK77lCHDwOXrMIiqFhDp75djrCGt+kZwXXf6z6X622MOidWjhrWoGuCVtioqPnfxNy5+Kdued2foZcwsDkQ3NjSwhBL398errnklAJy+FtHdlxCMQZbENTompwzq9DE22VZdkq3EBEj3qHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C3AbTxtdfyzVTdgMrkt+8cguGreW/PZzveEPUyUGMKU=; b=Or8gIF6BWJXGllovJFlOXfbGrULvUiXHhAM4J57FeExclBIIgfw7p9BjnMNeR4VHoxt0KqvQYREaqP6fuPuB6ANj36ssTNo0fxO97mBxw0MRdN7ELHVF81dzF9503Zlhpe3WK7IFntHmeFPuPHjqZZv20/EPzENG2OTWrY05MNQ= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:00 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:00 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 04/35] maple_tree: Clean up mas_dfs_postorder() Date: Fri, 12 May 2023 14:20:05 -0400 Message-Id: <20230512182036.359030-5-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0011.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d1::24) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: 53d44c8b-4fc0-468c-1083-08db5315a33c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kLjr/AxamIRgKFL5jHVTmPIJ2X/f6MCN0IPD3WKwGxGPiglsZDvcXHdoj8ehwoJQyn568Npl0XMnfKpukgpmn+OsfRbxT8LMXICkyspFD7bcQ3nwkHazCRsUXdu9aupbfxtHsaumQ2p7JEnyAJLu63CUNX/pVfZubzXgvbVZC3qQdVYRnTO9CTZZimQk8634cFUUGlfm5DeLovCf0hhvjUstHMpRjc5nqZpufYCVJTm+FwosZVz9WxwzWI3Mlnvl8xvEC+QEZuNxOrU+Qp4JUSaVJv3NKg49TGkGiVlCCsa/88l1vc5wxU1ZFBYjd3GSs9+EvLFProa8utQIlUmzJU/dWyo1XuFFBxZQVbP3tDrykxorIM8sl/p+pHSF26Ado8/o3U/Ig/hCczvXWtobDiWgJf7rRWhkblUdO78v4duWUr3P0W0gxNB5Zy6LGFZJJVbSA+/sdPqsxrD7tLR9Go+xHzqS/OFQQfzA+gVnvQSOPeSTjZIw6u/U79I26yBqS0NRypSz6vQuvdXqTGjT35SBB3lf7VOwCaSmuicD3VbfcFqOSoFTDvfBW98t3UZt X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(4744005)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: l8X6QelMcf1LfwQCgb/9v3LnyYhFcf84zP8etX8QK+65evsmcWSi+CRMxqHYpHGsWb+9jKO1OZhDGMNRh8JT1hAzO7r5x3GF3eGltIpNRFUUpFeCL4gO0q2wOZMbp9dLriL+idT7dU83q++r/zpf6VH44AM2cDR3jl9PCeNXiFBO8A6fKhoKE+9Ez7fcW3Zx93iAZrdc2pG/SHtQH4hGMjBYo28Jsm01DFKfsPKNW+rIKlbx/+iqLBYFO3dDJKdaOc4xtYMS8y8gzQnX9A7FGVMFgHhQwhO1NCnme0XUSUbjz6CLpVunOHJD8Xtp64DcMF7lrVnK0qBknc8G1zfxTbxcqrma23yEyknoWPE7pXJX8tdC/CX8jAYgep/+2Ci7IZd7UdzxX3cMWmzddhi5iMuP7R5SiFaTI9ZoTetdh8DxSQ6iK68xSQ+HjITbxnjMn+cCiMMDoIiMOu2zv8G4T4pBlQSmUJEgI4YPKg7BELcSqN9Ar8QRj9ypV5w1Tir6zPwPAItBkwnmCTrRYv+stS67amTMkToVVMWB3T2EPD0sN8vOGM4UbWRlKeqP2gDixorHPqncaQirupMq99gnO7xRgpeot35J6d2Q9dba15iuq+FlLZJ61ZSwgUiLpAwvRsGoZwqnLMsaPlUHhb/WZOlZf0hD/cLgAFhEAePI5NRpvzHApPXA5ruKLfphdAQv7e06hnvkr3RqFTfst9du1m50MHfAwf6UZ0uC3xbVH+nB41sUIPBHRZj/P1FWgw3+8bKzIkXHVdRLX8LfpEtWzKbiE119nKzd7ow4J7Z5JvygtJQoZDos9uUP6/M1ky/fcqM/APPyIwV3GCislf+Yjb6tjy7c06kOtWe5RkMPIUHpQUt77Ibg16OEFfHx+NgBXJeXfa7EboN33uicxZioNBC5ArKrC/3d6DahwQcUmTd6yg9quUihnpBnm1kK3K/J7sTnRBApby1zb/wyLidHKsWMUrfDqTYPwxVah0XSVfyQQwA7Z9mFOtXGqG4SDxeeieWfYb52BGWWGauodps4kVfGm5/mZzPgTKbqRiefaQPwv11djO0A7C7x4Kew1F3dMFV+wGrhcVFE8qDVXZar1l1LUgj36ANyRzJ6+wpjPpQZke2PBEAiELoXI8iAwsfK+F7GaZSJyDo9cBE0rckgJR5CxWjcFMw98yzqExUGYKpQKHYp7UpaNxOWjbeIsfB8J6v570NVnrXTkzWwd7OwDktHkKdvC5gQGgBnRXAqRWLTihDNIjJ9mAJiSiNCM3tRQ81hvIRoVv6kN6ZJTMB2GAPBCe8gFpDZtsP9UUcXlPF9ZVnFZz+o27T5xCoqr4ZgKJm8CWn4gRbvH2q+QPNL54Y1C6HbDMpEOPJEfImGxvWFhClQArCbS6o3SbJnRsko2dARt4HbV2QlJxyOFwnir22ex1EeRwiRMwibguPdDay8+SbUc5fiDH9oU6zqouK8ZG2qrxqpDBM4oN+EajP/XFu/jRqiZN+UJje+ZEl+IT6uSNn/+m/KdYxHJa5LktEIjBTEgX20/8QeGXCHnYowYybDQvxbLxIn7VzeHQQX9KL9u1w+/SQOFxybs+In/geLyqSVtF9SRucwZ2RX4zcTDw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 47zrvRpNWI83SbFrTj8fbJ273AqKwfvmVZkkyJ1d3Qe5a6Ci72gYvlNrN9UH2NeLaUvHXp6RS2/T8kxuFz6u7XTcGqQrUXT4UUBGzI35zPSGBr+pA67s64zMIHBx410Hvvw3av2l8GbmIperS6Y5hRfJEToX/w3tkSduJcV/ymS5WobvS732M3uLICFUoFUeNr7DTzPLrQrYQ61EyLfGw/80P/sznQ3Fxnulqj0Robtcy1hkBrIFSf8f2VU4JVhmuxBtqb5be2W/05zNnwUJd8/eIQgiGY9UlPX572IYodA7JgTM9u7ZBL7uxi351DLOQooX5DM9ZvBW+Co8swf3nqi5UDHx5IljkAqHbSTlcpmxJsTLo55Kf1w8kDRx+okkx7l1KvIP0XDTpiAoty4JmLpiKegPqKMe4SMAG6VPwgOhpZD72Sj6+fAUsB4P641wDt36lszko7DQNl6664uN9Qd9wCtU5oE2gGUY46W5GlS3amxROvs/RMJrqtkOf0TJod5Psqx5k/F3zuEzxsG4A1HbWRIubpnhC1+JVWpptUtOaN3xvF1djJmRCOvAMCn47fpPJB4wPUX+MH9IUvULd1dHeirW4/7FIPKL2yDGRxl5kt0hmesXZ63VDp9BaOLUM7aXtWA7ZcqS5c7DO+jaR21elXW9wP8IQwZbBS6VWl8tfKou3+joV+Tv9VgSVaAmVkE94HyKZLJmXSwoLGEKSR2EGplNEQ4Uc73W5fhb0R8Wz7Elu21sS8mNTgv1CakeKHEB2bck3e5C7OuBUbbWRGxTVpqgzuOc8tdo5scetHliexWf2gJW+nINLMd77VMDdQUzLqUFyJqITYTsZ9YKiIaTecY8zFEoB3fo0h0kP0+y3eedCiVQHkOOO1BgoXzXhwjkHP5o0/pjKuH6SA8HqA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 53d44c8b-4fc0-468c-1083-08db5315a33c X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:00.2232 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BBG8Wqdk+CAC0C5O6w2epvuDhEbQ63esyoeiJptX/1g3uG8mfgZEesohwRdB85/IMuDFa48TBWmJl6/9vi2pYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: pdGR9WO-QTcOnBwEEPmPwXTzEYM6S1jA X-Proofpoint-ORIG-GUID: pdGR9WO-QTcOnBwEEPmPwXTzEYM6S1jA X-Rspamd-Queue-Id: B0EAC40008 X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: sneg1xjdia33d65898t6m8x9piosgq7o X-HE-Tag: 1683915665-203942 X-HE-Meta: U2FsdGVkX18tXJwl1eCFg99p2HbL9ncHwQp9ZqsBktWp2cKqkQ7k3ucEZDZlzNnUKlq5leG3YlM/5lwms7xhStWYeLtg9skhWlJokUIV4qbSARVS9lKa9J5zW8jNm8aZLZuYSjVr6B5FibtU0lycAhYh5w2x7ugO6Ld9IbyT+yIu7PQnYW7Ho5BYzgpHqu1TjWc0hKqFZnQGJCewRhp2DCpF9l8OzX+DPTUoZt95rwDIdaHAmB03EvauKNauvQ+IsedIG3FfUSG7GZNamE1nOvG5D7soKjTMxrivWWc4lt5/4y4xgt+HxW87JHT8hDdzCBW/RK0Me9xM9ITx2p0fsKC4nuqN68DmXaHo5ncwmlHvp4/duw/VF7n1dnLHjyO1SNjkv/xbSKzQgm9C5VilECiiCW6laEfrpkG8HMywcOaHrth8RcT73kFWpHabrsZdsH172FRzVAmuZTVo2XFCIdtOhDdC/rE6P1tR34O0cRTIOofkMBW/OVP8t6UGiLs1RtQUlpXCjSip69Ujc7P7xPyzYApStwWDdzJNEboKIJSwUlp8kupIMfjFfRLgZhtZJDk2ns7P5DyR5Yqnn+FzdQTTAIkq5S6RKq8gx8cBWoZdUXB67yTZDJI/0fm6OAviFj/MENrORnpu7pJ/SwGmOP4cVjfF/uLs6OZaL/l8mu5gQ+J9s6NgGRcU3vJCX65MU+s9txeZHzjSOUYzRljQ5HfXRWRrp1iVgTfYLDr9l0n1JC9v7WPBCty4ommNn7x++sDfM0e5IsU+ZFPlzC40Sm++d9y3Vh7PprLGqO+Us6VCxlWUV7YK8xJh4mR7y693pls8IzkHraaC9Mv1TL18nPwSHA4+vEZMgfp8ZZTASLRPmooQNw9LnouJfG6btBpou96i+0fO9dG6MHml+/1lmbQ06SDFv92YHK1M6EQI3zF5qGDqExltwB7CdO0KpUeylzAVAuOs1SH+TgB05AC BfXWJ0c4 iSjo3+T9Yw0ixIKOosAX6ZXTevJl87+vtefNYTvluKS8XppK4rwze0zhYF6tx+MqgqumBWRfQaPJVxqhCLxgHLGULcfXzgI40ihinpuHftgx9IZSlmqi+bNzCgebWMWNgNb50/yjlzIBihuhE4EKp5WaHTo5mX8iU6TX12x58AOCPseeFTCFfEQDDfpEXuO12rUpmYy3iW1OTAOV05tmLnba+Bo5msnq7PzkfPHLUfQ0s03Ah7CQJZGtEOjwM54Azy2w3rZ7cBKCfrH/9VPiYIZYVVumJgVPcWQcymyI9DSvl4hGT39wNXCdEz97E03D12T5UFTExnS2+ITa/ttTXnaLwaaO062slu1s8WqyXgwUFbXor7aRgYJs1DtUUlm6AnqxDTrmKacRcKB7ikmMd7ACMya/EECMcYPrObmjwiLDlaQYUg/WtR46WpiuwFxJBPfKu 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: Convert loop type to ensure all variables are set to make the compiler happy, and use the mas_is_none() function instead of explicitly checking the node in the maple state. Signed-off-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 5b29d5a916f2c..1e7e7249a0cf2 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -6739,15 +6739,12 @@ static void mas_dfs_postorder(struct ma_state *mas, unsigned long max) mas->node = mn; mas_ascend(mas); - while (mas->node != MAS_NONE) { + do { p = mas->node; p_min = mas->min; p_max = mas->max; mas_prev_node(mas, 0); - } - - if (p == MAS_NONE) - return; + } while (!mas_is_none(mas)); mas->node = p; mas->max = p_max; From patchwork Fri May 12 18:20:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239610 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 279B5C7EE23 for ; Fri, 12 May 2023 18:21:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C10A96B0092; Fri, 12 May 2023 14:21:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BC0F66B0093; Fri, 12 May 2023 14:21:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A142D900002; Fri, 12 May 2023 14:21:11 -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 909D76B0092 for ; Fri, 12 May 2023 14:21:11 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 44A8040FEB for ; Fri, 12 May 2023 18:21:11 +0000 (UTC) X-FDA: 80782419942.16.5E7141A Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id B1A84120016 for ; Fri, 12 May 2023 18:21:07 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=yXv7CESS; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=nqQVVZEx; spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915667; 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:dkim-signature; bh=x1F35Nl/y1jdMAp6sXSkI9LKCTzgTwzSHQmh+g/8a1k=; b=6pnn8VOKiWbY+TSFGjyC4/fL4E5hw3klV1TjDshx9PirqpHTDnAbDOvMX3Y4SALkJglbNa 4YBL4rQ4jUbxpR8MtRF8GJ5XTqjelX2QBrChJZ7TTOpjpRz/s7sJ0+ACGVAagl1I8luvtC CE4/+xKZ4yq2HCxRTfiFfi+IJPJt4D4= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915667; a=rsa-sha256; cv=pass; b=GlyP0Avg9yzOIEPzX60uyFbofX4+EqtSKjbId10x6mFQPtHkQQuuFz9S0NbKQ+fHpNOE4d FNzpo7Q/NBEDEaKsOjM3Maf5U+mDX1n0Fa0EGR0jAOIYyQCb8Ih86jhnpJPeJkH8U+IoST MTbdpDNbtSiADnqlB5D34ZfouRC76ZY= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=yXv7CESS; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=nqQVVZEx; spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF48VQ032462; Fri, 12 May 2023 18:21:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=x1F35Nl/y1jdMAp6sXSkI9LKCTzgTwzSHQmh+g/8a1k=; b=yXv7CESSqG+HbWaN2UZ3gYc/BU9LDulA3lYj60uyb5i3SSdLgTDBhaUwGYZyCmvtPMoH GeVrewYRuB/jTTivh2DkszWL4iO9kXHG5OaYM2m2wY8rWiyRaVzNO5r9ia8sVN3oCItG nr4NA/T1DqxjkTaVPKskFBbwO1cwcf1Y+buKAOn3EX0qA5IZ2IsLMFVhHQcTIflKgR7K 5kRnbjg1mQnK4g6c8vCPP6M/p/7eW3yGvFqdDcQXRBKLfi/5yBY3/BJw4un0KGxhO/o4 NVM9QFMmYe5XVyCulzwLBLXwDFsvCuQKUVlOrfHNvRcW2vrK4qSDUyZXQJzmhY72+Pbf Ew== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bm0r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:06 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CGe6ve014359; Fri, 12 May 2023 18:21:05 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2041.outbound.protection.outlook.com [104.47.74.41]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8316bpj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H8jEIcZuY8L/9NL8EO3it3O2WMnhIAN3zd8UCp227JZEFPAchmuUfbNI0Vd4KPreKX5A+g9KzgJO2DBWlKhDmobXnK/ZAq72Pp5p9Gvy3XLSaJbgmMcz14iodLU+dOyuqoAnzgtn0YziSXB/23LVj/B9Id5ljj8Vesv0oqj2Gx2kNr4yN44r3gzRQnoUklO51bLZYQyDN4dyffB6UsFx/bURYwK0ZwB1D89bFKv5BM5kIx/+IGuc/cSS5m+Pddi5cwSJ4iMUk1Xyq4cCciQRkvMCW5mQBckghxwy6simrbIYMYzdaZbY4Uft3flAxQOTg4imcJ7g45o6ksjMWoCTvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=x1F35Nl/y1jdMAp6sXSkI9LKCTzgTwzSHQmh+g/8a1k=; b=aJ0ItBud4md//RrHuJs/dQr/nmoGZmLE6DdCzE+Jy3IlzUpV0N2GJofnkJZG4fG0mZrsCWEOKBOzpK+9qhVOFtHfdFenJ2zqNfTMH4OhpudvxTrIcYLjkYqIbDWtUZ8d+a9g1t/hwiqnaz+OVQ7gQQMFrtJ64qRs7MZClGgtHvqyrcAu345bGrT+uszJgtn8eS1ZoYlc/uAyhB6CRM8QBcoCnVCUqMwG0/B0pFHGAh4O7QBAKHQi0X6SC0z8Oo1XgjdwjmEfj+Mxh5lM5xTcT7EtGTUaLAw3XF2vgjRFtmSo6PvgN9F1VxdZtjMopB5jqmlHGjszeZ35GXdb7wauwg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=x1F35Nl/y1jdMAp6sXSkI9LKCTzgTwzSHQmh+g/8a1k=; b=nqQVVZExhVaS0UAORt7fRccmO1J+CIhUWDTB90HU1afoG+yBbNYIw/ojsrRB8cBhyP8TkfOrvqVY+nrCVjSuDu9+Y/Lrro/r63hqOgGWc8Qk2JFyTKWJqTcxBiAtSNvtHgkQErYyapu38S1vO7T2U9ytTuRLoddlItB20E4wBEY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:02 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:02 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , "Liam R . Howlett" Subject: [PATCH v3 05/35] maple_tree: Add format option to mt_dump() Date: Fri, 12 May 2023 14:20:06 -0400 Message-Id: <20230512182036.359030-6-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0352.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fc::6) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cd099b0-3abc-40b3-98a5-08db5315a48e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C2fsuM9Vq7KUkIj8bTJ+yhN41HcFwQ+IuKfU5DpZ6fDkt1wTt4UpkvjXTUY5pnJQv/eL/mGj47qQuX7aurO9pzqxWMV6eJDKDF8es1Xa9n70FGhu8J0/SbS9N3IzjjLgibYyAXteYagUmqHMzU4DeDk3M/3MwlVjW9udn5Ubp/Bitf97NdeAxNo9U4RBflHt40zJAi3QHywK3Bq0sg+wKb4TuI5jzzzNDTIUxvL/Cz/twzsGsYQ5JcH8t/eC112GRyJnXDaHDr4c5dzG6Q8SAyDrBbG4r3Y4vQxISS0i2Q8IPPN1vDwVauhDTl7jhvSYlAqQTfwEQDP5WJV021Ol+4hPnBy4tSUmIj+obcWLEOXwcH0UUfWY6d5KYOJNkjEB/cN06gY5tchAYGeMmiAerIs7iKSL45dkFem+jHqiE71OgDSlG6GjkHTnwRxBaubhBoreHV88zrAedQz8HrIrKH8JpxyLNTvFDQerXMq/8F2FA0JW+GBRTVhS/BFHmzu6D1fuE6S6AqT+B/VK7J2BvYxDBvq1l6sffKt9pm2vis8fQyF9p08z95rdeorVrSWn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(30864003)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(54906003)(1076003)(86362001)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BNKGp6GXWxRE37cLphqBE8/+vyTSET9JmYUqZTI1Imp0aPSYO93nEKyMyXxadXL7YN3i0DalCCWyOy3v6Z55M3D1DWMCiwnsnAv9p8S4/lMYik2WbN3AM19sf7ZFqnFpL7y7OwpmjQtZnS8ZF+i5wd4wSoEU9oGyfuvmXsH8SkEOQytxflSIAClIFljOJQ0K/ijKa2GVX8LnkT/tKp49TMtj2OqR/K9SCGA0M1FOp4GdBELWhV5e9SDwEjxSkM+yjm9gz5RPzsYtnEFyf3mOPLJC1aY9BohS+nNXcQI/wRUkNalvQgyI7YD/PVWc2skCn9VPwFAINwFSqSILNWg+cKgw8uIl+SVWRbfQjVRchs4yokNMCJO5DHsBpkQ28ACpG1x/ux8mB4ODTk+JOjbhjFufA41D1kUbBxbUbzyWkOlnzIhImG+8mKufYF0V1ZgzZXiGDppo3bpzpGv4QRY9vo7bOuGQ7q3QV8aytdL/uT17Vmh6dbgSbWI49hHm/f2iiFuaDzyz+r0+SAGtIT6w2jsJwjGJxQLeTcWvMKD8cIvNVpHU0mh9irTB4vWYDkUwhGSasDGa0T0ukXPuVL9rVtf7TtfBjo9l+INMqijY6wo2IoH8ugEnixkSjNLf906Pr3qmjVmqg739YxWKWQ7hRXyytt9bca6O2Cxpxd1JgucI2e6iZbDxZfY9RqAefKDFRpfILZwPhXPq4tX9gPBcE5D/mTJ9GjPf+HCAmRMU++NK3/BrXzsR0qBs9EtytxuKPp7gWMgctfKenDUSxeBHQwIBH8ZmQET0V2GaH1akMySmQZWdxbGzYD79oUoadSd1vmzRrWeQwIRUtFpTLn5iFxO9WshZ6+N/KFuhWl8z8sW6mI4hHmz2qYnx3dmWwyBNxQWzSR/0Bv3xqVGj2fNXD6dcwDaM+HY0ZukKo2CSa3MW5HPvCak5/8JgdbcRVxLj9v3Bqtze1Gi9kmZ86ffWeGrF2sBQYIz6wRJ4JUU36qvRHXFUPUVR7xQTXZ3by6KP6PZAL3SbSsz/YyjZ5UeycZXnlJru6gSAMN3FZkzRYb79LOTTd8ggkJzlEDbsViuEXdDF0QrfSLXKSZPv6FQVSAY8Qll3zv2YeeqMsHbtKh4InrZdhqmfn/iKXxnSHs5hePFN1EOkt/qhXGza3J8+u5T9d/9Gwu7ORhkBCAG6ZKh6cXzIwTYRMf0qNWd8FcAmSeVRfTvbqgbBG4PbziQe0pZKVJfMRvUa6taRVHeEaKwBFpvx/kh8AUiuCnY2Iqqp9Az9TqtqORnbiLgttAehdeQGUg9BFu3C+CNNDStSKVIpDL+lGKal4BJ7rVivhVSMZ8oHoT0MKZyK35Mr6lZE49Tce1wGv0rBI04l0w++hGBs40TwtQYoL/lmEx0sWYhS4Sad2JN6XoeMr+3an13NstWVP141Gfk3ZJq5UMu3TdktWTigyk/0rRdOzcFWwmPBxIHSUGLgHigib5a6Vsf8q4xu9NoRC4Urr/iklW+kmq8mrNtEBEPA/tDlZcVWu7v02G7P95iQ2o7NRbaHke59LGhoH+Zz6l2nAw++a0k+F90wM/MOFIexo2gtRjsFMLvcCZbkdvYuG4Zj2+PXf+1GoA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: gbwbE5k4TlWYS7jI9V3JQXeee27Wi+LKQnwFwpycAkEAUsLPinCjYyApYUJLOLpNjRBTLU29COkF4UdotaMv/i7pnc1WV3ldWC4PLxxhZpBVPx7AYeCDr6RMoAKy3aXCoWelVv6dEqhfsrCXxeBTZ/Acc5dbajgC1/1Bn3B+luqzF1uyW53lW5MuExBlNYklKXvy8cbpU12RvlXKNB0z5f/tXaD0LQiyrnmngF1OvDA8gODNvpLLq2NR2MmCglfXZBDWb+rTq9u+KMEzPN/N1mmVz37fr7ymlWipXJ4iN49YN44LIIb6VE5dQEJKNRftr8iDlyX8rwLGe4HUZvpq3NfOfSv4pVDTEqn8PogfWmyzHiS8AFnCfAfsoqn1qkbE/o63Tsl30xX7VwejgnPD+81FJOlmhbZX+hosY8KL7Z437d++dgmL6yZRXvBlRfqxx30FfSOYmukJRN4tISS0MeuRjpyd79Lz38mjIj8aqSFs6GVjMLyMdkAc7QcYuEELefw0ROAPnBBh988PFfNdjDP+URJj75AiMuYC3r1gLwswKRTbCHAO8eH18oG0OIEu/9Ma9W4aPVy5Iq1GLSTZycrAI/V56cmhdwmUixMU/lEgLSxm4KWrF4xLiHVJcH2ixnuk1zGCrmpiafuzBb1sPTI3RsR52xpUzz0wh5OCuo4dA9Sbm2asQMVL5FbF6UEQ/CPZuOgqfqA64CJwMKLZP0a/I3+Gl9MMMFsBFGW1ZtBcZpUpdOp9yzKsL+Ibuw4M3vcph2WhQcSdWmnuYf8IPe6FHzECrnI8Vb8RLgtZv1c+5YcnWMoPImCjMp4D5ZnvHcs92NGlikzhb7Yvfbd+GYOkp0pWl4+BAcCa0FCp3oG1KTAd8zvVszrYQkgXxRDIyb/Cpzfeof/i8Co2bKHs7w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cd099b0-3abc-40b3-98a5-08db5315a48e X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:02.5009 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oDkzi7VIDc+YKgatrnhyPjwVYzaC+/bi1H1HhQxUt/jdbIgMquYkue5DHY1Lg04OhHgOeWYoyOdBD5mDICA7rw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: K9_qDA6xQcd5R6eHVB0zpua70-04jXCW X-Proofpoint-ORIG-GUID: K9_qDA6xQcd5R6eHVB0zpua70-04jXCW X-Rspamd-Queue-Id: B1A84120016 X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: jwxrmwsfqbbdk1cw17d8ff8cojncpkwn X-HE-Tag: 1683915667-639238 X-HE-Meta: U2FsdGVkX18HphQVjF6WOTTpIEUj8l4Vb7AhUq7c+Bmbg6EGHmGj0T/vlZJ//3qYR1MTDI0MagNlgNENVE1Tl0eZmL72tA8gUpVPMYCNGe3u2PK4a1jxxGAsMSVcTbxYViGvrldYHdbb2GXNpqatnBPtC/6yzOHBTPqMZ1rWv1pQAkabvg+DgZEzYJgQkpZ7uoGH6AAPIRw30/Jbyobps4hlx6jdict76kp+rMjMpHxaBnbOm+Rny2MLtb53m2g3MklN0S7xsVBiUv6UZoswxwvf4OYQGnr7juDxRB8m4U8f/VhUNgWKjS5djoK7bR2pJ0mbbxwfYu8li4aQTj32+ijz9f6VGcOuNbwUBxvh38f8uFfbdZv3G6rROfF+EvwJOBKEeFJiORbj8aFGJriUuzrH3jxdl5NBiOG/riI0O2JPRvvlzXNksBBYgxFbeS6+clW7hdIMTTLd7FOHp5Ba5/wDpjpb/7UJK7Pe6CO3uOZHO5qdilROaZ+qygvthen/SY3YklnFtiTyohOqFqX2jsZgvCUo+U4td8MOWBoQkuYrlp25HRmqJKtURrAFsQHXVAWAy9VVUYNF55SJduo8b4uOHSzaB77HeE1n8U4dtqXdlfEigSK2DsqXMcVKHzIzitIvY7SdkNUkC/8uM2epDXwDBm111ep6yIgtKNOWyqGST8lNLNQ/10dFsFA/HOqHhZNV7aRRWghp+B4+7zRX9VX3orhNrOD5Ya4iaXyE6mwNC14dbLY9vHpRyW7aauJbptUyOToLk3mi58SZpaJD2UbmrzMRGM2M0g/h8Djc5i1KSPBPlECGq6fgwCY9qB3AFAMVsY698OhqsuW5vFJuPZUape2MOsTvgGwBmFJvjInKwcoF4u/HUhCDRIkgNncCx+Ry5/dDOZepoxop1oBrPCTI2ny8anJF71UEEWd4junnVBhgoucMoVSJKquQXA+/wgK4by1nWpJjHCUarGa KWm8g0Ag KAEOtyJoq03IP1Oj8E77yu0SYOrGYiMXQc4YDCLFbyl4MOhBbj8GY+Qei8Oyl84qceCNFHCPrITF25774LTuP8HXZTSLfPRilNm17z3qkS2QWGttV4aTN05cNOPLZajk3lOP1FDeb+21mjNRxAGxMk9eBkUkgzSRb6VMxgRwHpMCycoyNt3qI704CDddR6zm3/HZHsC8IF7h4uh+Z4KoIsTqV1uKrPFxQZzXpA8SjfmsU2h2wsxIm8h/ZlKyciGWJkbOulfvH+Ijwblm4iRotq9VXSl/22dbRtMRR67HhECurueI1zY27F/Y8GYxWLZTRH2GPmr1VcEfJeCfqJPi3m+/qIdbNJFwZuUXaqTyXjqvx3rORqyygbhlebzjyxbf9yEqP43xKn/FeAuX+qCK/y5lCKCgOzrYGSoNHyvXUsNuGRgY= 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: From: "Liam R. Howlett" Allow different formatting strings to be used when dumping the tree. Currently supports hex and decimal. Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 9 +++- lib/maple_tree.c | 87 +++++++++++++++++++++----------- lib/test_maple_tree.c | 10 ++-- mm/internal.h | 4 +- mm/mmap.c | 8 +-- tools/testing/radix-tree/maple.c | 12 ++--- 6 files changed, 82 insertions(+), 48 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index 1fadb5f5978b6..140fb271be4a4 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -670,10 +670,15 @@ void *mt_next(struct maple_tree *mt, unsigned long index, unsigned long max); #ifdef CONFIG_DEBUG_MAPLE_TREE +enum mt_dump_format { + mt_dump_dec, + mt_dump_hex, +}; + extern atomic_t maple_tree_tests_run; extern atomic_t maple_tree_tests_passed; -void mt_dump(const struct maple_tree *mt); +void mt_dump(const struct maple_tree *mt, enum mt_dump_format format); void mt_validate(struct maple_tree *mt); void mt_cache_shrink(void); #define MT_BUG_ON(__tree, __x) do { \ @@ -681,7 +686,7 @@ void mt_cache_shrink(void); if (__x) { \ pr_info("BUG at %s:%d (%u)\n", \ __func__, __LINE__, __x); \ - mt_dump(__tree); \ + mt_dump(__tree, mt_dump_hex); \ pr_info("Pass: %u Run:%u\n", \ atomic_read(&maple_tree_tests_passed), \ atomic_read(&maple_tree_tests_run)); \ diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 1e7e7249a0cf2..084868865849c 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5699,7 +5699,7 @@ void *mas_store(struct ma_state *mas, void *entry) trace_ma_write(__func__, mas, 0, entry); #ifdef CONFIG_DEBUG_MAPLE_TREE if (mas->index > mas->last) - pr_err("Error %lu > %lu %p\n", mas->index, mas->last, entry); + pr_err("Error %lX > %lX %p\n", mas->index, mas->last, entry); MT_BUG_ON(mas->tree, mas->index > mas->last); if (mas->index > mas->last) { mas_set_err(mas, -EINVAL); @@ -6753,22 +6753,33 @@ static void mas_dfs_postorder(struct ma_state *mas, unsigned long max) /* Tree validations */ static void mt_dump_node(const struct maple_tree *mt, void *entry, - unsigned long min, unsigned long max, unsigned int depth); + unsigned long min, unsigned long max, unsigned int depth, + enum mt_dump_format format); static void mt_dump_range(unsigned long min, unsigned long max, - unsigned int depth) + unsigned int depth, enum mt_dump_format format) { static const char spaces[] = " "; - if (min == max) - pr_info("%.*s%lu: ", depth * 2, spaces, min); - else - pr_info("%.*s%lu-%lu: ", depth * 2, spaces, min, max); + switch(format) { + case mt_dump_hex: + if (min == max) + pr_info("%.*s%lx: ", depth * 2, spaces, min); + else + pr_info("%.*s%lx-%lx: ", depth * 2, spaces, min, max); + break; + default: + case mt_dump_dec: + if (min == max) + pr_info("%.*s%lu: ", depth * 2, spaces, min); + else + pr_info("%.*s%lu-%lu: ", depth * 2, spaces, min, max); + } } static void mt_dump_entry(void *entry, unsigned long min, unsigned long max, - unsigned int depth) + unsigned int depth, enum mt_dump_format format) { - mt_dump_range(min, max, depth); + mt_dump_range(min, max, depth, format); if (xa_is_value(entry)) pr_cont("value %ld (0x%lx) [%p]\n", xa_to_value(entry), @@ -6782,7 +6793,8 @@ static void mt_dump_entry(void *entry, unsigned long min, unsigned long max, } static void mt_dump_range64(const struct maple_tree *mt, void *entry, - unsigned long min, unsigned long max, unsigned int depth) + unsigned long min, unsigned long max, unsigned int depth, + enum mt_dump_format format) { struct maple_range_64 *node = &mte_to_node(entry)->mr64; bool leaf = mte_is_leaf(entry); @@ -6790,8 +6802,16 @@ static void mt_dump_range64(const struct maple_tree *mt, void *entry, int i; pr_cont(" contents: "); - for (i = 0; i < MAPLE_RANGE64_SLOTS - 1; i++) - pr_cont("%p %lu ", node->slot[i], node->pivot[i]); + for (i = 0; i < MAPLE_RANGE64_SLOTS - 1; i++) { + switch(format) { + case mt_dump_hex: + pr_cont("%p %lX ", node->slot[i], node->pivot[i]); + break; + default: + case mt_dump_dec: + pr_cont("%p %lu ", node->slot[i], node->pivot[i]); + } + } pr_cont("%p\n", node->slot[i]); for (i = 0; i < MAPLE_RANGE64_SLOTS; i++) { unsigned long last = max; @@ -6804,24 +6824,32 @@ static void mt_dump_range64(const struct maple_tree *mt, void *entry, break; if (leaf) mt_dump_entry(mt_slot(mt, node->slot, i), - first, last, depth + 1); + first, last, depth + 1, format); else if (node->slot[i]) mt_dump_node(mt, mt_slot(mt, node->slot, i), - first, last, depth + 1); + first, last, depth + 1, format); if (last == max) break; if (last > max) { - pr_err("node %p last (%lu) > max (%lu) at pivot %d!\n", + switch(format) { + case mt_dump_hex: + pr_err("node %p last (%lx) > max (%lx) at pivot %d!\n", node, last, max, i); - break; + break; + default: + case mt_dump_dec: + pr_err("node %p last (%lu) > max (%lu) at pivot %d!\n", + node, last, max, i); + } } first = last + 1; } } static void mt_dump_arange64(const struct maple_tree *mt, void *entry, - unsigned long min, unsigned long max, unsigned int depth) + unsigned long min, unsigned long max, unsigned int depth, + enum mt_dump_format format) { struct maple_arange_64 *node = &mte_to_node(entry)->ma64; bool leaf = mte_is_leaf(entry); @@ -6846,10 +6874,10 @@ static void mt_dump_arange64(const struct maple_tree *mt, void *entry, break; if (leaf) mt_dump_entry(mt_slot(mt, node->slot, i), - first, last, depth + 1); + first, last, depth + 1, format); else if (node->slot[i]) mt_dump_node(mt, mt_slot(mt, node->slot, i), - first, last, depth + 1); + first, last, depth + 1, format); if (last == max) break; @@ -6863,13 +6891,14 @@ static void mt_dump_arange64(const struct maple_tree *mt, void *entry, } static void mt_dump_node(const struct maple_tree *mt, void *entry, - unsigned long min, unsigned long max, unsigned int depth) + unsigned long min, unsigned long max, unsigned int depth, + enum mt_dump_format format) { struct maple_node *node = mte_to_node(entry); unsigned int type = mte_node_type(entry); unsigned int i; - mt_dump_range(min, max, depth); + mt_dump_range(min, max, depth, format); pr_cont("node %p depth %d type %d parent %p", node, depth, type, node ? node->parent : NULL); @@ -6880,15 +6909,15 @@ static void mt_dump_node(const struct maple_tree *mt, void *entry, if (min + i > max) pr_cont("OUT OF RANGE: "); mt_dump_entry(mt_slot(mt, node->slot, i), - min + i, min + i, depth); + min + i, min + i, depth, format); } break; case maple_leaf_64: case maple_range_64: - mt_dump_range64(mt, entry, min, max, depth); + mt_dump_range64(mt, entry, min, max, depth, format); break; case maple_arange_64: - mt_dump_arange64(mt, entry, min, max, depth); + mt_dump_arange64(mt, entry, min, max, depth, format); break; default: @@ -6896,16 +6925,16 @@ static void mt_dump_node(const struct maple_tree *mt, void *entry, } } -void mt_dump(const struct maple_tree *mt) +void mt_dump(const struct maple_tree *mt, enum mt_dump_format format) { void *entry = rcu_dereference_check(mt->ma_root, mt_locked(mt)); pr_info("maple_tree(%p) flags %X, height %u root %p\n", mt, mt->ma_flags, mt_height(mt), entry); if (!xa_is_node(entry)) - mt_dump_entry(entry, 0, 0, 0); + mt_dump_entry(entry, 0, 0, 0, format); else if (entry) - mt_dump_node(mt, entry, 0, mt_node_max(entry), 0); + mt_dump_node(mt, entry, 0, mt_node_max(entry), 0, format); } EXPORT_SYMBOL_GPL(mt_dump); @@ -6958,7 +6987,7 @@ static void mas_validate_gaps(struct ma_state *mas) mas_mn(mas), i, mas_get_slot(mas, i), gap, p_end, p_start); - mt_dump(mas->tree); + mt_dump(mas->tree, mt_dump_hex); MT_BUG_ON(mas->tree, gap != p_end - p_start + 1); @@ -6991,7 +7020,7 @@ static void mas_validate_gaps(struct ma_state *mas) MT_BUG_ON(mas->tree, max_gap > mas->max); if (ma_gaps(p_mn, mas_parent_type(mas, mte))[p_slot] != max_gap) { pr_err("gap %p[%u] != %lu\n", p_mn, p_slot, max_gap); - mt_dump(mas->tree); + mt_dump(mas->tree, mt_dump_hex); } MT_BUG_ON(mas->tree, diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index f1db333270e9f..d6929270dd36a 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -219,7 +219,7 @@ static noinline void check_rev_seq(struct maple_tree *mt, unsigned long max, #ifndef __KERNEL__ if (verbose) { rcu_barrier(); - mt_dump(mt); + mt_dump(mt, mt_dump_dec); pr_info(" %s test of 0-%lu %luK in %d active (%d total)\n", __func__, max, mt_get_alloc_size()/1024, mt_nr_allocated(), mt_nr_tallocated()); @@ -248,7 +248,7 @@ static noinline void check_seq(struct maple_tree *mt, unsigned long max, #ifndef __KERNEL__ if (verbose) { rcu_barrier(); - mt_dump(mt); + mt_dump(mt, mt_dump_dec); pr_info(" seq test of 0-%lu %luK in %d active (%d total)\n", max, mt_get_alloc_size()/1024, mt_nr_allocated(), mt_nr_tallocated()); @@ -893,7 +893,7 @@ static noinline void check_alloc_range(struct maple_tree *mt) #if DEBUG_ALLOC_RANGE pr_debug("\tInsert %lu-%lu\n", range[i] >> 12, (range[i + 1] >> 12) - 1); - mt_dump(mt); + mt_dump(mt, mt_dump_hex); #endif check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1, xa_mk_value(range[i] >> 12), 0); @@ -934,7 +934,7 @@ static noinline void check_alloc_range(struct maple_tree *mt) xa_mk_value(req_range[i] >> 12)); /* pointer */ mt_validate(mt); #if DEBUG_ALLOC_RANGE - mt_dump(mt); + mt_dump(mt, mt_dump_hex); #endif } @@ -1572,7 +1572,7 @@ static noinline void check_node_overwrite(struct maple_tree *mt) mtree_test_store_range(mt, i*100, i*100 + 50, xa_mk_value(i*100)); mtree_test_store_range(mt, 319951, 367950, NULL); - /*mt_dump(mt); */ + /*mt_dump(mt, mt_dump_dec); */ mt_validate(mt); } diff --git a/mm/internal.h b/mm/internal.h index 68410c6d97aca..4c195920f5656 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1051,13 +1051,13 @@ static inline void vma_iter_store(struct vma_iterator *vmi, printk("%lu > %lu\n", vmi->mas.index, vma->vm_start); printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); - mt_dump(vmi->mas.tree); + mt_dump(vmi->mas.tree, mt_dump_hex); } if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.last < vma->vm_start)) { printk("%lu < %lu\n", vmi->mas.last, vma->vm_start); printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); - mt_dump(vmi->mas.tree); + mt_dump(vmi->mas.tree, mt_dump_hex); } #endif diff --git a/mm/mmap.c b/mm/mmap.c index e96f96c69c342..76eaf12f13903 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -301,7 +301,7 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) extern void mt_validate(struct maple_tree *mt); -extern void mt_dump(const struct maple_tree *mt); +extern void mt_dump(const struct maple_tree *mt, enum mt_dump_format fmt); /* Validate the maple tree */ static void validate_mm_mt(struct mm_struct *mm) @@ -323,18 +323,18 @@ static void validate_mm_mt(struct mm_struct *mm) pr_emerg("mt vma: %p %lu - %lu\n", vma_mt, vma_mt->vm_start, vma_mt->vm_end); - mt_dump(mas.tree); + mt_dump(mas.tree, mt_dump_hex); if (vma_mt->vm_end != mas.last + 1) { pr_err("vma: %p vma_mt %lu-%lu\tmt %lu-%lu\n", mm, vma_mt->vm_start, vma_mt->vm_end, mas.index, mas.last); - mt_dump(mas.tree); + mt_dump(mas.tree, mt_dump_hex); } VM_BUG_ON_MM(vma_mt->vm_end != mas.last + 1, mm); if (vma_mt->vm_start != mas.index) { pr_err("vma: %p vma_mt %p %lu - %lu doesn't match\n", mm, vma_mt, vma_mt->vm_start, vma_mt->vm_end); - mt_dump(mas.tree); + mt_dump(mas.tree, mt_dump_hex); } VM_BUG_ON_MM(vma_mt->vm_start != mas.index, mm); } diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index 75df543e019c9..ebcb3faf85ea9 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -1054,7 +1054,7 @@ static noinline void check_erase2_testset(struct maple_tree *mt, if (entry_count) MT_BUG_ON(mt, !mt_height(mt)); #if check_erase2_debug > 1 - mt_dump(mt); + mt_dump(mt, mt_dump_hex); #endif #if check_erase2_debug pr_err("Done\n"); @@ -1085,7 +1085,7 @@ static noinline void check_erase2_testset(struct maple_tree *mt, mas_for_each(&mas, foo, ULONG_MAX) { if (xa_is_zero(foo)) { if (addr == mas.index) { - mt_dump(mas.tree); + mt_dump(mas.tree, mt_dump_hex); pr_err("retry failed %lu - %lu\n", mas.index, mas.last); MT_BUG_ON(mt, 1); @@ -34513,7 +34513,7 @@ static void *rcu_reader_rev(void *ptr) if (mas.index != r_start) { alt = xa_mk_value(index + i * 2 + 1 + RCU_RANGE_COUNT); - mt_dump(test->mt); + mt_dump(test->mt, mt_dump_dec); printk("Error: %lu-%lu %p != %lu-%lu %p %p line %d i %d\n", mas.index, mas.last, entry, r_start, r_end, expected, alt, @@ -35784,10 +35784,10 @@ void farmer_tests(void) struct maple_node *node; DEFINE_MTREE(tree); - mt_dump(&tree); + mt_dump(&tree, mt_dump_dec); tree.ma_root = xa_mk_value(0); - mt_dump(&tree); + mt_dump(&tree, mt_dump_dec); node = mt_alloc_one(GFP_KERNEL); node->parent = (void *)((unsigned long)(&tree) | 1); @@ -35797,7 +35797,7 @@ void farmer_tests(void) node->mr64.pivot[1] = 1; node->mr64.pivot[2] = 0; tree.ma_root = mt_mk_node(node, maple_leaf_64); - mt_dump(&tree); + mt_dump(&tree, mt_dump_dec); node->parent = ma_parent_ptr(node); ma_free_rcu(node); From patchwork Fri May 12 18:20:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239611 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 1C681C7EE26 for ; Fri, 12 May 2023 18:21:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AB39E6B0096; Fri, 12 May 2023 14:21:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A61406B0095; Fri, 12 May 2023 14:21:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B3B26B0096; Fri, 12 May 2023 14:21:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 7B8856B0093 for ; Fri, 12 May 2023 14:21:14 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 44BFA80F88 for ; Fri, 12 May 2023 18:21:14 +0000 (UTC) X-FDA: 80782420068.10.7F79111 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf03.hostedemail.com (Postfix) with ESMTP id DEB7C2001C for ; Fri, 12 May 2023 18:21:10 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=llkbrIyR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qb9IXBhp; spf=pass (imf03.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915671; 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:dkim-signature; bh=Bn7CJVTTzCGJHfmLE/+2NIyJatFk0uV6AOMMUMy4o98=; b=mIsG3nCoQGPplzmjBtFI5EwDBMhX4u6PTMoxcECIaPKBER8G7vJJp+v3JaLH6Ttg8jY0G9 IwDAYoPkQVJyIyHIS4j3eBXFPhu6ahmc/+pCS5r1xa/kYeuXMJWom97PFJr3OFpDb0LaFa VKYS5uY5aGy6Qqi0+JbIVL0bnY+UgGk= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915671; a=rsa-sha256; cv=pass; b=PoQP0dkmoWfhuRBUQu8T6UozCaAYcftpdVysPQ+lreZc8ECPIZE1h7VxV7V/Bsgaauf787 HTnHuxwDxkWF0SPc/UMqmSCkwBZU23YPaLGGXL1264Kk1yW4UJRCYmTyg4y66eG9HHf9cC Mq0Ns8GoziJAZW0PSWDtbbjUHBxgrPM= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=llkbrIyR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qb9IXBhp; spf=pass (imf03.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4iCj027798; Fri, 12 May 2023 18:21:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=Bn7CJVTTzCGJHfmLE/+2NIyJatFk0uV6AOMMUMy4o98=; b=llkbrIyRCXH+BdPaINNFtWicEcSAqi0ff8ClKl6nzcpymEBvSVDSy3sZrClvEdEHUOr+ 1plgqAbHkT0UzIhc33F/2XV4ZxG9tqPB7iN7JlMg7GZ0M/pXjTOumWQee9EEMr/PcdtO QEtDmpAKx9NYCqTRzTRtRIOJ+fNSZszzOs1rWBQjEPIZx9/Hfv5cYlkY+XwWon7MOHC9 DZdcSA4HjO29RhvcYjxL4EpkvgnARI6z6CMeck+AFJvoquDwsb27UnU3PuEQ8n75g7x3 Bb/ZxEnij5L+Lo3+65JA4IFlF9X45+jjkreuxL42BwmcQXLa6XkI3C7H1bq8HjjDJzyx iw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77cbpt1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:09 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHGYhf004650; Fri, 12 May 2023 18:21:08 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2104.outbound.protection.outlook.com [104.47.55.104]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7pnt53f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NLMwixrSzq0m21NMABgo2mapxIiBI7kOEYEqHHFAXDfBzc4mJLe4NRm1oUch2UoWtTA7BMhNYkH23rxmkfbWOjGM40TZqfDC85dPOLxRkODwErWYbPS0dcWAGHA397NcmnXZmNMprneAvWDUpzrrJFY093KCDV+NLUkRXsAUMnNSPA6w2L96TFRX2edxfYZc7tNKeHqvZtC42Xacn8QXgxEMQ1P6oBMdxr3RhLDq2A5m1xGdylzzk81IEC+BDjMjvnUxMUUW5KWwbrdPpoItqDM5oMnBtjcwzINWIsJiu7Br2BvlBpXojlrPfdYcAD8qVMj2RbF6F1UfaVTLoZW33A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Bn7CJVTTzCGJHfmLE/+2NIyJatFk0uV6AOMMUMy4o98=; b=nB8WAhxxSO9gAaSv4EZdy/sgJegnEdneUsg3LA0AtcZcUlswVvfHfsdK8qah2oOeeKK01fNz5KvjhUAddlVHYvKpxdqn3dFb53teUUWrsu3m80eK+lqxCm+IUiUa8gnnqPX9m3ltLSjMR/B+fq6YsD3/QNiMvtxd1Zg+oHn7bAfj3LgoKUH4hgY9MBYozUe1EKvKDU3NKQCWCeulwvdp4FMN1T1WzS65NhHlbBH5hO4bsvf4VDop7L8rMZYMlJKoPAo/6x0jdjyBiSsL/jNEJRIVPzlgyKMgZYPzLMImlDzwk/dSZYzouXZ9OvSJQ+Vud/8jv8UVOiqZ6N19GbBb0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bn7CJVTTzCGJHfmLE/+2NIyJatFk0uV6AOMMUMy4o98=; b=qb9IXBhpiWPP5o0CVvQjZWj1/1D32WQsU53aCVuJugiVqwMt0LGmK1fuk9ED4bcSV5Ec+JXYqT39nPISniglIgJ2dCBQOZtowM++dEQKCroZMKmaaQDdXShp3zGOa82MP7GKlft5Rgv7JoC0n1NzJw1UqSZ88xQ+ErpYtcBR3hE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:05 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:05 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 06/35] maple_tree: Add debug BUG_ON and WARN_ON variants Date: Fri, 12 May 2023 14:20:07 -0400 Message-Id: <20230512182036.359030-7-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0059.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d2::16) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: ebdc38a5-731e-4b06-7b16-08db5315a65f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xou2A/NpUFZCA0jRyaS+/SyGkbFvNezKoK7wkE0wzgC489rGan0kWyzO6om3XBvWwT+sxmXjwPNzgqftnEBgH15vilKgjjGTy7ExuD/FdgEFGztmnwy3dJxD+8mbzH3xTvZ9+yb3hIzsH2mSwCtHQCzIuTz6lcL7f8vjLyU2LzbWOc1tBEidItom40qNATLxfHXw6bFiB7nA91Bmsxxm7bsCv7Qz6gPixIaD8PiKOAwoZjzb/AHKzUppbEP2BIQIX+botoK04lPcyqIRcxkDUrl5K6AFN//jV37xRbNTkppD66+ag+lxiPHruNO0DgRtz/Nml4NszKA0QqC71VmxhanB4Ghqe1MD6SdsiHrfIrbuTxBXCY38n5NTXSU7dUprFkCec2FkbbrevsOiOW4n9DWvrsXGvQV0/PJBO19xDy26G+1p1bIH1E+Di8NDzv81DWB4DAUP7ow4SkKMQqcW5wHwZObe2QeqzXLeNc+9LuGNVZoua3DrQcbtj66IjUatOhw9AQ7r8xL1pC4Ywwbja4FUouxmj7+3GTvU5Ce/mABpMdXYadfpAK/P5ml3eG05 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: skr3lahF67KW61NYIrjvxd9aAR8HT5KIkv8XBFVquDnT8JVrFfEKWhq+2bZXJhgiT37t6zsk1EVg5L46JEfqWX3wqvZqGGiNT3EdKRqIhh+0JuKELV9SFGPsjZCs5+qYhj7hImTrkKxQMHEe8PzBbbDntyyrNbVrqUMOPKwwQU2xx8ceF3fe9XK7E3tljyt+INqZ6v4MFPwnwvx4+/ZZbVc7SLEpPyV6M9OVAEeGI7VhS/ZMJuJZyNDhpOhUdkwZoPMzjAFDUGczxvzczkeJZkllsfny1UPdP10uEO7mxdVA75aTtmRkiUJ+unELhTFds+LdoGCdv9n8PbQXLogGd8QdtLpnQJU6D+76aL268SDAWsR3uR1/1TfQaAuobsLR26g7VrrkEIDd7UeRYe9SYuccwYcTJHp5OVxBg67dfQRrWS3/3SF+s258gOdTYLLI7uWtzRMft96lDmlcTWi4puAstT2zTpWvkSh7mpdjUniGvoHRz+3JhI7y3Z1aSuE20lKo0Uaj2A2AcGkVQLSTpkG/0ixzevFi7YURfyYu++KxvjntVcdJOs16T8CGG/0Y5hS5hGtzDWCSApi4W4SAROld33X1/SDVrEOeZRj3wJLwMiduKJQoakVwBLbqwOiqGtq4ka/K1lEAqUNZMSociT8BfyLlgtOkf0yGKBj2fmbrmB78dohci4RtGqoqhYhJve8C1VjNzOZH4H/JEM9lbbbY35uyeXyveWDuwAvQHhmFpQhRRglRUEZP1ektk49TSA4saEbj7qrM0XJKDZPKxRj66j1OkH/6eInsc20gM4nVE2qM0xdzmjZ4FD9/Y5+D6Jd/6iwYG9s9benFDivI7xsdeODcw6AV56tqiv8AFc28XJYPoutC13udIFt5u9Jd57iLVWBvMY5zFPKMrxu16DKJHAllZrjB8XaeDutY9v+8RUbmuIZ2tRJzx7jP+bSD785oq0d/aww87BNbqZCIO2YTmLG4iqQjfqyJDUeTG0Yjik5b8/gqrF+csSaBvfhgEjZPF/qUIbRCPjmJmmu4f+o3DegF2aaQr2adlttdyxMVPL7iizmNAQE1Jm2QFXw0BYzLFg39rhDnN9824ge3cZAdPlQ56Vj/g2AlzppU+A5UxQEqB3qnwv0i3aNuCre+0d/qguZwFqDqSsTzMB30UHDfZKS7qpXvwiQsBnNKTbP+78JKZLZ4dpjCMBFqq9IEJQm3oQ9xZpUqm4uI94rQmX2E1wibR+zp7Miydwz7tV8p70m07F2Vo5ByxDvD7LXdU1UHuRsZP+EYfalbgFgxJwGqfAaIxmst2UQYEvxbfDJu+GGzPVAQZbqBNPjnG4IaPp5tYPhMGNUorjORbVF3VjDzlJgX+0Mh9bn0qcOMHBN7vJYyEjaiaFNrKMYQ3jqii3TDdLuVlOAu9clLLPm28MOmx0ov9+8L/PUUP+Co9XI4lWSsYndgaE85Lmga/SJCSL1XB17Mc3iSSzzdbrwQYnDP17U+BYPnBkvkhfYHDWN/GgQM6KA+XAvieCmZhpehrYN3uzDaV+KvtAgtkSr2jhOD78DL5I/EWsRIJnmboXCaMhbwsmeRL9jco4Woxl8aeA6oDEh1vmQp0j2UFFWrkA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7wm7vctDWvBX97SiE2z0jAIXFNixZ9t8gJLGKSiHHYexeLaO3TXX2dqq4vrcl+r8n6WT3RtxN40V590zVs3A1TULwL8QATGRA2l5PUb6Z9RXJMaXT8B8LsX6Ersjz4Fa1yIlDRmfUPSwKN+tZguWG97Us6B4fX1vvFflnRuaRg/EO4UM5266ROGtNwaanzfbJqY3F3Cat5EVrs4tJsup4mHbbrUnOdMWK+nKX7hP42CLQyqh8wh4H3MDDI1Zh1pG8uf3SZHlSSY3lTJsJ9Dmy4z/PCNX3GqU5U4m2dJxICUzsr5471FodtH/SNOZQ+K8+lCK7G+MMZuXHCOK/POCIh25owtNWOK8MuIX3I04bKXOONKSYvBmeGkwz9YCBEkvhhL0UfKKqPeEuLjayaBKVQhlxF7+uEt13ObCCJstHxWKJiBnJ/RMqFoz5L5vEV7+BMN4NYTi16+bXueT3g8RWJzjobgAmMcifovacoNJCHiOeQ7BnPoR5JTis4WMvrrDV/7rH69FsQBtAbjHgq1KC1G6scl8MkeYkvcknaF3Y9yjgnSQgTZ+7Dpe6ORMIF48WD9eY9/W+t2Y10iLNAkh1T14Mkdjf8kcSt8ei0au/e9M0tdQJK5rEXuEo4t5nRdDspk4p/DEs+VD4oa2aCaP9bdsTUt+G4TRsTgcu0RRv4eCsTqGNPzKARqxipFy8EfZQc49oLEoHICSP5Dev19U8MdxdiW+oZ/GD/l2jzyxOTlw/cx85O8bueyAlWTmW+5J1ug/l0QWSXm/5uWzx6gmtcERFue6gm9y3/1r9x167lJx/AX2P0n/yCTxEOHBYFvO13VhEV3Lzxini3Vgz2WyNN7YpKsLa6PRgQ1UqB0e3JJ7iNEeA/meGLg7EIRhadMH+rfkoOrV5yipIFnZgQpDKw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ebdc38a5-731e-4b06-7b16-08db5315a65f X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:05.5259 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pz8S4yrZRJmkwK7NF/wYfTajyZYdr/DSQzbL9gDTKrF/WpazFg6T2C3yxt+FSkhcSlW0pPswscCtujy0dQUl6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: 8zqhkb90_gDpdslMKymobieXa5nx6S7v X-Proofpoint-ORIG-GUID: 8zqhkb90_gDpdslMKymobieXa5nx6S7v X-Stat-Signature: cof36k3pt9ibg3urz4dcrhbdq69ekkgm X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: DEB7C2001C X-HE-Tag: 1683915670-463885 X-HE-Meta: U2FsdGVkX19MLnqdQR2FrInCCImKkDcDhgjsYdAi/uGFnvroxtawbL2ighDxuyfup+0cMZCPhBxfbVFjayhJKZ2+LMfx3ayfSUcnIfz6t2a0SnFLGHzQ4CyfhuMYs9edXpVxz2eYM3+XBXm4P2I4gZubex++wVVex6EVaxwQmccFix+XRUsZfVYxIhfgmCeYtEPSIsq+xAvpiGIvnp0EnPzDYS6gScJJFOCSxV+6Y099wD6RhQBgXoGI8Y044UMS48uNbHq3vAT29MO2nVzk2GgbSTkwcoY4NOfVJ6lhb2SymTLKPIpx1CToQcJSlsUwQh7rNmf4tgfOTsxGhkSye4b6sPB4vcD9/Feyi8VBDGUX+F1DVaJbXRvOO12S/NVaKplAYxXdi6f22RAB7uAC8d3N+ZkDKt9b75HZqjuRoP77d1B6H2C+XcPtwTcv2v6xpcAx7PXiQSZsGZIcde0kKRSEpaGlrGFlFStYGxpjcWlZKlWU5UAfDAbH7jcjlxk5i+LcKce62gRtJ4YiYQo1NN8BDGYX5Ve+pbjJ6p3PJA4fQhrqkT+nhe03EKn6rue22MjV/QjTK17QrwwcniOVZN99nJlONBfN58nyT+5jgpG6pjpE9SEmdQzBOd1HKaVPv7UglNkqp2LEAMIFKx5SYnwrgh8vKj5qIo9KWTiltA+uSroBkwhtGTT//dk13ntr80PKK4y2GAAVHyvadg5MbXstBzTZpg95cARUzN+om2f5o3bbUshpfkdog3O7GxeRoqNNeOTjzAAMInPxsybbxW+8ZZGF6BaNzG1uV7kjnn9mowb12dAK3Rrau36DgM9J13QYxoPW7RyqALSqmM+cCTsgfhCus8TZV2z/6MZ+OlX3y3ZEsIwnnskERD4aQU5RBAKoRaROtX+nhLsHcG09vNCfm3UEaSs2EmElc08yz1HzUritYq+saFBO1lhwDMkSWeDIF0EHOCcBcvO6M1M jXI5EFkl Jk3/luaU8J/lWoH7aFiZCnYeyL3kW2cf5RTZkwTrrexO1jI4nbIyX5G1K4nCtkT/stwwKISp0RCBHScde9CKs/IhPCz8NrhB+lMO5M6JEyjqxP4sw+9sEolM1JLMlIyw0xVJVOppDgBXRLLYyaYiExCFPniPz7UVBA0x0cZz8h4qLQKIs5pjdG3INH5HIA8F/Z0oF1LiLJMpVTN+DO1v8mgQ66UIzCrrfVF38FxZ/zWuYpcUlaG8qbcOG9G281pInMotAjUrQENAyM8yVyuCvg4RXHK3+U5dhI5L2TSV7cSp3nzxEtHTY3l46l7TIJWVelN4uPMgOlSZ93tRDDn12XRaJKxE+chsQ1LCCkR10kTBS1QOWvR/3gR3QXRasCV36jcG14mTzdqclyohOAqoiNhotHk+jh+g7xb2tDV0pRirwl2o= 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: Add debug macros to dump the maple state and/or the tree for both warning and bug_on calls. Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 100 +++++++++++++++++++++++++++++++++++-- lib/maple_tree.c | 34 ++++++++++++- 2 files changed, 129 insertions(+), 5 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index 140fb271be4a4..204d7941a39ec 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -482,13 +482,13 @@ static inline void mas_init(struct ma_state *mas, struct maple_tree *tree, } /* Checks if a mas has not found anything */ -static inline bool mas_is_none(struct ma_state *mas) +static inline bool mas_is_none(const struct ma_state *mas) { return mas->node == MAS_NONE; } /* Checks if a mas has been paused */ -static inline bool mas_is_paused(struct ma_state *mas) +static inline bool mas_is_paused(const struct ma_state *mas) { return mas->node == MAS_PAUSE; } @@ -679,6 +679,8 @@ extern atomic_t maple_tree_tests_run; extern atomic_t maple_tree_tests_passed; void mt_dump(const struct maple_tree *mt, enum mt_dump_format format); +void mas_dump(const struct ma_state *mas); +void mas_wr_dump(const struct ma_wr_state *wr_mas); void mt_validate(struct maple_tree *mt); void mt_cache_shrink(void); #define MT_BUG_ON(__tree, __x) do { \ @@ -695,8 +697,100 @@ void mt_cache_shrink(void); atomic_inc(&maple_tree_tests_passed); \ } \ } while (0) + +#define MAS_BUG_ON(__mas, __x) do { \ + atomic_inc(&maple_tree_tests_run); \ + if (__x) { \ + pr_info("BUG at %s:%d (%u)\n", \ + __func__, __LINE__, __x); \ + mas_dump(__mas); \ + mt_dump((__mas)->tree, mt_dump_hex); \ + pr_info("Pass: %u Run:%u\n", \ + atomic_read(&maple_tree_tests_passed), \ + atomic_read(&maple_tree_tests_run)); \ + dump_stack(); \ + } else { \ + atomic_inc(&maple_tree_tests_passed); \ + } \ +} while (0) + +#define MAS_WR_BUG_ON(__wrmas, __x) do { \ + atomic_inc(&maple_tree_tests_run); \ + if (__x) { \ + pr_info("BUG at %s:%d (%u)\n", \ + __func__, __LINE__, __x); \ + mas_wr_dump(__wrmas); \ + mas_dump((__wrmas)->mas); \ + mt_dump((__wrmas)->mas->tree, mt_dump_hex); \ + pr_info("Pass: %u Run:%u\n", \ + atomic_read(&maple_tree_tests_passed), \ + atomic_read(&maple_tree_tests_run)); \ + dump_stack(); \ + } else { \ + atomic_inc(&maple_tree_tests_passed); \ + } \ +} while (0) + +#define MT_WARN_ON(__tree, __x) ({ \ + int ret = !!(__x); \ + atomic_inc(&maple_tree_tests_run); \ + if (ret) { \ + pr_info("WARN at %s:%d (%u)\n", \ + __func__, __LINE__, __x); \ + mt_dump(__tree, mt_dump_hex); \ + pr_info("Pass: %u Run:%u\n", \ + atomic_read(&maple_tree_tests_passed), \ + atomic_read(&maple_tree_tests_run)); \ + dump_stack(); \ + } else { \ + atomic_inc(&maple_tree_tests_passed); \ + } \ + unlikely(ret); \ +}) + +#define MAS_WARN_ON(__mas, __x) ({ \ + int ret = !!(__x); \ + atomic_inc(&maple_tree_tests_run); \ + if (ret) { \ + pr_info("WARN at %s:%d (%u)\n", \ + __func__, __LINE__, __x); \ + mas_dump(__mas); \ + mt_dump((__mas)->tree, mt_dump_hex); \ + pr_info("Pass: %u Run:%u\n", \ + atomic_read(&maple_tree_tests_passed), \ + atomic_read(&maple_tree_tests_run)); \ + dump_stack(); \ + } else { \ + atomic_inc(&maple_tree_tests_passed); \ + } \ + unlikely(ret); \ +}) + +#define MAS_WR_WARN_ON(__wrmas, __x) ({ \ + int ret = !!(__x); \ + atomic_inc(&maple_tree_tests_run); \ + if (ret) { \ + pr_info("WARN at %s:%d (%u)\n", \ + __func__, __LINE__, __x); \ + mas_wr_dump(__wrmas); \ + mas_dump((__wrmas)->mas); \ + mt_dump((__wrmas)->mas->tree, mt_dump_hex); \ + pr_info("Pass: %u Run:%u\n", \ + atomic_read(&maple_tree_tests_passed), \ + atomic_read(&maple_tree_tests_run)); \ + dump_stack(); \ + } else { \ + atomic_inc(&maple_tree_tests_passed); \ + } \ + unlikely(ret); \ +}) #else -#define MT_BUG_ON(__tree, __x) BUG_ON(__x) +#define MT_BUG_ON(__tree, __x) BUG_ON(__x) +#define MAS_BUG_ON(__mas, __x) BUG_ON(__x) +#define MAS_WR_BUG_ON(__mas, __x) BUG_ON(__x) +#define MT_WARN_ON(__tree, __x) WARN_ON(__x) +#define MAS_WARN_ON(__mas, __x) WARN_ON(__x) +#define MAS_WR_WARN_ON(__mas, __x) WARN_ON(__x) #endif /* CONFIG_DEBUG_MAPLE_TREE */ #endif /*_LINUX_MAPLE_TREE_H */ diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 084868865849c..a28b021f740f1 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -240,12 +240,12 @@ static inline void mas_set_err(struct ma_state *mas, long err) mas->node = MA_ERROR(err); } -static inline bool mas_is_ptr(struct ma_state *mas) +static inline bool mas_is_ptr(const struct ma_state *mas) { return mas->node == MAS_ROOT; } -static inline bool mas_is_start(struct ma_state *mas) +static inline bool mas_is_start(const struct ma_state *mas) { return mas->node == MAS_START; } @@ -7251,4 +7251,34 @@ void mt_validate(struct maple_tree *mt) } EXPORT_SYMBOL_GPL(mt_validate); +void mas_dump(const struct ma_state *mas) +{ + pr_err("MAS: tree=%p enode=%p ", mas->tree, mas->node); + if (mas_is_none(mas)) + pr_err("(MAS_NONE) "); + else if (mas_is_ptr(mas)) + pr_err("(MAS_ROOT) "); + else if (mas_is_start(mas)) + pr_err("(MAS_START) "); + else if (mas_is_paused(mas)) + pr_err("(MAS_PAUSED) "); + + pr_err("[%u] index=%lx last=%lx\n", mas->offset, mas->index, mas->last); + pr_err(" min=%lx max=%lx alloc=%p, depth=%u, flags=%x\n", + mas->min, mas->max, mas->alloc, mas->depth, mas->mas_flags); + if (mas->index > mas->last) + pr_err("Check index & last\n"); +} +EXPORT_SYMBOL_GPL(mas_dump); + +void mas_wr_dump(const struct ma_wr_state *wr_mas) +{ + pr_err("WR_MAS: node=%p r_min=%lx r_max=%lx\n", + wr_mas->node, wr_mas->r_min, wr_mas->r_max); + pr_err(" type=%u off_end=%u, node_end=%u, end_piv=%lx\n", + wr_mas->type, wr_mas->offset_end, wr_mas->node_end, + wr_mas->end_piv); +} +EXPORT_SYMBOL_GPL(mas_wr_dump); + #endif /* CONFIG_DEBUG_MAPLE_TREE */ From patchwork Fri May 12 18:20:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239612 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 C1D45C77B7F for ; Fri, 12 May 2023 18:21:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1179F6B0093; Fri, 12 May 2023 14:21:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C6AC6B0095; Fri, 12 May 2023 14:21:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E326B6B0098; Fri, 12 May 2023 14:21:15 -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 D2C856B0093 for ; Fri, 12 May 2023 14:21:15 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9F86C4100E for ; Fri, 12 May 2023 18:21:15 +0000 (UTC) X-FDA: 80782420110.27.0207C8D Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf20.hostedemail.com (Postfix) with ESMTP id 4B20E1C0017 for ; Fri, 12 May 2023 18:21:12 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=QAOdXg37; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=PrUcnbI+; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915672; a=rsa-sha256; cv=pass; b=qj2AUCNrdNP6aF4LcMke2WrzX31F6G9re5NyEgR4IDuv9X9gvdtzUeBLlnF8ScT9bV5PRu wkgwU++UAJSfLWNzJBDnpX10/A56tyl0m1bvyFUfDMnTICpVM0tJ5UpaeSUoGzXC4na1Kd u5MhvgIk3U9B6OEUakSkyY0lZ1sAzAQ= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=QAOdXg37; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=PrUcnbI+; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915672; 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:dkim-signature; bh=IbTSmdyb2l0AxI/fykNQrwHeQXPrfhWT/toCcPlgTno=; b=Z8vydJUrKAk9YehiZtUj5rM7DvjFIAwDgA5zdmSSHDLVPOEl4CrSwIx0EuSKStnX9zbkTq P4GEnLCl+3BMtaCRePWBun3pFcBHPENbySvSSnBJ4LThBkYhK1vLY0w2zN4UkggEp9Hed7 w+ZUkpUH7gbt7Ic4OHfmD6ljZ64OChY= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF49ur010131; Fri, 12 May 2023 18:21:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=IbTSmdyb2l0AxI/fykNQrwHeQXPrfhWT/toCcPlgTno=; b=QAOdXg37f4GBTgiAeSVKP6cEwbjesNzy7udfNzTbeH4PcSS0i3a6VbilAZDCTPGtrTO2 C7QCSvGU7cRszMOgUi0EfWaGyqN/mdGm2WJgR42ywl3GH2Zjl8q6mIiWllKowPrMxOzJ HUVY8L/umM7CKPo+djQDmv5/Sdqhd4Z0wTPf0NEWtbR3ME7/2jcWujZwBF/S9c2s+s/Q dsCa5DZQ2NTKcRjS7xR4wq3PoRuVt+WFn71bP/sjSYfcXVowkUhAZsi0+Z1B6CFHci6x 1uyWDCXAiDWy37DQ78Q2EA2swIQLwPIKdYyp+HC5gCmNnPYvG3N0EN+W7yJ08zrXhZgZ +A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf776ubes-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:11 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CI1u01011967; Fri, 12 May 2023 18:21:10 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2102.outbound.protection.outlook.com [104.47.55.102]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8156ycp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jNYnTdBr8nzBAhgaBblOifiLrtycQu+WxDM7ZBYPitbzRIuzaaIgzW+ycCpOIoc4Ps4XrjhZnAwxPxA0KU+9TEzfWW8K02N6PUT3xPEr8+Fvzh8twlbrUWEL7wc1VrJn3noJ+TFZmXGflxepgLULeoFM0OPhSbfoIVMOm0nOZqRI4AqPXF/RXpUnCsUL4zziREDBYXGogYmp6+i1yLj0BOePao4lfjUd6StPaQq+94WqWSVeDaL2hfcf2/8iighA6C747YDYgqNmEoL3doZOtijbSLSO7Op0ENPlUKODMF6OMr8ewViMbsCBw0lTd+M/Ah3IrbvUWJmalSx8b/x6iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IbTSmdyb2l0AxI/fykNQrwHeQXPrfhWT/toCcPlgTno=; b=YU5noCsCKFYBEO3gm0uLuAVn7Rpy9B/dV5Irg1fGniR1k3uIjP3JQvy8ODu8b8wZvw29XizxxEPfZucbz7wEMZGPnHtRJxR1Vrxjg8VGX6xT6rD2HSdeuTrUKRTtgGq7XwGwTLWbzfb/JkUox1ilaEDZ76UUE5CRXboIxq41UvdH2ICIX280UV02JvH/HwwyxT7z52TEkkViV972sYdgvxSBX0neh/J9E0Q1ilnYyK/Rhf1O8CQFCX2KPQZKfkcT0UyuBR4u+na7rqwL513yhLIrqkDdfkrZyaUjj3mkZuQONyQsWyIa9b7rH1eEMQJmeKzxYL4yQoY0xAuZOVpRYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IbTSmdyb2l0AxI/fykNQrwHeQXPrfhWT/toCcPlgTno=; b=PrUcnbI+DB9qiYhykSvKmHdkmaRaLTBrlVsOFQ3jyFZA9oyD5jvQ/s95p9KtOLoTuYSpqzHrX7KEvIqyhwu9aIaRe3ewvsRhhtCYesIYjCEhP2qo0D9kJZIZoURlCRkNscqVnyFI6js12u3rWNm923c7JBBP42X5oEgfiqe5Euc= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:08 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:08 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , "Liam R . Howlett" Subject: [PATCH v3 07/35] maple_tree: Convert BUG_ON() to MT_BUG_ON() Date: Fri, 12 May 2023 14:20:08 -0400 Message-Id: <20230512182036.359030-8-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0054.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d2::11) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: a11e5227-4c75-4db0-4d1a-08db5315a7fe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: svDDzUviA9jiD4YRSMP2vgvOJOo3L4uxxS+LAQuzZRVJKQdaRcCeiJ+Gkol7fpoS6GKgWF6ynbHZooiQ0a6aiW2itB7SPLPq5wy1/fTgeVcgCS3+bJ54k27SG50RZn3nwi+CI3gxhlvHu8oBLIOGFzNmCYSJhsdxi+UPrUD+ROkA0Zr3hJ1YuJmSph/WH+C3A5TzyUksyx5FPAmI3QnIKS4AEOBb1eniqJbhuyuJMq53kOyvovx5060MRmnroRk9xhZlhzWMpdASeGsTP9c+myZA5p7gI1IgnQJ1Xp6Fm0DKEl2v7t0/NF87cspsvP8P+zRoJ2fISoxU3QWydJwVKRc4dUa5r+pOu42XDNknFMRdua9M7/1AgrDQuFnKXPhQXog7tK1VCyq4wxI58e3PMe+N3WCJjAEtP7IzzuHBsoBEmwoOTzgDb1O+36kbI8/2M7LkIloh1BKhVepx7oD5YO7rnb0vSAnxFmGuVAqVnizbhh00+jnn2XcTnRgNG3XwjLNl9ThTleHYeHleo0XhlzzN97p8/KTmGiJqYn+V3PeyZWLwtL66i06sY7XKkUDA X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(4744005)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(54906003)(1076003)(86362001)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0zLqa9tFZz6hMEsqdkIfTvkRph2UfU+WrTTzLfenE23/hHmwelNFZKmustuawljhTTbb9Kq37l+zLrAEYHCrDblsIhWWwts73OluyzjKiRif2p+N3w/RA1qoT/6Dpxx5xZJed/Iwku6FHs7ml8QCgnSvCKBd569hLbrIg+XggGCseDtPmbcnED039h17JKWyMqhG79ZCY75fLdwCA2de3+C2Ur2/r57gKRovyaf4J1VXzv8I8Y/oTRC5PhfdjCjJUsaRsTINcKFSl89TLbC02KFU6bkv1AEl6J6SkyhZWzCMiGUAFOlckk+zgVkEyS4rTSlRAJWjtz0HGDTelFxS145zMs2zGvj1qVXi/yPaLFWaFOUoJhausUVyw4m5+WjiUR3FqXf5k5jGygyjnVta2iQIsTFqXTIpTXkslvZh2zw2lihR3mZbmKF1nB+ta1y25XyjhLRT26AUDns72mHjstrBVpP2cZ6b0aIcKIpRMd4lkaLVNPGIRhBneTUve/hIAo04dtFJ1zja7j8rzQxsMk/AOPwaennvCt6J0ZBxOHiQ6kejLrz7a3iZqgKWx9x160XgQpd8T7eIHJ47NGUHpIfOwZ8i3o3JRH0gbTJt9nv6lV6WBz9aXOvFS++U/+tjEIVwL8YyGz0cihqEnha1FspX07WC1f5zjPpRiUWmP1fmKBFZUFeAnsRqdoSSzebAsOFsPQme6Nd2hb7gCvxuWizl/Y+4amL8Gr73iQL/RKgdzdHxwjfqqFh+f/A8Sj6K1aRmUfHbYJ972UsgLTKPFzeIHy4ZsuQcwZ6f1j3o8ho330csLP+7L/IgGs67y8RvAMdJSUNu8mw7KSuJ/zTgEJlYtYHj0E2Oh5ZCqUPJSoTld+mUPjIeRRYWQerBtvtG6bn/W5JPcv5TV3JLasI9oH23xQGYF0UV9U/56fIDBkXjoFMDcW+Yb9JvqJh0HeJXAn9RqtznY2sOFxcbmIXgmIvcvgxaDedJJSCDR3UO4hdObvHCIqqS3QDyUScSZkif11Hr16qeB+Mgf4qh9tLqls/K3AWFn9FR7HSQpNRBeSqgVwNNYjO5zHKSR/G5K8+O94I0qFzCEG2+fQBOu1x6oKf19FH4yC7m50S8kUL/QNFNhwkoJg1Z7Tgs/zcBIuLIORTGQ4F7TVfjbgXArEOge4YTlJZ1isSePfuHd6RBLr8nXJKSLQEOMVLVSdbDYN0bYMZYdd2QHNsxnAk7ayMgIfIiZUW60JJ0LdNYocV1ceOa6lwgZdmMPX7FTIeAq+APYJfxqosmwJrTV3l6xke/ikrIve6QS7abbYg233oUYT+Hb39cNyALk4kfI8KcR7kVCRgMnfKPky1Az3plN4lgzIo5GtzrFjXo3eQ1e7HSg+IODYQTEJW04b5eLo64IzimbDb1ci3hzU/Hnaxe1Epw2jmjUjFUeHfLbGJFLIMzavFNkNFpriegqDbkt/wrheTPFM4seq/dkjYaxciYnR79xtle5b1djMi2Sx6VEmpNuiUPJiCb++fC2HdDVgPCtmNCHUwbt+ylC+Zt1xHybrboadCNoOkCH/zr/Q+nLqqWgaFIeGRpYI/3dKCODMKo8El6AdU0sBf6fLrEbhwqpM7UXw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: TnrjR7/09/HKtUOFvq71srYBPlJyAiSnAJTZTV6VAg/Zy966r881qHDmQDQ1Ra3ZarwMsia4ZuwyYp2gBruvJc2Dqy7EUr02U4LByxsFXzy3biROlOIbF1DQVsVLzGhU/yPhTWJk7RtwsqHrtjKn/SMvy7QLXa5yDQCxjaHN1qFWtjI4/igdRQ4NpZhigRkcW0DgQLqG3TdrT90EupmnmnJjr3asj5t94n6rtrQdP2jS599NxmT5tqguWNVBMdKHOrAD7dKxBwlrWqAcgGfIYHSM3b0bJhKLjwge0IH46uXo28+93m/whXNdTKq13gAPZ3Eb6UGncYaxd/QLnLHrWYmaXTTWsa23zMjSdvNEPunkout6qhuw+rC2a1QK0Ok+Ek3dTzO8AV7WDvHokf8hGmU4c1Q/L5Yp6UkRw0aVHAvd9PzHKKE77mNglwIS568TMart4t980O0PiZ0BPoNsxMO2J/En4NezOrDh4YPCbhTrdNhVjfEq1XezicB18XB3WljiIWnggf1SPgG3Z4wD64DHFH0Wq9r0Wc3fIBrRGuxQQ55FeY1+ACxD7zL1Ibl9IIDgNjpA2gSDMXZw/U1hRphiR3pnfUFz/8gv068zmncE0wn16gSdScsMBTlh1i+Oh9ehgsn2Io5bcQwalY/kAETSHTTmFrkIyVN0UsyDxIx4S6ff1lBT4abpoyL2sMDQvPhzHYEqT5ket2hnrBNKIQWcx/sK9Pm56TE7pz9X65lIgH1Kaxs22ACk4sBE1iuRDo5QbBGfp2T0mXOYOHY6x6OzJuqkHT1Y7MVfwNLhbPO3H6+gW9jf55PrKo/wY++sw/+0CcaP88kXF9Yh0hAUK5Swq32NUDYGoZYqJIJbq9PSluDWT7nbIlXH5CmbgqX4vnzdodOz+oe54AlHUeNz6A== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a11e5227-4c75-4db0-4d1a-08db5315a7fe X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:08.1807 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LKrTb7HzdISz1RjpJdixR6StIHEN4lWczQBJDpppVw+zuHkDg4wDohw8+Qlzvh+5RspAw9syWmf4YwKqFUegug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: -cUnafGcZVnpOm6nlQnqMrH-SGJqaIHm X-Proofpoint-GUID: -cUnafGcZVnpOm6nlQnqMrH-SGJqaIHm X-Rspam-User: X-Stat-Signature: 91bcsboca5tbdwsmamn75fm1bjhh6phx X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 4B20E1C0017 X-HE-Tag: 1683915672-707444 X-HE-Meta: U2FsdGVkX1//xu9EAbJUvWtb/LBhc+KVa0Bv8GVahLj0eqBi4+4RCstkR2EMr9n6ym5aqQ+eVMxildzaDQZib3Y7hb/DZYarilDdSpuvgfmR02nxoJd3fDrVgz9Lohylr4eNc1zugTEqO2+P46v+0wkAbQjvB0ac64opJQ8+GWKrqWCjXEcrx08HLodU+rwDwPxdb6Ylvnx/clA4yXa2yeH1KSsnY2RhQcs0zokwwozsUt7v1T0UlLgHtQ/06ZtZYm6BIrugcHlqXDtxzTuQOUlo2UJ0/HFPai/wY/fURNywWsGFR+Siu7Gz9xUXGTriA5xuvrttfH/1py4wnIpIBOTjYoCXk7/njEGyK+pHoVb9IgLzECupF5hiA3tmHnY63CZAcKYbh+h1Qtlt6eqhzmTjcaSlw3u3PA8KGvyxFqFnVu1wudyX1bQjmxh++/nOms92Ys+V84TK/RusADGAhY6elJQ2OHCOtY22Tzj9k+uh40Ix6Xj9BrglMz0BGZqp9MyUIT+FNXN9Jj9rdqC7frgsXjTOEyBBIc0Tw9B2+eYzD5FbOI+p+3v6QHAG1yhdMsNx+UpwhdiH1r08t32O9dNhSEK9SuwUpofDFpBzN86A/JjG691R477nYRCWH1nEflv6L5Gue1/YA7sbI0tscbKaUayDe+moD8Hlgxhizh0lJx+7ZuTDUwtJq7ase9/BzgnAuGMWapE3RfOpmTiokKyOAR/UYDZo0MR7pptqtNROUYY5aQJu+C/iSqOvOFTCzd7zuJEEGrvtMLu4ULB7u/0lyjAxj7MovWCRlOW60U1rEDiTwTo1a2GYMUXMRYUUmiCqCcxbWEAk0PI6oQvaHmpMr75klJ6wyF5MO8TxRFAl75AJNHzt/crMg1CmlAc6YzA9I1/OJRa6hJzaoz34jUy6dBzmNQFtidZS7NS2YJEZdhIaVqM+zx1zJ17e6Q9l9E1bAt7q2tocoFWvabw rUxNODNZ HJ5+z4AU9BiKBDKccSf/W/6dBKlf4x2KWM07ylm5U/vHen2hu5Brd2vOqyXFpgD/DuwPv+0n/eT1x/EqLCSGBTYP4eR3goz56nU/1fCzkFW5UQIBlQTe+QM9d/VZi8NuYaVW4R+wI85G+qwxynKhOf6hRbCo9rqfNIt/0FV/ys5OTexfsmfzZB3g5HYZm/AtcmXsEjRQqhJLzqKnEyIeuG/C0xiBSVLnAtT7N3OBxfY3smL5R4JHP6cwg6K+mw2eRPRdjHmK4jD6RHfSa1c5Fhj3bnvjdMYl53kBmhVL784bMdwaJqxvRSXgJ4GDyZUHe/75ghZRjtyWI3FsRj6QBe9l95ow25a5s9WedniD333w1nrOHrqvUo8WFMt+xZW57ywQ6cGMWXiruyLRrQP6Idlr1Tb1w1w4lTXFy8bqHprhiaMY= 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: From: "Liam R. Howlett" Use MT_BUG_ON() to get more information when running with MAPLE_TREE_DEBUG enabled. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index a28b021f740f1..c3ce2bc594123 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -194,7 +194,7 @@ static void mas_set_height(struct ma_state *mas) unsigned int new_flags = mas->tree->ma_flags; new_flags &= ~MT_FLAGS_HEIGHT_MASK; - BUG_ON(mas->depth > MAPLE_HEIGHT_MAX); + MT_BUG_ON(mas->tree, mas->depth > MAPLE_HEIGHT_MAX); new_flags |= mas->depth << MT_FLAGS_HEIGHT_OFFSET; mas->tree->ma_flags = new_flags; } From patchwork Fri May 12 18:20:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239613 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 523C7C77B7C for ; Fri, 12 May 2023 18:21:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D700D6B0095; Fri, 12 May 2023 14:21:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CD27D6B0098; Fri, 12 May 2023 14:21:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AFF586B0099; Fri, 12 May 2023 14:21:19 -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 91AFB6B0095 for ; Fri, 12 May 2023 14:21:19 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 6D77B80FB2 for ; Fri, 12 May 2023 18:21:19 +0000 (UTC) X-FDA: 80782420278.21.68C5249 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf25.hostedemail.com (Postfix) with ESMTP id DBA8FA0010 for ; Fri, 12 May 2023 18:21:15 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=w42u76ob; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CN4a9wh3; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915676; 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:dkim-signature; bh=W5VCQae/u+KrSguTgZokUl+Fxo+cz9ZckZBWA2If+Ro=; b=p5SpDFg8G7H8tydhYALkIHqcFRRSqchONjFaN/fXOjiW6jtcz3V7IOzscnvf5zpq0EzEP/ yWenDtW7vCXJpRh7ukBRQ0T/kUeXzrWoHBDLQ/jC8dQWDg/sRtUqG9LOdG8bICObsG74bZ uSmkKJBFa+JBf1TDbi1ivaAnuMJTpLI= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915676; a=rsa-sha256; cv=pass; b=gfBBO2m9OcrPiaUkdIgKKxBiGFiHTNYdwDjwhX+M9GVHtrsc62NG4dJwVmRINiJTEaPK1B S/JXnuFm+j8Dy4tX4wpA0ALK4D5Ws513tUp3lvQzVKcPEWX/yctaPy9/Zezg9+jXd+I+ES TSG31GnquHUgSpNWPcoQuK1+7ZfvFv0= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=w42u76ob; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CN4a9wh3; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4huL027771; Fri, 12 May 2023 18:21:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=W5VCQae/u+KrSguTgZokUl+Fxo+cz9ZckZBWA2If+Ro=; b=w42u76obBjtgYEKHuclfjHOsYUUW4tFjp73QSR0ClbFg/+Kis+xf/wKkiCHI8EAuTwhV 0lcYcPnZUqprfRqY7H93NiQAdky+bwDGuCQNoxCI5+T3KFXIHc35KS2F5+pm+TjxB0bi rkn+DZT/5gdVhAynjPA0/F6Vlus6wyPrIQCOOFE/XqTlkhh64Ac+RFq/5BPPhEbH4lDE Wuc9ZWRim67j4F90DiJMG8kvZ8iGLufBEwMqnoQRbkPO3Sr4sCvINjblZ/7fCp79kRgb 5J1hVHlT15S+zQ8dpR18YEXKSBaaPqslWyFFdhgZonXzmoJxMmiZ3cjiLOgv0CNXV7EK YQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77cbpu8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:14 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHqHqd004416; Fri, 12 May 2023 18:21:13 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2102.outbound.protection.outlook.com [104.47.55.102]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7pnt56g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fgbNw4fLqTwr+n7hCUWrQzYiEFjzLgYrO0waixj+fnV8v62od5rMaxZTW9WzgGg7inAJOWIdYU4w2FQ/QRavazc88HH7kcJqa5r+zmiVVu0nK+Hnui63ApmYncvIBOIgzyNgao67ZnjqrJYfdAiQZjNfCJtlY3pHExYzOeM4TTyT6XlRijS1kq98rhhrzr1ABp5LGXDmJVIQUzAd5cdQy+67xpVfZw7Xu5ltFxXe0aKVpgI8kINSo2JukHQS1pJtf8xIoTu60U2GY+rO2L+rNxH/hIufIbJvI2Ixln5kZnEVSr0KxRadc1Fvr/z3+eGPNteczRODpeMgvXUpOVBbpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=W5VCQae/u+KrSguTgZokUl+Fxo+cz9ZckZBWA2If+Ro=; b=KQwM3z3UzmxPqBdoS0lEpNQBuLv14zHI/O5QYeXIzdMq/sIpAmstqozCy5AmI4MIhei/Hi889Oy8VF0YK6+G+2hz50rKMprFJCbEEl3rIc0p5PoHFjv09DVQ72Rkxwc1W2k/g5Ea/w10XZhGiQbYEOhztVZcsgkWgGIus4sNjNmkpIUS8W0JGZxYO9fd2gw/NseXhjO6n/dd4Z8Hj5/w5JpBqQOp+oMgm4Hk6rLbigiEKWxm3he4IW9vp6XMO/K47JEOeUrCWNXGamtI4se5E5SehXm7iqHY3t+kZ1GqopjW4HP56G0QTZZ8QZI1hxcz7NphgywBrDEnM4NrxyeSDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W5VCQae/u+KrSguTgZokUl+Fxo+cz9ZckZBWA2If+Ro=; b=CN4a9wh3QNqyZHsnVs/+2oya7W8aswVgd1vyeYJfDIuRu/X0SmYEQ3cAg8T3lTFYJf2Xo/stYtx2UQZ3dnfnRZ1I+lVPieLaPUP5rauvTBpoh0AMuYY+hIj+Lov58ZgXE0o40Z905i3gLiNpTlCtrPIw3lWUmsoARBy17Z8saq0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:11 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:11 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , "Liam R . Howlett" Subject: [PATCH v3 08/35] maple_tree: Change RCU checks to WARN_ON() instead of BUG_ON() Date: Fri, 12 May 2023 14:20:09 -0400 Message-Id: <20230512182036.359030-9-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0001.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d4::7) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: cd49cd8d-5cc1-42df-6d00-08db5315a9ab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hPgrKz1HTFQv7WIEI/Oiabfz2PSRvawKD/Nn8OYxo4Ml0Bcz4Ab2yPQNR3a8ZuD8ZurbbrYKDO+USH1+s5WO35iVmdwreLWmeyLFGpVV0UKi4gZo22CaRe4I1Rv/OpEEZW7x/DvMA+IC/+42dFWMNuqdLzO2aUIbVqkJALwpRYedOdm5fn84/RRk+rypX5mfTQzmrMO5AnRwRhggugLq7In1ivKmuM5nCjw5E4/tROCPUg6bEzMpTdA5zYhPkqHtbalwqPqEtJtKNBXz9gAKopv3wGiyg4106o95N0iRuIs7T4/h0gf8drMi64NlBPYkcJsEE3+OCkSAu2NAYAD0d1u4ExdShNPY4qbmopoN0h/arfWFWQzl8qSjXrURyonPTmFBftCtQ23yrqPT6r821Ulng8HfZ/vnS6Mw9YQQLpcxb9e478foZMhY1N3j9Wzj6vqpWjCqmEcCHlcYdsIStEurXs4XkS4yvJ/JV0zdMzBEf6VhDPADL2c/h3Dh5ljCt9iv9eu+2AQUKiqP9G7B5j2885/RPkIAVwKYOTd1hC7NbwmnZd57TehJHYugjCdv X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(4744005)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(54906003)(1076003)(86362001)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Jy/U/Gs+GChbwn7hyIA62v8rTlHxKqDqoePMwDCgFE7xYVOHLdWpQzEJ2RzGrCZP+WxgBu6idxLNYp0n4LEu8DCuM0axaqdKMhJ4/QAU46BfxAUuxszUUR50XGqOFW13cLze8vaSJWZPQLJnJBJEpyMczE1pxvhEAstdtgXXmB+9K6+Xv7Wpon7sa/sg0+Wob/rUAQ39t56sJKSJMWqU/Mx2WPc2JljaVoYlpR9VmlAXZjfthLguy03x6gZ1+heh0I+YLYMgqGUEpOjjta82OYAmYwQLEO3SM3mBqCKRk6kBcjY6g5/BdYpmVieQHkx1LE/DpBx7iRpymIDq8EwgyZpg00ADO1fp30CPWecJ7MH/i8HEcvBlF7X4F29VcajaL+wouv9msmd9tuM30XwlTsQjhvNwKNCjW7XlffdtL0W8cYYIgTiXy1vYtoyi+6MEA3NNT0BlHP7ucFE/GEKNiy9I1YjiY7P75Uxk6JSAZAJluUkcjwGQmCwMJ38OLiY3QRJTyiO13EFs1OHvXFxJLtjxKA6rRaic3+4ofRkZypVigeD0KkxxLqqKM61YQ/LqzgwclAmfyKc2n/tIWzTewha1whOe0uDNKS35QmSnrGOtONLS5fkDApfTF/CP0T0TXPmcbvjczFWHqt+vYkM0EXVq/PIMbNER5chnHi6rzTihQ6ddfAscdukhlzsQ6FbobcIELEi5d+XkSkFvM2MVssFrXBOluM4sL9CQe1WG/wwxomZP2WOOmgz6w7Kfx80oTPCY3eKebRALdt1dAF+bnVrFKjylsHkN5fi4PE82lqmI8Qv1Oug7KyC0Emn9nY1LiWGR5SQXIIBZEL9ue9oVN3Dljq4I6RrznyNnOH0JUaW2MIk0PIrGPuoJGJY5Y2tGRUwBmO92xuBULJAfvaxBB1gmdHj99xkB49RLiXbh1QjskCIIXq8o657YdTfM36u9coURCKgQkPst95cjA8dImSSecD+ayk4joRb9siW4cbDCg+Xp9DrgOrsp+SGMmCCS6bTUyr/hD1D3UXRl9W0V+8k1Yc9zeXmLn1iusGjTi8x1d84tguH5glxma7eEM4FZguo3zTKsWhg/KNy7JU6WQ+UX7U/i0kI6u8LdePY1dvmff8yN/H9rIll0g448h+EgCXoxTEjBnMryZH8vsQMM/sOoFEY51XFTvSbsf8P1Kko681Gf0GTPN30dvdP6miOMhnogy3xhN1U2b2DMh94i9d6xc8QGfHXPD9ossjBP9H8GKUH0tkfCKevBYTiEJi5FrcpYO6dJlKnW4GHPIQNl+TErai2pS3dELONi415nfObChw7LDMbhzHiMLNQw0BTh2BbsYDWJlbzbWWtj0sIxfl3qDG84DrpNmwpNjZL9nTivxNVCRgFCRHQwTRSHJPQWGPDaDe/QitWeYP2xLkQQDFkKwrAhAG1hedxfiw88QoJ8rMFK8nO0fJuu9DpJnqGPJLGth0YiU29UarP6DExTi/rHjbnOHC0/hXJqt8bcaWzLVg465JO3zjNGJxuJRaVCoBirtehWf6a6PnEplpD08giEHEVkJnuxSlW0iuLOx0uTAOLbvq2tayjzL3JcBbuugrsZw9pXpHXdFWMBL34HwQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 06tlN9+8Fvytessej2mGnhvRmWSf3cnfc//Ojl/7XySuPjFiHNTT9gGcdbeJxBC4x8uXx7WFhDPxhIW2BNeF3haanA7yJOImpNOPd0dGb7EMoJxl8GbaFy+qpZE336AlPbXvcArrEfEm610PnEL3RwPneDta2W9WoGjG3ld71fA1HVhwtx6OYwMHvFQtOvssxO0GkVahyS1yveZ3Bwr550FzmBgaTdx8vAEvJ46oEGqhoI4mbZYzkGuBaymYzwHWKL/DOR1o+fGK2S/yiD1FMVUvR7pmoFqrVkcXZr/SshijG/dabhIMQ+omSn/msEvlcQ4lANUCdQSBlT7V6uUF7uEf2ieCImu4z6mFuT26+VhQ1QA2x3ozVV3bQotHOFx3yCAxsDJDWqA4aSG0v+XZqImAXFyY0mAzX1GxT0uS6w7gan2/OpNacLgnQu5ElUXb7I0jTorK9t/tG8wUi9SH47KqKj7y6zoHYtJZwavOGv90XurPUHgz1iQ3nt51r2EbF924kQzJ17wwtob7WxfRnTQwKqTxQn6Xl2fYNgrDBYBpDHTQa0EFgFfGt5LMWvSagevmaouuB7A2gX2PAfJ+JMxXsfO+iD84VCDWVMPVftGem9rj0+HTPWQ5EBEat/5WM1oOCeWVn3hTKYp8zliCrXVRk/eOegxu9BZ5V2CNRe5tDheOV4P4cXkVOc57oiZpjGm6ceD+cIFd6v0hBr58qlL5wBgbdSPMNY38unBRhOMtbb6GZtX7gs2wEVYjcio04YQgJ8udRPFfrnGHgQxV94nUapx0WqeWZlYFoavmohw6JjlsYE6TF8p0N4AqneNBB94XjUnfK7wvumyl7f5Jw0o3NHPTa0e8YKS9cbSn1JHGOGtkz7+7qt2VdWx+Od4zQtOuA9bZoQvJDg2jgln4Xw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd49cd8d-5cc1-42df-6d00-08db5315a9ab X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:11.0246 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JL8Ziq4wWIdPzdh3ljdmDl5OUE0Xws5vWfKXI2XeYHvpvDDSL2qPKC33q31hWHXwySaAvWuJnbSK7vgda+ZbiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: gW8HvWAadnARSXmgBSdkraqoHZeQ1QRn X-Proofpoint-ORIG-GUID: gW8HvWAadnARSXmgBSdkraqoHZeQ1QRn X-Stat-Signature: beofxi6n5oj9n9hxuqrrcf5tespsjj78 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: DBA8FA0010 X-Rspam-User: X-HE-Tag: 1683915675-291655 X-HE-Meta: U2FsdGVkX1/yiJKMEQ7dJPkvcl2Ckrh+AOEYlP/Yeh6ZLY874ptQ/5FVRW/VhFA5ZReQbiZJiB2v1ihOh4hXhme5512OmSYk7Ek9nAnOQKAXrhldUjzO6DwyeOy+u/xe1Qn0JOQLoQd05L+GyQV67NquZl0J9iqD1jfttbjIOAVEESrJdW341FMSjqKhb6Oa5315YZkFW3/UzXBrn21PEafnwMm/XINn5DC8xpFO1DWWSJRrZM1SknolMpnGhf1wOvBA+QygXuqv+/xit9uZ7Pw7eAsyeYyTZUGiMF/+uO5CJGon3bCC3wV9I2hq6sXQU+jGu80I8oJialPtI3izFyg9DBPSF3U78Pvtra982aJMed13LI0158fekN/T8KGq2fydaicPqCaeORhOMroGeGbHDyqe3Lv0ksBo+PZwP8AyZsU3hHA8Rwt6g3TmKimplSCUyEGnNcWK/1iLFtfyRoXeYLDdqdI0zTA3+zNisiRkaScgnz5nVljRoL/mYL6APpCq/hb1PJSxp77FJlejReDM1cFWIDi1dlQiDD6lPFP+DSQryZUIRDz6zb1fPdld85GZUDqLo1EpnPUzGm11sk4mxUVhBaDkb4upX0L0ZqZxm07ht1NVld0FuI7PqTOWh58r1JlGGefbVHJMTAmZnZDI6e9Zt3xG3faRqSCaSJQaFB5HgrgY8Yz38aRfbcbuG2MxbTUFdKhSCgnz2OramfgUPbF0Cw3dA7FbavCl8xzw+hQagx3BNb8/kNcNGOAI2O9qPiwGdYtFRr+JNEY6oG6ArB1fup+T5rP9iCDdxT/U12dkiqaxTxgfocaeb09q/0qsr1pHDQuW90AaV5ejEga3pPyuiOxtsDn5QSEkOShK5wjWTl/np+4c6/4+8h1YYiqds2MJ38qQ/1Z75xUdnQmH+DwXvd99joJYLSFS4LGmDbP+cOspGFHC6XVsrDlaLlZumc9QwmEIOjPAZ7H wrkUlkzz tOQ5p4dkFZaJf9lsjc2Le3re5bV60QUqvrb3DMDp7JLC5Qz3TiP56bH2Aco0eWkGDRv9QOAW5KOgcivuEhywef//0vq9SwaScbY3gxph3OusaiKdnJVsTJluksWxXS21NMAQzEXv5MhB7i1TY2Cpv2YuBDk7EhvK09O2ISUUVFBr07qS/y2E23FTqDs2XT3+qKhDtG7PRXWTxjPU23aMiKmrnXeE6d99m52beNhcQMawRJJR8CbXg3nmi6WG1WNgy8THlqDYxlKwUbpVLJYAznLoYiNC+vrYbklJG8dRjnj9qbVGEnO4cFS9BbKflTarp0rRcgBTyOtlPswCtY9ircWr5G35NuPCmUqdD7KOyBSljawwyiwEx5J1CTBVmfKGMZUTMH3FaL/T+de3PCIl3wLfmqItJgqG3deZyX2AhXkLo/ULt0yqXwIaeI83uKkqweva+97Ib4GSL9uqpg05iTk6DUg/8nnsV/fKL 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: From: "Liam R. Howlett" If RCU is enabled and the tree isn't locked, just warn the user and avoid crashing the kernel. Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index 204d7941a39ec..ed92abf4c1fb5 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -616,7 +616,7 @@ static inline void mt_clear_in_rcu(struct maple_tree *mt) return; if (mt_external_lock(mt)) { - BUG_ON(!mt_lock_is_held(mt)); + WARN_ON(!mt_lock_is_held(mt)); mt->ma_flags &= ~MT_FLAGS_USE_RCU; } else { mtree_lock(mt); @@ -635,7 +635,7 @@ static inline void mt_set_in_rcu(struct maple_tree *mt) return; if (mt_external_lock(mt)) { - BUG_ON(!mt_lock_is_held(mt)); + WARN_ON(!mt_lock_is_held(mt)); mt->ma_flags |= MT_FLAGS_USE_RCU; } else { mtree_lock(mt); From patchwork Fri May 12 18:20:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239615 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 BC7DAC77B7F for ; Fri, 12 May 2023 18:21:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4BD5B6B0099; Fri, 12 May 2023 14:21:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 41F866B009A; Fri, 12 May 2023 14:21:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1FCC96B009B; Fri, 12 May 2023 14:21:25 -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 0978A6B0099 for ; Fri, 12 May 2023 14:21:25 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id C86A140E34 for ; Fri, 12 May 2023 18:21:24 +0000 (UTC) X-FDA: 80782420488.25.7BFCD80 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 6663D180002 for ; Fri, 12 May 2023 18:21:21 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=XhdNmCpr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=winjMvtx; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915681; 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:dkim-signature; bh=A/hWRGZ+r+UMcw2/v9TIxTDIJ+JR1dErT7KveUbbwtw=; b=vxRJIHP1KbeS91inF9w0P1FPB/iveglcGKImby8J7aYBnKWVRlvxZsI2f3+aRipZFaH7/x MJHJouN+nI6gNbN3YYfgdR+4bLicINVnkRlIAeWqTv23lGvBLTUmve2qcjRm2A2BhplRSo YcPnB2r5shY6WE8NoC5hxUhbgsSZ5Zg= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=XhdNmCpr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=winjMvtx; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915681; a=rsa-sha256; cv=pass; b=iJMm3rtwg27AOFJzOJoxpxVDMoxdeJ8KF/rmGTSXm6P0u9gWQUJiYgLQOw7L34FJaRvHH3 3fgMBbmGULf7Mk/yJ4s9pNKbMM8ylRm+cg5gZm1uN58jGCMbUpsAi5zE8itH/pyQeo9o1D Y/OLRXoQvO5f/gGuJITtABlarpjqvpc= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4khv023043; Fri, 12 May 2023 18:21:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=A/hWRGZ+r+UMcw2/v9TIxTDIJ+JR1dErT7KveUbbwtw=; b=XhdNmCprztNiPbOY22bYEt11AdWJidXr+P/4xvB9MVf5oHABG6XUENoVIVaxsTsuO9wH WHnVYSpQS2IYk2qtcTSQFAoO/OJo56bnb1jjeaoQrPjsi0j8ykzgpS3CtdwMB5PAM9BN By10ubKMPRXsAqlQXo2rxROeM+xoN6gvvFxHVU/GZCSvCrIwbYR76Hs//289xaXlahYx kbwXapp5fHsVgnchYoiq9I1Mq6jyrK6nHAxBvPsT7lkTxI8lh1A0dsQJam6VFs0puG3+ ofzj9SLWkF3ibmyaC2zmClNLSZQoUl/ZC7D0TO6TJ8djtB5MCmc1EKVPAHJVP8Y/DLeH zw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77gbq1m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:19 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH5evc018237; Fri, 12 May 2023 18:21:18 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2104.outbound.protection.outlook.com [104.47.55.104]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf77mjkgb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nINz1+w7Fz81l3mBFUCKCkRaIAIQOZJTj+iRdI5O4Vi3EnD9XVVVs9PLiRoXWYex+aHJy1pk3KlHhBPx0unwxabGJFjFgA9HlCUB3X1fRZSE+e8K7o3J6pbtNwPuqBK1Df+Cbhbx8aSM44lzy8NPYNQCgzOXJ0H7x34JhE66w7yT3L9ARTFrJkbgaoYWOuZfAi0pLDqnL9Ml/6oLFM2TChJ0onyfnXAq0hh/FDo9m/u72b8P9JTwHbwHvWFudGwd5LqOGTYh9B8QfhVZSCvw3C6Xo5bGx/J4WVcFpnpIrQV+poOj3jrEl9X6sLFI3EQCfCGnH9AmYkBTJZYbbSCUSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=A/hWRGZ+r+UMcw2/v9TIxTDIJ+JR1dErT7KveUbbwtw=; b=H+Qxvaarn8oja/xPBExlewsF9GVlK3wKUx18qS8rLbNCwkcsosZoQkP3c/bFDHreNQdg+aj7dFdtTPjac7HtQ2yX+iQw6zS2rnZTKd3RtNtDfp9LdphcxgNJsVy7LWWtTgsdbtrHzPtcueaAVey2TPbCs6yiyO9ag56e0GFmFKWbiWE2lwOkPlk1ecj1kcaDkWNYDjjUqew9Bzunj+HgmKZEQnHn96s5v3lhuYS/Qc2PW4NCHtgTJocxmemilFlfTwenKAEXqsIhOx/c8dy9TjrKCQHhoUC2aVinWTuiT+B8aG80J98sq2f3NUpnjqJjCUfiWjzdePZpclat8OdHZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A/hWRGZ+r+UMcw2/v9TIxTDIJ+JR1dErT7KveUbbwtw=; b=winjMvtxhbERkjYdEasM4gJXzMpqe0Y1Jq0u9w3XxHo6jVjRPwHRdnMY7BZleRU3d5PyfOt+GeUgbaXpIXYs8jnzFTL09lDVTplOhfDXgXVYzjxpOVWCGhMnK7XrgELLLKmNmZwt5S4f9fyllNyKda7Jbdt5PNbScyy1mpC9h04= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:16 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:13 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , "Liam R . Howlett" Subject: [PATCH v3 09/35] maple_tree: Convert debug code to use MT_WARN_ON() and MAS_WARN_ON() Date: Fri, 12 May 2023 14:20:10 -0400 Message-Id: <20230512182036.359030-10-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0036.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fe::27) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: cc8385dc-dca3-4afc-160e-08db5315ab62 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j5oYBhjlHT9Z761apDY9CkT1BchBEb/Ds+XngQZ207JZDtqHoJHORkznHEQsXZt9wwB7CXR5Vg5L1DVoG3D1Ue7tyV722Mcf9sNMXcXf4zIdUyHuC2miKrkH7nxASP9nm+Qqlwiue1KSccnXyZFrgchH6x4BT8Jx/j23jjYvYk/pzCYrPtnJDGiGKMOuNZhSiyYzK3bcCvww0zKMgV6gtq5IbzEnB+G/d3J2o4bkxaFLo/mtaR9Dt8jspEiSGEaMo5WuermrV7njSfVdzK2hu+qY6QjZGAiHXtKYMrFSlZDQYG57dZWb8Uw0JeLt5PSTL55xD+pOtMI/RwbLDynpgsS13eUGMmWh1h/lJ/gBrrVowitGMZnzBqSR2xoN6JJB+WE2JQWAzeVfUdxKXynXMSQswluSxL80unuXOf0DJVThhV+NvVnf5YH0VxiXk1zcKVUEevVsSguowWLkT/T5j+D8mPi4/1u6LiJA1uVPcyH+5lhxQmsH+7Ib6uC3D+M2EUFgG7EOB1Zl7xD+4JqpvKveGt4DqbAGJu+NUdQISRT3Cj3wlM3uiU1jftqyqUJV X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(54906003)(1076003)(86362001)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: NIJZfOQl3U3NRMWb0mvcVKVYLjLSu/6+xDMZeyiC3blzBV4cdrR4Wm5epoq0hy8N1mLw9pnll0IUOCWQ+b2ThRTJBE0CjTbUc3dXZC9/ShdNJoGlgnCvn+iyCMD6AfwgcZImrn/5ak2nuvPQn22//5moE8xyueFx56Jl8lGzE6IHLGSVijM3V5qxXfJqzhQ31h+5mkUJ+41Lkp44ZVpuEx/PPpNikP/bkPKRdKzZhajpvv8nGD/qrLdGlhLasANrPEmpe5prBH3cjaah6vEKvOFq2fAKB4z0A566mQVrZAJwHfLnT3g4/VDEJoFKPbzFZdJUH511oJr+B/JzPfUz1vs9HSvdG2L1iKx4oMjRmo0UVeC1l4E9fJ+KExmzT4NlwnAtjf5jfMjQvbzblvP08zzQCcbjXgon1nXVWOX2uIZpAkBP1/Tgc/j7AnL3Yf+Br2Wz+8yhVU3iVYf/SSgb2WlUcdHWCI9ex/Dqx87GeGNgHCOKkGUS6DHCmZYIIWkPdAOzaaNY7Nlx+cV4MeCmCEiieFSsTbOrrZjyVVLrQ/x2+f3dSMhSMHwcKaZEyyX3UjWjLJpBWDKTsgvDPMxOGNcwBIzfKEnhtSeutxky3M7pp1J1JUJiAoUuhl6LRyDLzw7WEqhSj9PA1NYI/ZJtyBRHS195mZT6cccM0HeKK3Q49dWCHi8WIu30vCO7QaZ7vakDJ0A/3J9ByMAMeGvO3CnVkeHnOEav7UefliUZmTgNESkox6cNbLBWAmnrP+724hkb+2iv1JVPWhyA6jCXNm6D9Uud5syQnLZsMz1D/rOzGrgDCexv8KjcotL4t+XTkWNSJxRgllz1aRpjJnfPT8RapZ3FdrsAp/H0kIEsznTLcUO2B+ZhfrQaPlGYrh/Oxg/Xh8YGCT+yLz/KLQR8jnppDysAar7lu/223ictDAzo2ugF0qiWo2vsCE3h+uV1fD14FjNpH8qU6HJGjk0ZQiHD/45pQNDEDYoeL3HTHcln3Wn/hHce6m0RSVOjiogX+rXQSi5wCUFh7FsJkZSAWExmInMP21Y8+2CK2PsIbRZZEjA33SWdbYgPmprbkTrGWeLIftGEsuRgKgOAHVz/8yPkkaYdlQHy55cf/rs8Baco5CZRIRr9CmYPGMHsZmdC7hfJwNyEAxARay48a2QOEavJEGtrbAXhv4glOrsPtbW/Sx0Hv2D1BFtp6SG/ftLV4PGm9gRlTOOPyBs1/kH6i/WXPjUaF1EQGlwjdE0/9vGGP9TblcwBqZV5EWQF0KG5Xw6IZuSZxEL8iIvx6slNm53af5eaM3ZnlL7ghmRmepfPNvlsAPqQJla4iYNu/2jcrTlzi1P55ZF2zwzeIVkeDEliE/FolaJLDzN0UTsXBSQX8uAbkrhPVUsaT18+8TVtyBND+secnn2IAAIa0oe1e1uWUCLxTgJ6MFuWTCAXdkjh0LL3GGVS2PIgK/G7DyCxyDZey/4zF8R3MBFrpF3/fvW4Lvd0VWovdM+7TxcPfC14Vg0KqBJ1HdSrYk3lVZ6TKjLg3/E0yG5VMcEBUocw/6YyfykVmBkT7sZxqam/JFzwFdQ0KoI+XBF7dwFFbh2nd8LuH99pfxnLzo0wCbO3HA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9Gu+QEPkRgjYpRywp7QhOjXCGEkdBB/dPQAHihRou2qUF7zODnGGP/+WhLomOajj4id3L9XkS0DHGu4/BHRgoykqiSSrB0LU79Xq9/gRTbTVXqtzqDUI0l+wIxjRO/jyaty9h1QCdVwbKDfnJ8kv9dkwx2wtK74e1/OThdL5Xqc2k5j2lHiGMGw8KxXUMZ7D1LkqH9VQmznhOpkLgOx6oNleht4bqht78q1JLiPeJipFNZzLh72HmZgTVRYLVSkXPtjN9BL8us3O8YcCs8eMVbyw6igobkGylW4OZewQt4HYcEJIYcbKoo4x+HwFl6iHEZhRXGzc+1m4wL1UI/oyKmOm/zsM21rCK7stcKuLrpMy5Ykd1iW+g7XxCI3osGkXPk408R1wsHupJvikdBD0WYPTgUb4evH/LMgPNehwkzTUh1NsbBY0SjkzY2imX+stFoHR5TJiBv+lvyNvx8SiuzXskf+koQAs0h34deoIb7XgZSP4/Abd33Gnp/+NLKdJl4jtucdeb8OdWehEUmRkCrE9yeT42KLqK8/qS4EeFEL7Smw0BamHkJ2XzHSLdv7Q7ZjBYau0W1LDPfzeZGWTTWKgC6nf1CGeNfOZNWuza+4nLhAkD+9YVHDZTKwTCHW72pVvoSVaWYgTag97kMZkqzQX//ru7fZI3OwmgjbHLz8EdqKudRq8f/CIRlvgTPigMAI2ioDtTPrHWj2wZ4uNZdmdqJuPaGHWgroCaFDscaXcXJflB/5pTQ9H2ydM7kx0PnQkohnkO6lw8itAkk0zLtzP/bZ3ui09nhxwHLALXeY4zqD20MVrn1q69ONY6Y8jL5yjz1ZaAlD9i/t+b+VdYTWqA+dPF4kn5DsNCTMRQrMlnFjk1svC4O2SAqO8O2d8jwTR2HQ7PcuP153VsPGKUg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc8385dc-dca3-4afc-160e-08db5315ab62 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:13.8790 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kQ9o4o3INAtCaW8ujKhBVsFxzOW3V4uRpH4JEgCGcEDEd2J0aziC9T0rkVvlOCnmzGbb+HX4jSpMAEJrS9NKYg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: 4A_otSfq3BCvFwcrPSxyoZdN5gDbAVIc X-Proofpoint-ORIG-GUID: 4A_otSfq3BCvFwcrPSxyoZdN5gDbAVIc X-Stat-Signature: 5psq7pkp7mmj55q7wkqzj5zx9i37jang X-Rspam-User: X-Rspamd-Queue-Id: 6663D180002 X-Rspamd-Server: rspam07 X-HE-Tag: 1683915681-597512 X-HE-Meta: U2FsdGVkX180j07bmqBaGbmgMhc58Bj3F4Y009+7t5o7fBWFeLNEHNfmKnjeJiqP304ejjpDyG9cOuuFNKb19D9TAdrI628MnjUon1/n1PLYYF0/14rsVACq73YAOb7pyYG4cbkeQCL59u4brB55jMqyQbgQrw0n20wLoYuMYuSlkF3TWQTe30gMrUY9y4qjPk8gmsIoq/RN/YarEMVVi7FfW139u5M71TTpz1A+kaLFQ6KYLo1+G+6vKLeo2S2aYd9XHDajq08za9e/9hhodhTKYnI8Kgcsio/bfWSM1rCjHKK/MY9UMJQqT5n+TDUMm2N1BhbxQ/D6cIPLoanZU3eiMNTjdC/vaWZGGeUeMpz5tvbGu4sh/r/Pqw9n5FykD2DD/kY+zxM75I+8nazaeV8K7zIkdzAC+I2dCWhPbWeUH5VNDtHy2YhjR89xNFlB2BT37xRl43IUsquxB+oCFwgf0PVWcAAH++8mDJSokutA5X5FNOl9lgdwnSRrc/ZlQCqKtLo0UVk6r4vm+Y2C17GJ8Q6LSSb8f/6eLSucAnflu2/d2v81q/wC1UZpG90LvOOeK7OGEV3+n3BK/EP4nKo0Qub2vMu5kvlUUW1SYGc2sT9barSpqVo5RGR4aOQEvZlDO6Pcu5QlR7dxR4oiQUc8h3frbtjikE4NLVqmNQcUcIXzd0AcGJq9RO4uHg5bbpyllFmEc0RzUWA1MGKLXj86zvtniG2drsdrgEDgxV++oe3l4D/Q5ka2HuhDHP7NMwns99qEn5vh5P5lIwydqF5Yw8FAcnLCQxwSv5Xo0pyzK0qYDfZYIzE84XKFajyYPL3eQdVgWX8khpcYbVuQ/ymKkSp7OtKZMsCmG8eqnWVit9426Hw4PRvAniWLtCTQeXnslP8g6YRD5wbzxTOmHuMUoj215ZiNata1k8P5qOT+fycoH2L1IlGKGsGpyegnabL5fTJyRMuPOZSLZQg F8c94ngs wJPWJziRjx+NCxKfiN0uNJ/7XDD2wzxcInc8bogbrEFcEN6zjhZBfLfHaJUY8JTocfn5UHcDTsU0f4OXWy1IU36+STxzcBX47PhvK23bVjgG9fJqQE4MpRxH7DToZdCnDaEfWxl1N3LIczLj8jvtQf6jVq4YutSzy+O0A0Nl99k0eBIPK0tIgRejQLXU1T4igNUtde4JIDdo9d3weGKwmYqvCxYY6m/QjIy0s86r/zhiZtNpuAHWaLCy0+gQ34DSuGmp6ivy/DUAS/PVJar+whyo05PGzRLJxiOHGpwKsG9r9uKw5EwX7yhm7nto4qBsdQCuuLwVLvqYBAEAYGw1LnsDnqpy6NSwsaaz1/r7f+4AKTPlqrB8gn46RYFdj//YD1WTsmltfqnnZlvo8Y120nKdzV9RvwcxwPl7L8ifYuVK2GQc= 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: From: "Liam R. Howlett" Using MT_WARN_ON() allows for the removal of if statements before logging. Using MAS_WARN_ON() will provide more information when issues are encountered. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index c3ce2bc594123..8fd83f21caf00 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5698,9 +5698,9 @@ void *mas_store(struct ma_state *mas, void *entry) trace_ma_write(__func__, mas, 0, entry); #ifdef CONFIG_DEBUG_MAPLE_TREE - if (mas->index > mas->last) + if (MAS_WARN_ON(mas, mas->index > mas->last)) pr_err("Error %lX > %lX %p\n", mas->index, mas->last, entry); - MT_BUG_ON(mas->tree, mas->index > mas->last); + if (mas->index > mas->last) { mas_set_err(mas, -EINVAL); return NULL; @@ -6529,10 +6529,9 @@ void *mt_find(struct maple_tree *mt, unsigned long *index, unsigned long max) if (likely(entry)) { *index = mas.last + 1; #ifdef CONFIG_DEBUG_MAPLE_TREE - if ((*index) && (*index) <= copy) + if (MT_WARN_ON(mt, (*index) && ((*index) <= copy))) pr_err("index not increased! %lx <= %lx\n", *index, copy); - MT_BUG_ON(mt, (*index) && ((*index) <= copy)); #endif } @@ -6678,7 +6677,7 @@ static inline void *mas_first_entry(struct ma_state *mas, struct maple_node *mn, max = mas->max; mas->offset = 0; while (likely(!ma_is_leaf(mt))) { - MT_BUG_ON(mas->tree, mte_dead_node(mas->node)); + MAS_WARN_ON(mas, mte_dead_node(mas->node)); slots = ma_slots(mn, mt); entry = mas_slot(mas, slots, 0); pivots = ma_pivots(mn, mt); @@ -6689,7 +6688,7 @@ static inline void *mas_first_entry(struct ma_state *mas, struct maple_node *mn, mn = mas_mn(mas); mt = mte_node_type(mas->node); } - MT_BUG_ON(mas->tree, mte_dead_node(mas->node)); + MAS_WARN_ON(mas, mte_dead_node(mas->node)); mas->max = max; slots = ma_slots(mn, mt); @@ -7133,18 +7132,18 @@ static void mas_validate_limits(struct ma_state *mas) if (prev_piv > piv) { pr_err("%p[%u] piv %lu < prev_piv %lu\n", mas_mn(mas), i, piv, prev_piv); - MT_BUG_ON(mas->tree, piv < prev_piv); + MAS_WARN_ON(mas, piv < prev_piv); } if (piv < mas->min) { pr_err("%p[%u] %lu < %lu\n", mas_mn(mas), i, piv, mas->min); - MT_BUG_ON(mas->tree, piv < mas->min); + MAS_WARN_ON(mas, piv < mas->min); } if (piv > mas->max) { pr_err("%p[%u] %lu > %lu\n", mas_mn(mas), i, piv, mas->max); - MT_BUG_ON(mas->tree, piv > mas->max); + MAS_WARN_ON(mas, piv > mas->max); } prev_piv = piv; if (piv == mas->max) @@ -7167,7 +7166,7 @@ static void mas_validate_limits(struct ma_state *mas) pr_err("%p[%u] should not have piv %lu\n", mas_mn(mas), i, piv); - MT_BUG_ON(mas->tree, i < mt_pivots[type] - 1); + MAS_WARN_ON(mas, i < mt_pivots[type] - 1); } } } @@ -7226,16 +7225,15 @@ void mt_validate(struct maple_tree *mt) mas_first_entry(&mas, mas_mn(&mas), ULONG_MAX, mte_node_type(mas.node)); while (!mas_is_none(&mas)) { - MT_BUG_ON(mas.tree, mte_dead_node(mas.node)); + MAS_WARN_ON(&mas, mte_dead_node(mas.node)); if (!mte_is_root(mas.node)) { end = mas_data_end(&mas); - if ((end < mt_min_slot_count(mas.node)) && - (mas.max != ULONG_MAX)) { + if (MAS_WARN_ON(&mas, + (end < mt_min_slot_count(mas.node)) && + (mas.max != ULONG_MAX))) { pr_err("Invalid size %u of %p\n", end, - mas_mn(&mas)); - MT_BUG_ON(mas.tree, 1); + mas_mn(&mas)); } - } mas_validate_parent_slot(&mas); mas_validate_child_slot(&mas); From patchwork Fri May 12 18:20:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239616 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 699F7C7EE23 for ; Fri, 12 May 2023 18:21:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 99F996B009C; Fri, 12 May 2023 14:21:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 928D06B009B; Fri, 12 May 2023 14:21:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6C14D6B009D; Fri, 12 May 2023 14:21:25 -0400 (EDT) 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 4F1CF6B009B for ; Fri, 12 May 2023 14:21:25 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 25923140FD4 for ; Fri, 12 May 2023 18:21:25 +0000 (UTC) X-FDA: 80782420530.25.5AD681A Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf09.hostedemail.com (Postfix) with ESMTP id AADD5140003 for ; Fri, 12 May 2023 18:21:21 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=V6E7n6im; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ofBVi7IA; spf=pass (imf09.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915681; a=rsa-sha256; cv=pass; b=jddE9hAusgP2hyijPq+tspoX9da00SvJvDRiVuJiaQKevaKPsBHyua3gmTDW4LMLJpWzjd kDjdQy0ZJJiYjsAB2jcrV0SXT5ewaTNPUrnzhi0/42nahXFTSOnIy/+d/JcIy5uUhlJcmj rP0s5Arfy/YwnHkEw12NKevwmZCOMjs= ARC-Authentication-Results: i=2; imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=V6E7n6im; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ofBVi7IA; spf=pass (imf09.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915681; 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:dkim-signature; bh=VFSQL5/0YuqNDgTT1gzifbZK16he4AsT0QLV48AYt1g=; b=KdNJoIO1prwyVH6U0my3ob5cH4CyGuV1a3FpguDxesgmhcfBe8kd425IjFqnT0e0Us296t mQ6y0RkV4fs5oPwYeylNtRdQ9ShdIAuPiIvxAj/PtmJS/lmMhx1X6vvFGEM1HVQRQ2YFBD UHpwIYwwxJ1eMjUHtrSqLkLaCWdHPHM= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4aQl021751; Fri, 12 May 2023 18:21:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=VFSQL5/0YuqNDgTT1gzifbZK16he4AsT0QLV48AYt1g=; b=V6E7n6im5d8omk5PtoFJzNeGmKm1DIBrNkYiZE/vV63L5bgezKE/6Uypn4DeQs9Eynib ty6xRHpzK5axWb4LkQKVk2vQ4T93JMrG4hdJnxkZsIMyMKULREkiWUILN2DGscrs1wSL ZzMAq7FSQIk7rhDPNMKUyimU7yBed6oNa1c9tPj3+4uGC/9r9lPMwtRhF6J6PvbH5aKy Rt8lOKdND+Ji9TpF9APRygP1js4CbECU2tvdDA39UXYlNb2PFHZZXI5p/Ke+umYkDiU+ RoUn8q2XOHuqrAFg0z5u9rFZwExiuScs8yX3pIng7j6zBlVXJonJKPo5rmi2vbxMxrLr XA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf7793h1m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:20 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH5evd018237; Fri, 12 May 2023 18:21:19 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2104.outbound.protection.outlook.com [104.47.55.104]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf77mjkgb-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QLK0A27ZZTmL9QMr4pr3Vq4HzWSd47yp/3HNaJzTKM6OJYLgOLcj1mHmGOrs+zE0PbGOdC0HtRlh6DdX43yBKBDiXZBCVIZ+y4OnL4C5H+cha6ZCWqS4fONDNzkXhpn1YSmuuoXhMuuLVh6+YAL3jNn4/1OVjQMqoQtbQ7tAg8S9c/GfNKi/hezHRk2AptuwAjuAKG6vd60XTno1MW693pPkFbBRUNupLLPm+W0BWfIMOaU6Xcp3eZAurtG+aQN3Dev835lxfePhy4qBYHquNbfk0dFiDkD7KzqwC7deGfxsfDD4033/+VdLSsX49LXeN0uuKLFxGTFBtJvwV+Pfqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VFSQL5/0YuqNDgTT1gzifbZK16he4AsT0QLV48AYt1g=; b=CJzP7aXKNxFBzx6ZuB8rY8Kqld94wiZTPnqeKkxEnxfpGKv/2eHDYsefMOgEdiT3tcKUZ78ABJLc4L9jz15s87NA9jrdEZoWKeNHKDBHshh0YktplpZFeSJ4acTKpQzF17Z5frxOfYow9JLY+DIbt56f7Dwev2A5705tXY+bmkKezw63WRE6Ry2z8WIYNB+jJRQIhJZl1Q3FTWbDs++KQ7xHcl7F/sf4ArAx+9S2f1kNX75yRaG2yjtTqHpQL5TatHRPx+iphn5Ceb5nrpdrSko9oAftiw6kyKHA/Flq8SBbtXNAOtERjrDm09qbdGOaz2Ot8rXkj9PtlAy0Q/YnPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VFSQL5/0YuqNDgTT1gzifbZK16he4AsT0QLV48AYt1g=; b=ofBVi7IA4dPY/YHK07DeND6MkK5tTxZdRiyuhhO4rSQYy17+qt55qpe7ys/sFk+T3DBrrAgSG+i7z0dLR/AFj5LBRTvu+fPwOt7qQmfA1Z4J1q3U1PxDy8JRHuCAOHLtoG+eYQS/DMCqgND+kgajhEseFylXiA9eZ9o+yNp7fy4= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:16 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:16 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 10/35] maple_tree: Use MAS_BUG_ON() when setting a leaf node as a parent Date: Fri, 12 May 2023 14:20:11 -0400 Message-Id: <20230512182036.359030-11-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1PR01CA0146.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:2f::25) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ae5e4c6-b928-473a-1104-08db5315ace9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ELJb45EpXsGs4zIhLpfIY0cc312zgNb2d35a+OtmVIxNP7vkqUybi/YHFgnqID1gUDyKtRNafTWj/tLXqunX1rYMzDFwrdE2vBdGQdSBWF0FLL6ZlDhm2iEtqmARwZOU+7TAKQlNj3aUKzk2hZf5PnljJdwnPp+hBfLIhLUYWdyjVjo0102RTu3gdVccZJj7Uz93Av90ku3hgpNhJtYeGJbUQgRBfb+wx90x0BBUrP96TtSAn+hkG5/cS/nv/jW5tN6yMt4n60FdgUhWnKMk7hsRU6Q6sTtQTzzNyDb0SeEhxyW9yGfzBT7lz5n+8uCgNQdTYr5XSCpU0cFNguxjVHVJxBC/fVq+CiGjZPsf+5I422YIKu5VVwRYFmSLXmZDK0Z/7rsLwZTGGVr/eA880Rlqf06Puwy+2tzdusGCLe6ElO2Yps2PyS7TT3SsobJjvRwDX0zv0yY56x9NsWlarcDPzW/dW0CbrpWGkJlS3r38YtjOxP5t7D5Z892jlx79KwcpTxW3fvGG/19gizo111qIswEHv98gmyKTALLbn16mYau/JrD7vCYzVUTvfw37 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: u0co7WA51Z+EUZ1jLU/LA9flGSdKwipQpkJQg+ytXtjVg7CSjTx9LgFm+bgNarsQJXKbfoRRPYgk0/LIWMkHizDPi1n4tE+cgdh7F45sIS1SCojr2k/DDe7ybuD1aOwmar+56yfgu23YmCsbMULB9oQMOZmbmoZv6f9Szssq2lqmtqBJRhGgHJBSiBz1ixbEhHOfB/DmCocCmOvJTBaDRIFOQvjrc3rfVTd/ogdItiwNYd0QHjpVEfl5YLrxKQiUzUXHedZGTaxBO1DJh+ud51opdskPQ8XF9RlTjgalO831tioglruZI7XKCI5n8xPI1QYiUaL2oG+1Xq42Fj+sq+nYgcerg1FnAwGb0C4PHkfDXAsBaopudqN93JnYAX4DRCd0NAN5ACzJ4MAYZ0wIt5AUAxwQsFcgp6Lr8NYtZHdNSufqouAkmhaK4YdIrLPXLXoh3lh/YH7ngLi4MA9+Tx0ZtnPd49LWmQYjQVNmV+iIlUNUJPkEa4qX2EPTNFEnl/lnenGbgXr9onoqKp+Y3ZrrGv9zMvJpn5ukzoPDID8MkqSlxHKNXn9LA0QD/POcra2ViM4fBwAyjXQikhsMYJZONigdhEJXwLgkVM6yMs/91ZWF31GIUdvbh3UVaJ24/aPgH+Juo8LmTWmHAQx92CUizzksNZE2xthRVFn6f4hfBJeBT9/PDL+J+KDaVcxijcUNsmQVmkxPG2qUWMMZGFBaSevQbl5D/Q8Rj9TSDy8eXCiHhiJVqQypYtH5epkrVVxNJydpADylsxCXjgImDYalAqeyVknudD+d4+5VmPOTb7JTK5hVFZL5DOd8mzjmxJtqsi3InkqLy5EanhEx19nnJbZ1QHU9Kdi8zUvywgf8gkCpFYoYtG5Pp6MkqfZQercPGSoBwtHUBwcHjSmbWQfSEQ0EvuZySTU1G39q1Jhnl0IPfzdNy0xAoX5CNABGl8O0OjTspeLL/kmucNu7mIUTGg/cZj5qyKWVMaYIsPaq+kEuxnawO+kfme4ZRUM5ZSUH6Romd/7lXolCnH0O0TFAeVlNXIRfqSu7zI5On2oKNUwzKK0dIihZ57NlKPf3Mr09ioV4yAnt/AG5bWwVJbU4fg0TWNx/KSX/zab+SXw4Y2c5HnQq4e6x0knnQOsueJovWofS95vTuRSckxJU+cezKpndOZ4N5ks9oHH7CHFzb65KLJ3zP4qKA3aooZalH60bALSWZxCFGwNPsCTL3t6YxlXEuchS/Xcn9JPiPl1fknzOUW7/PG9GfIwk4S/AoxZ5vgVdoudgGj0lCgzsOilj3ZEz5CgX72Cx8+j/kFyXTf1y++Wp8w41UOSKeIEYUpN51qWbUsOzVikcrtEV7BDoohh7aIvQLTYUR+FPp++ISxWFKTbpWbE/grJgxTCRvSLHj7gL82d5ElfOfwxDyq0sd32hcbRknfuR1uVfXfVsA3le/Wx777VXJPc0O1h4VBpACC2ehzgvxn+qRjd+hlglXwcIqL2tohtOza/GyKOzatiz1VNWpDFeKeVftSZxKAGDzj5Sq2pbvVAm1/+ffbxUZlzmhLKvzsSa8jh2rRbpGyOx3h5WVnOl+TCgN6RQxQd0M1POaJ5giYvp5o9Yjg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: YhESO8BKUPmgnnwQDjzBS0iZDJZ6j/kApRBuf8Y1AVR+t2dk+ZuvePcXCj1LrragpJim5Z0gwtewMK0EH2dkh1JQ27UkU+XvaxySKxNfl34OEERcTkEMpZ7Cwz61s5+rjkawLP+Xi+wTNhmBWTRC/a2epe7gJoAAZL6Zau/VO9fqmeWdY+J3aZue+NmsDxTaQBCbksSkUgFjMke0inrzmzrM5VoJaqK+bDNa59cT3ShDFFxcXaqn1P5GGkCKoRb1KRwSdN5q7ASFZtaIoWafgAa4CMn9L386Tov7l81Kvnw2xfRX7dw6eu4hRkC3qsloKBoDJ0sHqOUUKwl8WqhEaI0h+re1F7xjvDpWB81/cmX3ifpMD96vRWXRFt2evi1QY+tpH5YJq/PEev3cxHQjkNNPkXylIE8nLtp8qzzkQZxXA4FywURsjwgNthCs0BgUgmWSfhmLSXVXr/DioAIHzyG24ujgB4pWyWWgMNL1P7I1SVPOkLF809ZBmj0eP5B6UID8Aagz3WFe9jfpxuxCQxWHX6cBkM01rgC239cC/lV7imMUXv93ToGiq2mBCW1MJoEIgui82oSeMNmGoJ3TGaWvE+yPNFYXTzqlP54u6PVgLUmx/KHEwPYIrNt5ADC/IpnYrM7A8Dz9mz/KLMgA/D6uGSXjqCvHZBG3T7ESGBR+jnS+JZlV7zOeOSCbl2rkwnSpOZH9R4OXDCcCmKXKqplD07AWtwvYkV4Fm163KcNqQTDbAGxkA9pgbGnNjLBiqXXqswU70NILg85HQXLMVEUw7doeK2ngm5Mcclf8vOxhUzQRvTa6Cv/VW81H1S06D6wHhCDlvbhOE8Pf9UydArFeXwim2b3ab/oNJuRdOcrBXGVR9VNHbXd7wEoQXJpjDJxfyeuCLwwcx0OoNkux3Q== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ae5e4c6-b928-473a-1104-08db5315ace9 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:16.4409 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iPl+1ffQlYss0nzQzli7LFou9mVQhsEAIu3Qx0wtYlHCDaEhqs+5LwQyku3KvDR9r3+cA00N92TJpNy4QZ8ePw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: -5AjdP6ZtjfubMHhkNA_MXYGoXjM4vh3 X-Proofpoint-ORIG-GUID: -5AjdP6ZtjfubMHhkNA_MXYGoXjM4vh3 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: AADD5140003 X-Stat-Signature: wg5r6tcdigagmdjyt15kxxhsf3xarje8 X-HE-Tag: 1683915681-164533 X-HE-Meta: U2FsdGVkX1+sUGUTFQI6i96Y/leCMip9RoH/olAQ/vWJk8PfZ28csVmYWktu2X/vZwqBlmApTJ5oX/jaS8uRb+RCwPlFS4BJYETcmkJ9yCqQbWy1ejjEf2gCt5CevRJng0cnuzyy8VpmN0pGx5oUOT2T0wWVidOI2jeXPCOiVHWtTrU758UGPQcjlm6/bzeUm8fs1SxLbW1ppAXi/E34jB8bZjQFPw8sHoSjp8lSyGKR6stFR7Opp+3LJkwY59w2+7Js+NVjP/lT/2zyNlYr3e61W82v6Hr0pdJyLy2emdpgO5JyN+QH6HqH3HG2RkUlWCBpLkavhDbXdQ0UC1bnxNcqYQHppjrjhbFwd0Nt0rxxdZKJKWMlvGzQs/kLYTZ7x1a/c8WNtXetvR+AuUMhb8Rif70jtJJZXdY/8+kokkw7cDPNQ0qE/VyX98Wu7ETLh3PPe0AxVXwA9wsK53gRFVElBX6xmG3/OPHd2j8Evup0HzwhxQ2uncg5qSNvWmS12NttIqqAPaZKgbu9N/SRbMy0J1MX42VKnzxzqmPuGcsl7r8+pcq5/v7IvTCdAz7crKuUsxkaWluRRNDZapQKHqtgyV7qCBwsmBYKVT2sy1iFvZxq1EftpUyjkDQ9ymvyh5/RY3/pBit2w6rxTRlZJRxMFkADzNlOznEReOoE/HQ9wq91ZAK0sGIZkhg+oEBLu5EkN3Ss9/BhW0euxf3PDIepA1CItCL0hjYrKl8F5WtssxDY/pW1aFM19biSV/o+t5JygtPOeX+iuG71SPMZTAgCMZ/wcg+cVorq1nlYY4zxTraIVwiyiSl6vNwYdpL/XAgmypgDoUH1T1VdeQ0giy6iHJewQRNVkxtPD7ZCejBH5lKrGNl/2MKW6P9+V+rXWd+ya9H4H9eOz8L/v3qvcx+VB1PjM4n+qcl+JvPGT5Yryfp11OEgMLGPVnCpOw/KIu3+bBDSU7WkNelPy0t 51LpzMeZ X/2xW3RuHp+8k2XI3Xcl8JKJEuHIXTGrYQV+QrR3LSlNBUvuUR2om2Y3F08iPsEV+1n7jZErwEfQOR6BNvLeViiJwLVI3qQ8vo8FHW1z9HL6Cba2S6hJxbqrNbn4QLE46J7o6RDnt4RcMBfGqfGDswjAY2zIiPoJhr1v8bByDrSPD7Ly/zzVyWNfAji2QVULFobjGgfXaR6A3b+ESLE6aNCIgw0fUmSYGzC1Ybt24+EEe+PIjGwBkZhZQPByh7krO/lprLSMFl/21+WZS8zr5KDz1IIL38dt7ww7rfSUvUFD2umKZoPRkutNBi/j5XVaucAaH+EpFgIp2BIahhSJE7yHh4XB0U4ptSoeXrh3PCpUibxaKX65CvD0YCVjPtdoWNli6US9eem8TXxVoyFCl/+Zn675719sR7Qj02FMzr3WASWo= 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: Use MAS_BUG_ON() to dump the maple state and tree in the unlikely event of an issue. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 8fd83f21caf00..a594f1d88d062 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -453,7 +453,7 @@ enum maple_type mas_parent_type(struct ma_state *mas, struct maple_enode *enode) } /* - * mte_set_parent() - Set the parent node and encode the slot + * mas_set_parent() - Set the parent node and encode the slot * @enode: The encoded maple node. * @parent: The encoded maple node that is the parent of @enode. * @slot: The slot that @enode resides in @parent. @@ -462,16 +462,16 @@ enum maple_type mas_parent_type(struct ma_state *mas, struct maple_enode *enode) * parent type. */ static inline -void mte_set_parent(struct maple_enode *enode, const struct maple_enode *parent, - unsigned char slot) +void mas_set_parent(struct ma_state *mas, struct maple_enode *enode, + const struct maple_enode *parent, unsigned char slot) { unsigned long val = (unsigned long)parent; unsigned long shift; unsigned long type; enum maple_type p_type = mte_node_type(parent); - BUG_ON(p_type == maple_dense); - BUG_ON(p_type == maple_leaf_64); + MAS_BUG_ON(mas, p_type == maple_dense); + MAS_BUG_ON(mas, p_type == maple_leaf_64); switch (p_type) { case maple_range_64: @@ -1740,7 +1740,7 @@ static inline void mas_adopt_children(struct ma_state *mas, offset = ma_data_end(node, type, pivots, mas->max); do { child = mas_slot_locked(mas, slots, offset); - mte_set_parent(child, parent, offset); + mas_set_parent(mas, child, parent, offset); } while (offset--); } @@ -2705,9 +2705,9 @@ static inline void mas_set_split_parent(struct ma_state *mas, return; if ((*slot) <= split) - mte_set_parent(mas->node, left, *slot); + mas_set_parent(mas, mas->node, left, *slot); else if (right) - mte_set_parent(mas->node, right, (*slot) - split - 1); + mas_set_parent(mas, mas->node, right, (*slot) - split - 1); (*slot)++; } @@ -3104,12 +3104,12 @@ static int mas_spanning_rebalance(struct ma_state *mas, mte_node_type(mast->orig_l->node)); mast->orig_l->depth++; mab_mas_cp(mast->bn, 0, mt_slots[mast->bn->type] - 1, &l_mas, true); - mte_set_parent(left, l_mas.node, slot); + mas_set_parent(mas, left, l_mas.node, slot); if (middle) - mte_set_parent(middle, l_mas.node, ++slot); + mas_set_parent(mas, middle, l_mas.node, ++slot); if (right) - mte_set_parent(right, l_mas.node, ++slot); + mas_set_parent(mas, right, l_mas.node, ++slot); if (mas_is_root_limits(mast->l)) { new_root: @@ -3336,8 +3336,8 @@ static inline bool mas_split_final_node(struct maple_subtree_state *mast, * The Big_node data should just fit in a single node. */ ancestor = mas_new_ma_node(mas, mast->bn); - mte_set_parent(mast->l->node, ancestor, mast->l->offset); - mte_set_parent(mast->r->node, ancestor, mast->r->offset); + mas_set_parent(mas, mast->l->node, ancestor, mast->l->offset); + mas_set_parent(mas, mast->r->node, ancestor, mast->r->offset); mte_to_node(ancestor)->parent = mas_mn(mas)->parent; mast->l->node = ancestor; From patchwork Fri May 12 18:20:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239617 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 8237EC7EE26 for ; Fri, 12 May 2023 18:21:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 13BA26B009A; Fri, 12 May 2023 14:21:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C67B6B009B; Fri, 12 May 2023 14:21:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D4AC46B009D; Fri, 12 May 2023 14:21:27 -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 B70FE6B009A for ; Fri, 12 May 2023 14:21:27 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id C845BAE5EB for ; Fri, 12 May 2023 18:21:26 +0000 (UTC) X-FDA: 80782420572.30.EBB0DBD Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 7677780003 for ; Fri, 12 May 2023 18:21:23 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=ALIq9iCf; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wR7PrNy8; spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915683; 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:dkim-signature; bh=3KyBz6QjokieOxuGt50Z4gigq9psaMvhxNm998CObA4=; b=Ad7/8eZ1L8owfO/9YNvogZpiab4uBwGJvIttMnkCzPItOhkZ08Mrfua9x4tbe/P32FNvb5 DwvNdeJAknyMW4x+LkYzxdAU+C6oprHYNTeSEmaiBAKC0W50ljnCVoAubPnR3Th7d1n/En O60uWsF9iGqb4hcmjDwztRzZJfug8ys= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915683; a=rsa-sha256; cv=pass; b=MbZW/sMi42xRxo6r1FH3fPgv5NdvW+CYx1/Qx7/tLMP00GHOaATM0ypG/7AvEOBDPUy8IJ KHYh6yw1KZphUwmXMv3Rf3MdS37XuG7FK/vDZTwcnhAjS7jiRLHCNTXpRmLAI2vKxFagIH MHbH6qo3dpeBnqId1ZdKV3kA34/xoe8= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=ALIq9iCf; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wR7PrNy8; spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4Bpn002669; Fri, 12 May 2023 18:21:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=3KyBz6QjokieOxuGt50Z4gigq9psaMvhxNm998CObA4=; b=ALIq9iCf87FVCrs3NqGJpw9sU8KAVkvJbOvzFD+6jaJANXYG86Cr9j7gxo6qb0uRKtOG /Du308iFbFjz4znEnEpyaKJOG44yAYzAd/TWuXcN0NusfaAp0L7oxfLXG2SlvtWbGQVZ apMfk4Rq9R8xvDFDuViSimlb3rgA2TaX+G4QNoRblSf8T+oaD0DmJ0PeNpeUlQwPE700 DFkKylRcNNM9Sm2zSP0HQowLb2opPHwKU+CJaXO8wsKCy573KnNwl0RkcELTu9imP4CU nqtc4BeQijpxu8BtgTddx/BjVKUaM8wrowN925bYsuQ5XveWq4VRR+tpBh3pQTK3H5k9 ZQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bkvv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:22 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CIB0hl014330; Fri, 12 May 2023 18:21:21 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2100.outbound.protection.outlook.com [104.47.55.100]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8316by8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l3X2bvkJ2aHDsb2N2LRakTKO+RVMieUgscbVIgp9m4JiPGKtdvXvBoPmXz80U7EC3E1/X/GOwB00kv9ApGCIrFsdJnwHuRb+SKv5PpKJuzOb/DPJQP87NIwv9h4zMxh0HJngyFAbVDOIz1nnn389+ex1AcdvcvUg7aMCzjwEDigSzrHk5W2AqOWpEuEUtH2tur3n5mJKXBru2jCOQFaQ+TxK7XS68fD0CkyXa+R2CvlBtHTmGPFwbb8zQvlL0YDTrNv7TPCuwB13Nhwmxnx84mYfPiJuN3CAdtNLBgX9YrcXtQtzI5B3yyPm34sUnN/eLYaHyE4mMB/uPySvL0wCEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3KyBz6QjokieOxuGt50Z4gigq9psaMvhxNm998CObA4=; b=GQuIYUsmQs2c95UMiad3DWaPbwgRxmGIHg/s9eMnXu0yJ2veZ49jWl49smv7feJTD3+OXPyWZ2C42fi3wdV4ckutWeCeg1/rj53n5NYOOInQ/vzYVRzx5hncln8llW6Ubd/3FzKIvHywLtfft1H3nQ4DmZWH9VNVl9gauMhPTY7TnQj9ggxvNmduOzYl2inBBIBc7pTBsdOSmsHMlS8y7L3L/VqvQd62s7d/rozyWOCY02wr3xEDA7gWYAMWNs/YH266Fh7GbKjp6KaPwXDfXQoSTgrPErqrqmTHSlYJHt2dcEa5ewytBuzqAUOecXtECmAUkaVvhPzTCrwdJEIqIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3KyBz6QjokieOxuGt50Z4gigq9psaMvhxNm998CObA4=; b=wR7PrNy8D8fAyV7BoeVXXuekpnT/QoAWXBe0iytY8GSqlw4dD8m0G1jbM0K1gU4jzrkmVSnM4XO84+eb1bV/+urg3E6TXvnpdAc/yXkrY/e/R0vE/f6W90g4HFi/2iilXioSajsxcSg5jOB9SqC7j+w6KMIoJZQM1d69m3olGvw= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:19 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:19 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 11/35] maple_tree: Use MAS_BUG_ON() in mas_set_height() Date: Fri, 12 May 2023 14:20:12 -0400 Message-Id: <20230512182036.359030-12-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YTBP288CA0014.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:14::27) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a6977df-5ccf-4cd6-ce7f-08db5315ae93 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tVNOUEdML8btfyNAW3IOwVToOsPYMOY0AT/RktxrzlI6EjjXE6U06Km5Y8mkW80J4bQg01b49+u6mJYc5U2NoUAG3e1CwwLEqJc8CtFG42xQKS7c31HEDUqo7CWb3M/mJpx2Y0gW1rKARTgKO0D1GW0jewsG5DTehg4x4HvQ/AvB4cFYn2vKGp62mZgFWk7l4CA3DrIITsPFEgMeZCPRzFbtbheIZAsCKhdayTOO0ZEMFtAKbJsmvQdyMMtWdNHhXGE3Cc5kZ09nGy43PefLTxQmYfVRALpVgbusEMoERzFtJKlOD9YfNjxpS7t+sQC/H7P4gUXsxphrtA5DFqlVYsy29apHY4+x+X0Rs/TfL+Z2GBLVytxIgqQMB2PzW5jTBVMuyEDKmEL1ZoJsWwH3I6VWUPyRxSyjnQzVmea0Ste1s+HSMBW5hUpmJ/L9vuqsAUfulNOldImVL1i8UHjTIAtNvNS1Wy2b2MsP5yKPfCdktzXcOA7BKaqNab1UrRYgSmF/F4dUvCQ7gQPJ4FQRDXEGpFHSCknsFxZLMDe6C1eEbKQq02jaYqFByxGv3mIR X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(4744005)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qxRfDJ9Zqz/BTg5uKlxfGSjSpRa6nPIJPf1wdlCoQ4Sj96K8LHNUMDA6z0DNUYuQfHnO/8XFJX9HHl54mExQgNC5eZCWUiak7+wMYGIGeNfYe8eG9r2jM33ByIuPK1LL07MMSA6U2VkIz9dS9UCxIiN9RpVvF+C7yacV4Rth5xK07zYxVC/pMvkLAga3LuaBg6ZEsUE5sTcYCsG2ZSYvKyzAgoecAvglhrQKbDd/sitmlUTxusrscw1X0jSlJ0r9BiE6gKXziGJG0EY20gTBtX6bRrK5DxIBKX7+Gq/D+PVVjMz1YWxfPE4QtlFy2nkEaZqQvUDWbGtWFJj9Jaq0+FfxywfbDCrcF1lRQq5/qrq8nKsYczfZ7O1MIaZPcfHSLlKr2a0EQq+R70QstXnw18sIBsFMzm+f2GSoZlBeA5aTY6KaBxGDEoNbM76W1e56Tkiq/r6QNbFTRpPiMOmJX8qpvoq9z3lvUdgjQKhwcUMdbsKfK4HD6ApdxX95Z8KF2goXUBQvc/TdUu3X+7pTxaBbGl0aIL/CvzWASc+RWI8LsLCK8s6rjGV4COByn69MH6hlRg6G2oClqwvKt3+72a8Q9ZHDujpoDg3DrAS9NLEp6ultHqoD490OZgRxktfSvTplJLNAsu9NS/rC6EIwhxCYU20CKsM9s6TxA9U2o6UGcnj52SRY92NCCJ+vo7qxwHUX5mkrvBLmGaGhh/JjgzMvdVpVZeTXXk9cF+kUp71uJPB5b3ndEoBynxqzdJUIrI7Fy2wxZqRgzyi6YRze6fd2O04wQTnlOAf5ccVv1nqtkGPILTBM/0As2pqCwj1J5sSnyxDBkfoe9fvn1mNTafw5DB3F1smiA91OaEcitQGOGzOF2D7n5I1ZFNEpxW01UDLUNMg0XND11jF2N63HARbGThxjBWbwEPxeZravbOXIVtwE0uRiUQzTdVTbFJt9EImDYCTLoSnv43JNdbqS6nR7RXRCyyM/ShTbqfliqqzbi8TCTC098Qgg/tGvrfqQj7f2rrQyiLHfN3xQIIJoghZlap2/vu9wHnfXI3PBfxe7PZthimEmOaoBsuYWU+LedkLtahCfX600U1E5KyAbvfnggC99abdUTKLrjW1gqUoIbOXxyIO87IwIPBI5O8hrmOHsO/y3LloNLVl756Jx5tCmL6rto0v8XX3CLvpGaNxaMcA2hwXONv++EDNWVzT2aWvP+7f4FeWPRvliMKdmdQm81ow+WKHj5RCAth7bml2/m0lOkcqeuOH1hYkUvpLQiQFSXFUwrBnHv435OaNktQyl6aAuGB/wjsXJaRM4VYNQYEloufm10SvaxDzziJ1z4zIJX/X78BjLPhnGRRwn9uI7ucY5ywxRV2xiGqsm5XthUV50Jmxo003liHYRixMvCgmM9YjHgsh8zmh4KeiSnw6IfWhwsOs9B9eu24mCrL5X0DarjPPGgOhqozaN6SeNtjGahodQ7gmeYah/TPcayHVAvQeunqkVR6Y5FeqdPOJp6kj3yqLLXHmJ91qdGzcrZajdu87pFukhcMWK8oar7HPI6GX9wKVSgQI5vrsKyqhuZd1Vir2s5q5cNepvkuC79/OYf036eb3DngxZu97jag== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /A+ggM6GUbph3FxzcUes71UuzvbUVjTVhVtqx4zbjo4hg7FUCn+cvg5h4l0KSRWzBlyWBG0vTwW/sFsE+QWU3QaZkPEyWcq9En803IEWvc4usRQqFOVCiGstnQXpBNXofeqFNjih3n0QRaZvhTrFet47HKw7AG+unGwB3sTBItDNppIcByg/MooOcQNlLqLWb4ytUvXL2uQXHvfXxKwFD1vmf+ZwcmaQRjTFzVgdJR7CO7k7Og/Jf7aCJa8M9AbJMq15KaBEcvdiB1nkTW1DkVWkgY2mtZsy9prcvtRpcdCismRwa3NJSB1qI0nGpi1Grc5h0MrxNxSZq3G9IJc1YGno3VKeL8mt/95HXxulCakCcXj/G3HUNEJW3B1RQYWISK5SPOy+ewr/Ngr5LT9H7jv7WrbKM2wqu9o/NYabM+6xLTOFdDiF781pwrYy5ONEmHlOFmsQF1s2pJbsOMnRM+TOUjUa13C8aamFo1+1bU1xFuMR0ShuNRZbu9rC1UGEbt0YdZvKLHl9e3f67ER6YKkUaFQ3LdP6mH9tt670NVcxl3QiHMUkn2W/sJvA2JT+DPM8t1zvFB5l4UBU5S5tyUApwSZ5y846rKco+caxbVfHW6ogoFp7mnVLPg1eCSzmKdKLCHFn0AGv8q464lF6jnv/az/AyhQZqYFAGKSa3ljxGxri/a8KjUJ1y73GskUC4uVmtrsmtkBUItCsnqWWSl8vanZO2x+6iB4bYUFXTQKQCzh3J+aDsyRkqnT+WMLIZ65rYNt3GeG7don+uuXVDwxjhc0Y4S3g95DWEx+HBeKYA44o/7yvCF9B29xkIsXlm08UB/w0YJjokvl61EzV43B78Wme0i/7enD5j25bc82ZxwGiIAcX1EhYMDoS6A82BwPMS/jFL3+yTYe1jieEkw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a6977df-5ccf-4cd6-ce7f-08db5315ae93 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:19.2846 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: by3TQI7WU67KRdMSvTDbGm9UcXQBwueuwOvmZnhTCCk306CwotNuXCv8JxIxvPKsw82CihEwUX7pPI14FByy6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: IgeygpR4ydOn6ZIdt6wleMCai0ig-Woh X-Proofpoint-ORIG-GUID: IgeygpR4ydOn6ZIdt6wleMCai0ig-Woh X-Rspamd-Queue-Id: 7677780003 X-Stat-Signature: acm1fas945h7fx1wjnche3e6fu3dy6pz X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1683915683-874962 X-HE-Meta: U2FsdGVkX18y9fYA0wsV0RXM0anysgsDoioZl2vYW6lSwOPRMCPb55hxKuWJCF+KUmlUMSR0PPcE00FakcJrapw0Q8i7842M67fYGUeioKcQI75xObmYKgY9UFqYQbD1DmUE0TF2CyChBGbF5ytLf9cSd51aiRp6lpZdSkLJdcww4ThvTfWruq5LggX/rZXdDYdcFLL4+2BYwtuZLkO97rAHegfR3gYwtyYi4MNiBde3hpQnfkIui7wZoZ+nYos/jsyG+kKretPU0giLpybk9Br49oj1dNpjUPg4DHPeHdPIpoMZXJRcYU5CDJRdbfRkK40wuJEyAgcKyqgiOhPragXAJ+G2MXlCmBsBpJ3+2ONNNj+Cfnkemw/t/4pcQ6F8UZjzci82ZFxd0dASQ1pLS9tXyHqVv45/O4PZV7yC1EcI4Rbw7npxg4F/dREj5m+nZqtmZBBgLywUKW8jdqAPnO21sQawig0i+Gzc+ks2BlXgYpQ+YhXQCnxYzui+RKNbMT2r3cv6HYwNyTetPZlAORF01tN7XFrKyRausjSKup4+PS7R4yOrR12XEOzh6onHqbouX2g3f5ieFGUOi59jAuzopoum3xeCjxHv9jRbS9vzn9nfshdJcMl/OlbZEEb0bIMTT5LGd5+0QzeNrfWkn8MqQpsdp6Xf1X/vemzrU7a/cVCxC+mcUoKwOawmcKR/8qTGaz7F+4r+MyLSLQHkdjqmuAmZz+oQJNwlv2jS+9pMKBlxWM4YxvJrvBcRi2wS9aHCL3SzoDvcb79SY50rb6MD8SC9sJ7rllgU0ovzRXx0Ddo4paVSkiwAEiROpRTvdIfPV3LPuXFYQ8TLiuJcDvYeE6S/hI+sAm8YK/7KPg3I55n4ZST2RAuG1fGaStgB6F85mUKNKOUjy2i7JhS6fPPaE7Mp66MN7faqh9pFt4Ah4+9K3DDeKJo41pjBeGOrkkabHRjp/y/dtl7ANCM 5oDv4RBY +OWGxo50k0a1SsWyHuqF7vgWAqAuFFuUVhtHnOM24EZ2Tul2qZgtoX+0Ae8z1GVj9b/OmC702EKDC4pnJF/Mg4voppCVT+7kFpk3PzX7xnYehtYBrrleZyAxMkn1ZwhOpQg59zsIluSAVly/XXswLG6m20pjO5En31BefsedDqdZxeICNiBNjOiV/zjziSgQiX7+38P12KzTiwbbYRviTmZRwtK5pamulRGeM7BGES51sJAuhdcY021tU7UyaxshhWlh99tboAqrTBOeLseW7OJvOsB/iP7ukfT1Ra+G2lgZB0ySbWaLmB3ASxuzSPN5s49MqzWY8bPHKaj82zryLjM24P5xTFjWzqK7U47Iw5Wj7YxIaaZpktCG9ecv91mejdY6Za30jJZdBrcK5rLbRV7HtWbcz6hRZo+nbGM3TOPAF3Dk= 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: Use MAS_BUG_ON() instead of MT_BUG_ON() to get the maple state information. In the unlikely event of a tree height of > 31, try to increase the probability of useful information being logged. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index a594f1d88d062..da441042ec8ac 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -194,7 +194,7 @@ static void mas_set_height(struct ma_state *mas) unsigned int new_flags = mas->tree->ma_flags; new_flags &= ~MT_FLAGS_HEIGHT_MASK; - MT_BUG_ON(mas->tree, mas->depth > MAPLE_HEIGHT_MAX); + MAS_BUG_ON(mas, mas->depth > MAPLE_HEIGHT_MAX); new_flags |= mas->depth << MT_FLAGS_HEIGHT_OFFSET; mas->tree->ma_flags = new_flags; } From patchwork Fri May 12 18:20:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239619 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 06E33C7EE23 for ; Fri, 12 May 2023 18:21:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 227926B009D; Fri, 12 May 2023 14:21:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 188146B009F; Fri, 12 May 2023 14:21:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA8D96B00A0; Fri, 12 May 2023 14:21:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id CA3D66B009D for ; Fri, 12 May 2023 14:21:30 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9441B80FBB for ; Fri, 12 May 2023 18:21:30 +0000 (UTC) X-FDA: 80782420740.24.B6A375F Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 21C3480018 for ; Fri, 12 May 2023 18:21:26 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Sxwqt+1E; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=kaXX6Pw2; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915687; 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:dkim-signature; bh=d6ZJYb7OBgZ8fLZD1qapOKPbyb6wU+xw9GGDQ21f5yA=; b=4enbvbLzITEwNuOO682n1RJrz5ZaZUN6jGjiRd7Dt3E8WbuLy6PVShieN/N24vTpcHEc9W zEjXmheRVxG+EdF3iP4oUgZWSMLtaGFDHm5I6uqVih+N4ySng3g89ShXJCIKfs8ps3j3mE LA8PueEqVp9ud6DCyoiVBvWop+ehQsA= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Sxwqt+1E; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=kaXX6Pw2; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915687; a=rsa-sha256; cv=pass; b=QVA4Eqoyu1pCRKDg9SyS7Xq8xl/IHmY97z73xJ3mJaCi4G8hhMarHAROnkHOQs+LNBkE7L YLdtuwALUfujZuvNKrAzsSsrNpyF0XjJXDeRu/LhSSHqE2Pm4dnQq8tQTj8CTv6gXBpvku P8ZIiRy+56YLmpCEBE/KfR2d5WT/Niw= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4iCj027793; Fri, 12 May 2023 18:21:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=d6ZJYb7OBgZ8fLZD1qapOKPbyb6wU+xw9GGDQ21f5yA=; b=Sxwqt+1EDwvNDay/u10va+WPzrRzTjeGJIO9FBLkvTse+a+RhcBrSnhxNCbOvNtxgc20 VX9paKr70Y/al9ANowcK6rbLJMI2q3TLRauAaMp5LMLETGngtZMud0DI17F22X0eUGL/ 2KZT/qTJL11LZ2omr37XS5F/FHDW/SgnjvBHEjbkKNGu6PGlCZb/LEcTPv4RzltN3Pxc 39h24760i3ZzxjezIH1Gy1CvOVF1uLKIlECdBaKD3Mnn7tUahoGZ4R3I2kEfxxe91CyO 90p4JFS2hDwtlGLGggz82LiuhILxaaMJgTLny/i2vzcFLJ5IPz0/j62XqU5dC1OLE3iA Fg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77cbpvs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:25 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CI4UCZ024228; Fri, 12 May 2023 18:21:24 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2108.outbound.protection.outlook.com [104.47.55.108]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7y8gtfm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mTAt374kAYRryPiI+UrInZLfBReLlyv6yggi6daUorD9MSPCEJMn/GY6riZ7kl3fMMjjr+uB9iDc8Ohbpskq1497hmwGSPPtJwho71bQei2R3E4W71jXSGnpsEgVlMHv++XTnYOA2b5UDFibMTLIqDDHAlmm/4ATAf0ui0knIfKRrZCLt60mfGPojM/PpvSehc1reAdBfbbJquhrPKDyUd71Ol6kTo3mbaSeEanbiROSWbUiUOtw1bAKO0vM9mpetU0L1p78ML/fI0MC/B1BRAvmsdXfPbJn3X65KV9QpBQLGjsmeHP4RWunHPbeeyLBAE8EuktoSUfvzAiPhdM47A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=d6ZJYb7OBgZ8fLZD1qapOKPbyb6wU+xw9GGDQ21f5yA=; b=RSBU1D3QRF0NXmJWBkotxKMKRWC+kK2tdqvMCbq4+3XROiQ4vq9Ih5UGBPu2hV0APtNh9kBkE59mZqgvWpvX7dwO6uOjwohPUzRyYSJ8HaHDjIMiwT4+RnN/bLcn79PcSWG+UOWlrIwQyrL5r7LA8tyUpwvTfQHN3BnUwe0CtIpKJvbhrXITs65l4pSFW5wylW13KwJE7v0Ha18l21dTgbKMBqczDJnHC9CAema4m0Wv+GjNGnaMgLpidgzJkC17VSJvS3veto+wKQmBrQIG6LGpFovqqNXX3N84QlHRkx7krscxkLu3Bx+SUqIFqZSLNiZxjVcyUdFyBjBtNAhcmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d6ZJYb7OBgZ8fLZD1qapOKPbyb6wU+xw9GGDQ21f5yA=; b=kaXX6Pw2fd/SbxzVYy/+wmO/Fe4oUAs6vwbM2p+pPVnFkCby9CZVU3tEjw428tPSLYb3qbtXRYP8qV6ZDdg6pYzHQdbFwtBF2qrCkf5RzPX/8z+7odgNOnI6eRu1EOZTuo6UVEXWXuaPmKFq3ZDzNM6EyJPfsQDH3OujGm3REFE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:22 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:22 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 12/35] maple_tree: Use MAS_BUG_ON() from mas_topiary_range() Date: Fri, 12 May 2023 14:20:13 -0400 Message-Id: <20230512182036.359030-13-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0362.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fd::17) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: ae13e170-d695-4942-ec6a-08db5315b05f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RB2wVAQPXBWP6SG7QGQBgSBS/HrL72z5n1OijMc8sdoH06L+9k75jCsg0Xsym5fIP8aTHiJm/W3XjD3n93Q26n1YtiUGhXZbbuwOyjym1kZe6BbDZpVBt8yYmBXeSu3LeJkHB172Xv8q5UXEN/686pA1yiK1VzA/hDCwJ7juEbdp9gaP1Mj6X8BJK0pTBesrG97f9Ehe3DYHBl8qQNHXwWTYF4xMMklCMEF6DYw6fY5CJMw//KzoKTIeLjXVd2VqakiM8kPUgzv1zIa7aNqvYIHeNiy9dVtuaWDiW190TpaJrae/oxHIAom9gE5m8QKCBEu05HXBm9l8Z3WftJe8gPPi5uy7tIgf4/yMY0ElUp3QMsmUDpRNLRVPN1q5rBJBMI7tYXTHNKbKIvnPtA1iiMjYC0FVVCWVrYqJE4kpkaCsk1nTS1jPkdNwckx6cRgRATPEN7UkElLiUr+oy1jv0iMstrQxwUnYuHgvKm77gCidhKS/6Nfhn/E+EonkmeVtXrA1bCyAf2JngCYscE0ivNk3ltO7BlvP6mwjMnCPbXqKRCfwyUpANDXBqSRXe156 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(4744005)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: faozvrWHJQ++Qjd9yXLfDJEORatTeEOH+mb0aHN/xndA0/Uvpb0IsYeYM24ctKZbUepl18LQ/yRTBSej+4E78F7qcUXqSr8u13F3+a9zFH7qWvEvN1tbpehLbRVwy+be/wPVxC0R0YdKIRALbrCp4YtMlh0F6zttozZLF8yMkSLNIGN6b1n+wVa90o/JciIeoOQWUDChP7R5Ycbr7Xos+9qC7rZNExWV3dc3IjMmPSoTl3cEI75o8oboKhmV2xj8LuNFw83ULOulwA9VX4zQ30Pl/3wF3YnMvrVMBvUbhbctIAaNTj2Ip/pxLFqXqGJQLVeytP1J2dS8KK2rV/IikJ1zngN/ZJvCO9LM/7nzvS6xj40GTdzXR+5e2K0eJIm+jsEN7pdgOaoi1IhGTQXsu4h29mzZCrwhWJ2hcoXvWrXLKZc3GBNr26KHzn7xVUHOKBlXpelUeiQ84aopPpSXjf6UkGfWHI+PBqziaaZTEvagBY6LGWkAAJDozFPoygapP+OlxayRZme0VTZni+FKWisk3xCVHmIiLgMHn0rjbvzotItLJvskl/yoR6VHuIUx02I8rMz3eglaPkHLVn0imNVP0ucTyodKmXM9ETmVrLH3ME4tN7GnwT7O2tfjKAe1yfJIHFMkma4NnF62o6QU6sL9EmY+aBqpag3iy2DW9mErdNN90UQP97W4LRrhR+H+j9HYcH1DnY3Ru1rHGq7hO8VR0UYsq+oZ8h09y0NDYiBE0uZOBVtvBOpodzbySB2VN2+YUVBsHRT+0J8PUNzqPq72BfeNikTIZvRV/MJ86e0+hjcspu/K6Q83TGH0Kk1n+VpHjPlHnld1ltnlQsjSj7fhlotQ77/sctceS2LjjHSNfJPVk+Gb4Zu+6n9R76HLRfmE4dFiCyRz+aCF1LgX0ZL+dz4xW2ojgClK1Bmx7ivlZAyfne2jaoxwQy0P/cGSTf6wrB27WJzJiCcPkSBwOIQ7pSfb0sQak3rZ3N5lUawV83ewz/OLO37n1vOKx+n7l1WAjfHVJ5iL4BSxVXiZqQGMl7csGKcrzcblibrC5DXkX3Y2oGwgWH93Xx0IcYKvlgH6v/L9Cc9490Zs0ZW1qqJYNLeq3wR3lwSiLOmEwQWC0rUpND/VHNovKtXIUbC8sKTCibUVU8rkal9MrGbFuJS13BZJueQXjF1DNHgK5WdQQ9Q1GCeGghggu3QGthaqCSBDT2bPG3gIqaNu5aCH+Vv3JntW7flxFIf9zYtS5PrUmvGfEK6mnKnW+O3zEvCYjHJ2Fovk3NJKLEvWo9fH2E9EMOLXqf9LHYNmrEpQzs9RL6jGTOX6AsLO0WWb/kRRJQtIZcc2SfY6Pl9lYCD+1263xlYdWf+DPMy2n3xEna20RVMjGtS6OKGuMukMsWpeV9ghmclqv/PXfdVwCyQqBzL+yIv+DhIXffrTkVFuwmm4dM+w40Kq1ZsuDLOzW/MAEv47sqZ+UZruzENHtKOLYq8vscRPU0pHrjexHSVhlgVH9g0tWioD78Sgr90oUl5ZnHf/LfLYGkh85NEGH6ooW2SH6bCV6lGG52HQ/Guj2qe+qVaES0Tg9S/bsZp4efjCaDx3VH7kftOjHxAb1wMlCg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: DzQMrUPl6JJ1/vKQ1egR7HivfGci45jW2M5YDYxzVOy8szc5+D+wtXVTTgGCRbsLG9ThG6LIpFsAhvONXWC2hDjquN8DYB0HC8jKywQXMEAKC2pb/UjL9zUlv/o+Q7KxK30aCdU6ZUz4J5pF41KluZ0CEcAZjZRHnZpxnro6p5HEtau/CKE2JD2p0Jy9C6KWkhGz1Is0ptZNwDNb2PznbFy3E9xFLoyMO6ilrjnxE4wpNlxI2/+9B/pPMfRK1QLySeVacn+zXG5EWAaQb9CvgNM7XJjaGIMeWB+xg8VHPs2sCb/3mwsWDh1ikiBQGy6/RRvMUVTAbGfie0Kn0UYFaRh0Gp+yWP+kwhDlXtZ2y82luHe1mou2Jz+3HW7am0uQDdZkhImt1H/hOpbtVKAieRSuOyETHgEwrSkxfd2RHqlGAkU+YFeqARzZCW0L3K6SR4SmjrpQ9jRaDfeCzVex2F2t3lfe8FnJ7oMbq7SNG1YZq+DT56y8VhG9oVIgj7+kwfFpCiMaKV8KxmakVfuIIKDdF0UiwqQTE0IvWeMo90Mj4JqOgX4MxavrDQA3iShUQ3moMKCQ06vvkNUwtiP553CSskCOT3fr5465HXCHye6Hgwq9Szu3wjgqEM/IpTZcyRIgDxfSF1gl2a2ciDDOlfrXqoPK4BQ3vbCJQ0scpJ6shajMCLIuW5fq0s/8DBnvJx2H88cyfuhXnIqP0pPVTU9usjk9/Tvt9d9fWdQjTgyC/1MpHd1s4ShxZCE47JNk+EAYRGo0YV+/VrstUp/t0pkAfDQUnOQU6i+5wX8hWRP3GbiMQ27NtneC+aGbbbBVvIeGMYpptyciTd14cNL4xRqH5D/8cp89fuU3vF8mtLj3h3a5yrAaeUL5qlANNm19iB5DZMW/z5xyEm25VgIatA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae13e170-d695-4942-ec6a-08db5315b05f X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:22.2600 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +Achpth6I9Di+7F+DV79hkaPqCpwwTzTcmF4EknQHUCVvsFd8XY/YB9PCijuMS8E7gyt/pdhJWdlS7ZysLDgcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 adultscore=0 bulkscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: kABGRXxpxGBOZnBVb8ldocqmyptEoEJF X-Proofpoint-ORIG-GUID: kABGRXxpxGBOZnBVb8ldocqmyptEoEJF X-Stat-Signature: ewwb3hfkso1ifiymg3sswqmcgxsm14wc X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 21C3480018 X-Rspam-User: X-HE-Tag: 1683915686-673393 X-HE-Meta: U2FsdGVkX1/1PGG4BPl+ck56IQ6KTvSFyIUgjrHr/N8H63GWzrDr1ap2BgacqSzvK3O9MwYyz/XKb1K2qdNcvRIy41l//knQxAWZLVAFEAZgwv3br3ATz1ts+LS2LaqyFvJtsDSLq1LGrUnxg4AtyE4fs0mfPUiL2JBLfn1gVtnW1WrWSateZUzBkYkzVuddoGQ05znSIzMkUbnohSlx/dnuJQG4HKTw6Tluz6Iu1qAYXJYHqACwHwGdmI0wJ8kiPfdGLY/7VjP3ZWlxqMnDdCxlVIIhy1pjp1uRgeTY4oHjcY9ORqG/3f4SaFfGsYaohMOr6BHC0tQWJTbiAswb1kpJ8pdXTujmahjBEXE2U5B3FlK7T6QrzoF/wzuDp8St1AVxUmezy5PUYjRLYrMV30J9xyCz4K2chHATcKc7tdbDTJwKvoM5vEJb51L2dHnOLSrhVPMhi5EIfHuIxvvBPxRsztqVya6I2g5gotNCSpF+z3+XfAK72JMNyWNlOGHXfh1g9ZccYoMu/VKTSFdwXyY5tFJ48FGT/Ct+2VFZNYE84dP2s7iF7YDxDtD3PfjbJ4Iv0MB9bvdeSysdtkIYR4YVsX5GpG9rdHSHvx7lXeUMweh7vMlQqbGyLHCmbzF+VtQtGRtfa1lCC/yfA75LfLFD9xLp5p2MFC9aD8KwcZDjGBrRzpA4IG4UsAc6C2Wixx9Gl+QJbOzX6AaP9hJFyIpNkehDNsRvB4Y42307OLcfAESxd97XvyoQATeh143ktAUHnDhiLwpAQKCVjuNkG5TBfJTuuZqz+m/DMYvwrf9t0qqE+5i7yceZSQ7h9LyOsBgAXFBF12OnPjWft5TForD2bWBmrA+6i3p0cGa3Jwyhb5361beYtFDAn5XUwV9AiW5VkcyfJacENg51B7l52hnuE2YugpO/jG6ErG+B3A76bLXCU1QSlGAFp97mfc3yC+AOdIOdmn+5hMUsyUQ riciLqdA Y4bv95IoP73LgoOxHg9uLGNZxKhj7xXoj/T7yhSIB87n42xU2tPE7EdD16mReNPtYDgNZRhnddG3CUhRGBRVq/CBICvOkJquRTnWUX4/Kk6pfCAmYQ++WR8LfOOckDJobgkP1P5Cd8Tr1JUKo88EfiO3riBVNSzBQGrJI2BnJ4hKEHknU/dEpUKKTS3gbKGKtIDQ+HKwH6RiNDbaB/kX/WrDu9a+J+/YgP9KkjOLusI4OmOAepvIt9QnU+vP8d5n0L3Ricmif59G7gCm5hvLjRG92OSAH/DjJlaZlEenGKGLuh0UCOESb2kRq7cUBL2OGSO3fjkKzOeuiwC3FmFsqnKfp4JbqI6omhBlg5LN9l/jLVh9yeQu8uGBJ6a9cqJoxu7eEsHB307QiZHkDNfgDugwg3/vvaqePsFpR7bNd5OS0cPn8hC77rHCiVOvKjgDvciXYbEVIwJgU8lVq3n8UBkYvMGJerdwmkKDZ94Q3IhB45s2up5f3tXb2wQ== 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: In the even of trying to remove data from a leaf node by use of mas_topiary_range(), log the maple state. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index da441042ec8ac..824967872d426 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -2345,7 +2345,8 @@ static inline void mas_topiary_range(struct ma_state *mas, void __rcu **slots; unsigned char offset; - MT_BUG_ON(mas->tree, mte_is_leaf(mas->node)); + MAS_BUG_ON(mas, mte_is_leaf(mas->node)); + slots = ma_slots(mas_mn(mas), mte_node_type(mas->node)); for (offset = start; offset <= end; offset++) { struct maple_enode *enode = mas_slot_locked(mas, slots, offset); From patchwork Fri May 12 18:20:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239620 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 01763C77B7C for ; Fri, 12 May 2023 18:21:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D4AD66B009F; Fri, 12 May 2023 14:21:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CD3186B00A0; Fri, 12 May 2023 14:21:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A3B476B00A1; Fri, 12 May 2023 14:21:32 -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 8341F6B009F for ; Fri, 12 May 2023 14:21:32 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 496DA1A0FFF for ; Fri, 12 May 2023 18:21:32 +0000 (UTC) X-FDA: 80782420824.05.D55939D Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf28.hostedemail.com (Postfix) with ESMTP id E0483C0004 for ; Fri, 12 May 2023 18:21:28 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=VY3D3WeT; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hHlZVYFf; spf=pass (imf28.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915689; 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:dkim-signature; bh=fS3QzFuLOtxJjXjPIV+nCtOmoBdMiTTxr1dJoGyuKyc=; b=ZO+AYjSQ6k5tq9ZgjbS+FrniHDwmtEGvk8wWoH+dNwKPSd52LpS03nUMOgX2Eha9qUAGER 3lxkJ+djNejt+sZ2ArJ5a0LkZo3q2o8jwtXy1lBtDFkE+MEfGhqjRaZrnO81PyMkot6OKE ExMnQJJpV6WxOlUGVQiFKEPsnJ3RL4M= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915689; a=rsa-sha256; cv=pass; b=owJC4owMcYjzw5w5Axgm6fXY6ZB9oOG+/RTH9CxeYR1vWQtcYC0AvAfXQyAbL0MwLv2TBG G/5kpS1uYLKVRiDzkasLi4hBzL0tOLidZPAPJnQQpQgg3Bq6k2vXTjtK73fjcYn45U4RxO KsaJ21Exc6XsGG9gorCABrqjCIbNw5s= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=VY3D3WeT; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hHlZVYFf; spf=pass (imf28.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4AGc017810; Fri, 12 May 2023 18:21:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=fS3QzFuLOtxJjXjPIV+nCtOmoBdMiTTxr1dJoGyuKyc=; b=VY3D3WeTDdXZZO9mFtcbkrStY+CK75PL6OiICgyPnrc/E02PzlLOApRb1FctgA1yBuXM ZB6fqFnNTPtYohxYnIA2ZYtPJsLZRuOFjOTMNBimTJ92KfKeLYbPsMdgWmiyCi66o/gG 2s/WbeCMiKroz11arnpqlJ+AFqak3todu9SlVRgISygp8K4le0D05WohgBmrbfAlVdxN JR0YpFzMyKUPKeLstZMptCgqKkJ0b1pLBWDzgBF5TfjbEH+m/96Bm15pqUQIoGeaVFpR 0Bx7wxpzUY+s65X+Wdse/JgnOxYaDn2IcPhSVsxs6r6/dNqifkotOhG1U96j+KriaSOZ 1g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qhje7j3kb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:27 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CGbZDR011613; Fri, 12 May 2023 18:21:26 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2103.outbound.protection.outlook.com [104.47.55.103]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8156ymp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OfGrjmG16/bprGRCZmPgwyhfyp3GYMJJIVBpzSn5TbUPFc9NRNHC6vofaMNM+2HJkFzbIqq8iOisB+rS71qcYAFdj5zaDLhp6CaLSJKaYMv8oU1Lw5r+pNf0apIy54UG+QZbXAl2HA065DhP3O5uSg4GPX0BEOGyC3I42gR7VgITZxZUHjad0XEP4GZNdGtEoxxRIhA256F4mfucexLQrSLGn0yRib5WA1rSCjucF+DcAeSy0Z8BbuzYr1D4gVp2bGfUJ6GaJ7ljtNfW2Pox5Q2iApNJ3bvT0+1pz3Gao1GJsl63yfiTB4rEeAbw11Enrs1jl/nmiaYg26H59plkEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fS3QzFuLOtxJjXjPIV+nCtOmoBdMiTTxr1dJoGyuKyc=; b=m/Br/aL9RmqOYWKL+2sM7F0I6ChQCuN2M1dvR3U2fAt8Hmzq5qdoNwKFzonu12j39XRXKLA5ej/nw/ndV0c9UJtIHUupDWuUBdBc4Kz/8eiYnC4WlgYwrAiQ6XX/JkPot56fYtNV23zfl64R2793hGO2xOmkZu+8NE9CDsoYzgyBoYe5qT6HB7XJ90UGte2WDPkXE1VdDGsbDwjD4CiNIvd7X8JPXSKOk59RIXh/hcU0UyiF6CCtCEfQAmh8V3bLU4vAq5ljkTpIrhmZv3IhIgkm1h8vuciWQ8o26aJkVNr6fyquDbYF/HF5+3JBuKMqFEjfQvbKaTeQYAK1BWyEQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fS3QzFuLOtxJjXjPIV+nCtOmoBdMiTTxr1dJoGyuKyc=; b=hHlZVYFfx0+sIXLH9ZTM1XrYDUkH90YyYxzKwwsVjuryQaNDnZ1tW4Y7GgAHcEfGhxOvqjZ75N5N2WyeC2yfZYo4Yjr5kwhWMj9plAcHDnMWqs6XcTrCrnay315AU8+Oc1wyplvknrw//uVVcUgfiJ6fY/BkLXYuxK9aPt3FM2w= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:24 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:24 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 13/35] maple_tree: Use MAS_WR_BUG_ON() in mas_store_prealloc() Date: Fri, 12 May 2023 14:20:14 -0400 Message-Id: <20230512182036.359030-14-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0117.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d7::23) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: 360ee9d5-b4e6-4a8f-e74b-08db5315b1e6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OCwpBMisa1FhyJNoyry+5ICG4eRhPo+7iCKVywVCVPmhY/XOGiyJ2+IV7XV6RKXG/Xp9/kNGltgNzdWk06hQ3QoSwPnrOC7Vb/ihHPrjSLpxMyPEENifkTShmXxzzJXmHJ6qX+ppoTrq1VkN3lbmiI10VLuEgVuu+6D85QvQ2w/qgYfzpwqsa6aqYKlVeM2DHA7j52i2ubh0bdDdpPORuzglXPbXBs2fe0UJ2/X1Orf/MMGm8bgORIP3+yqMTZzL67aFZHmKYDQEyhLlzcUDbeR+p3x0zcMrQ84/0gEqD7EF16SRVoolEJ5UbSxQvv3jn9mhsJ+EBJNfF5BARyfclKDBigQ+ZJ6zdynO+jrIitM929pPjLuTDoVsiHbxbh0QSF0NKDUYGjVxnruoNhuWkN/rX7WhjkD/twUo638fOy0hPojNQLOaTCSRnsrGiznOtvLYdUBjN0SvG6o91FiOPM5w0If1krd2G74lPACfp63yyKk0hV5ssTYjvZpiBEzZraPvu3ItBI8zrvtuEp2yTJuvJ+jpzJVAi49/Ln++YbtRRjjpJV4EnmBOIQsvL9Ot X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(4744005)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UKGR4SVQESkB6ZyEpvD1u0s+5ODpiuO8U7g0a7jbOwJEFiaLY05m4qHoliZY27xP5KH3Ip+91g/lgp49Qwx891pnQJ7XxLyB85DsASargVl0Hlwr228hRAZgD8QAbNF7nGA/qqDrKmfbYdgeGWMBBICcrX8Cg4CT05YAgT3yyoElpK9TmS/4N/DzJHIizJra5T6WMjbbHZyqJ18QAteTArfJZ6ysBlppqHLBnBvCmQdCKEw5t0L5MGj6dCFOUtJ+ElXBuNsoTXkuUO4CdioS/2zR/zKLaZafYt3O9drATLoiX9jWM+oy73mdee3cQ94ZOaDweTwrqW+YwFxVsAkcdeYJZgPQION+Jzu4BajuzCLiycPlMz4L8K0aDmLGbVv+NdJSOcvzp7b2Lpul4klelNloEJbyrdRqu6syiAlsgcR41/f9Z6fgf5P9mRVsJTc12aBMQLGVYHrPdhH3mzst79O3SYtq/KXQyyZyZRvl4t2YGsSeX86wg1FoRyFXtN9Pk3gRJGrRX3fGsSocyRkUesTpBPVJt/hyo8f3Vc3y+uRkOW028i1rzNsMKPAi3MLDu+LFw0lPAXDuj9D2BGRBlM6t5jg09lop8ug3NU80OD6woZqSifjD4EjZUkwOeuIgvYbrv0j36ebfBGUtSIzYGLsNKMDNmQrWm+65dxWmW+TQEIVRFBbCpyp0B1GEOUHvjmhOgR51lXY7RnkX4/EhfDf+3jMngzxCXLBpsMxjMqTSZbXZZR67G+2rJs25b6v2bwOdlBIgxaqDhdnnuP3QLmq190JURJt/HA1VZBRujHHob1ClHT9cn9n1EkXZoGxUsH7aO/+U2aFHg+x6M4au61+J2qOrbFRV+fo2YdVDYU84vhRv4cWUkTOIFXgiXySrxxxgKVdxyu6M2/db80mT8DMu1jQyNf3wE42evI9yoLLezrCPCc7ptFtxWHoPKsk9XFAEV1mQ85Qdkbx8kHxCfKSVQON1N4o++yCWj7c3GbT1rTKaIfvGhGpQf4HFqkw61kaohIV/xi4qUKhjRKs1l20ox7TXOog0wAmJW4BLseoEW2HObA3aMSX51K81LswVZDHaB3IHFOxbYHk/kDsX6eFg2kf6q08Pqemn7Xfw/3s5EW5GaGeRrSHTe2dxhmT/bBCPn1AzQKFhvtk1bNnx1Q9HNJZqcr8mQ0cjLEGBXFpBzcaTbXMgqpn93FvrT42PB6ftAz2ja5KhPW23huMbELc28RRsGYhYIKODh5pNomvVYa14jMSrfSWPO527p4+W1pvUZVqVD2la0DLz6Txz2F+GOnxYLqmM292qR1vZgs+eXpGWvi2YMQxd9n5ow2bzfy8mzZrwnF0PKPdewBvtzLmLmmDC3VW0S84b2BBQWqnraTJttJkdWYLe3+toejEWAoRu/TaE55JRnszDoyazRYvpFEf6iU09s+Cjm0/8/uP7bNGt2+ArC0TSSdqNPt2MLdOf+HLx1WTiuBEcPISRT+4S2X3g2XIdgCtyheJHkbGEDCo5+Rxas9OupUOOluWsUV2ISISZxkGhTTeot5d4Stj+eiYSOFldg4vpQXLsrFQrjcuDrp9q6bKZteqIslPYH/V5P/Ro3McvVxibZQ0MiA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 1ovN8yw0bOqBcoXMMgd7PPfeDbhhquCEGXZcMJDSTpznw5/mcrq4DaQNVrG1Mm/wUelwlmkHP/UcgBJYLkzDhlxTNFCKqmdgI9DZudhcJqil60WzizO4WPMR0Qyaj8dDfe5mRyCvaBrZ4u6Pjou+5PG7Vo1prCA3/IWBIjhjOXpkdE/JgJx4eQ97PeluXWz0Cv5rh2smjr4JiSa+R4qwZYG1+t+cbVvD5JVnvV8B6HjsMD3Uo+RMUFea94PqkRAWADeAEeMGnoUytJnhMWg8yQFXxnRwTxjX5yZwSE2IQRaoqksDU/sIqe/PL3jZp8AMfkW7nBUopta5rZKxJS6ZGuwDQMrxoCzWyZ+uVFKMZzX1qqEyDQeHqByiLsZrXBsWKQutPXTj/grMs0mh09CDNTg/8kPX+znBdik/E6g5UapeTpItVUH1OuDx8uAHRumGDJ0DvlEFaY1uUc9pcx6Dm8kll9sQ9Wj0N9ttzMPIgMACBTNFa+pqrdGTkyH8lsfAuMr/CWq7WSNngMRh9+hiueC9eyhSkrYb/g6L5wg6+u3czKU10ILgPw27NiJTkrN+VNS+eF/hpYZQG31zNQj2OfE47SRNOMXT8Yov4WtmdXmW/ST7JrGkeJ2QRl39Xgbwx3Aw2SB1OEzeHcIqynyuxmwAfU9DthMeCdWow3drhM89xkyFVLh7cY0WH4rNcyb/mN3pcmNNce9Vu92/QtwLcy9P3oGYlZQ9WHCFIZp4x5NgUuOn9wlzjxWgF8z04eCtMtkTQCeImxCWBXcBm+G9/a0tRrhmUosvc1RHvBp1BAP6kApc/EvmNQ5pwH0WnSvuphOq3DLxMEZXgVK9VdOqgJ5slzFGroJRYomOYeuHdtjOPznHjGHxT3mSJjt/aWDuzV3HXqclus0M8uyx+hwJJQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 360ee9d5-b4e6-4a8f-e74b-08db5315b1e6 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:24.8380 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Bad98YVxUI5KKslH2jVqzYMrYvz4qkw0jRTa1nYhnFy+0shNXQ/43d01dVIZNvJAgMc+bp9RPx90fWfvZJoMpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: J0Ehsb18eLwHJv3mBAP6oqTisqhiT0Ef X-Proofpoint-GUID: J0Ehsb18eLwHJv3mBAP6oqTisqhiT0Ef X-Stat-Signature: dfoqo8rfpyrrkeacokba9hbqtazgw68y X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: E0483C0004 X-HE-Tag: 1683915688-26208 X-HE-Meta: U2FsdGVkX1/k4Lmtek+zgZc1cm/FE/IlZwMWP3j7Jjn9Ve5Ko//tNT96Ka46O8PAMIf7CQ8ISYbi5mbGB7ZXp++D0ZB76F6U/9Xgoy8mWmEt9JKa02Y/wrFg7tVkMa6lul5wGtLItGI/FnYDgECpnWwjSwXDOii3uzRz5XUeFlhiU98nruvlAnmP+k3RepzIwMe+bppv+FAJgXNJ7VhYd7WS9Q0KVPj15LDdS9aQlQ8NxCqfuywxk97UnyVjflxS4VVGIGKTUvziGTuu93Pl0u9RSGeK68Kb5HmVU/8Z01bM5xKLI3lQ0JQa/yWpJF0Xvvq2JIausxGYiJVMjlzxKY6SSQBtUhdvfhbVNXWxbd00Bb7kAYLMbckWQH4V7di7O0WT/qGckWjJTMLQeNbT74+Wh1YbpVN45Qt864C4cEDBFWodw1GkLUtLMGPq4iUjZN2VN74ep6f/Rfn6Nl/0wgGHSBfCZrw5qdbzkc7MFQhxpcobfmMcX2TfbSZGRPkFkFc9F5bAkGm87PHEZhKcPfygvJea9OXLhhcOIc1d/SSbNxVSb/eHdVda9itY0WCGbfiSWtDkBegmgeRv9opDOWJTNDTedkeL8eUZOH21oe5gq9CWqMAqdH1XrwqVqFmX7rTtKGBTMTw3i7R81vfOxbCD83JMaYk8upeK+BS/T1xUctXGFQSlEoCqOfYZBW4a1R5ZAE3qOPT/GcClqbcHlPAE7eQadiIWZc46dMkbXP57xez7PwsxGCoLhEYyWuG9wdPCRo7flvCIx9FK7Zyhjo2RsPjlK1xBwKROyXq47jQBEpW1Eb6F8IkUwd8a8CARjf8Rn7mPsd3QIEtpHxzMWrJzDubI30yMJbavnmZIlAe9Pkf1sJqHKIsgPAzJy+jof7zojL/cl3Ai0/ZkW/72VYzpsViiIUVr7czZNy+JJC4V9/5F0gFgbO5L9PogiZ2I812k+6iOBegkLuHNMTD WJ3HdLmw S7GKTfwgUfp9xzvmJGipA5AJdhqL8tBj6UnyYbqLNGVmTZE/zkYNnhr4CU5mBYke9ibGeAqNEUdYkmZ910XVSchYFjEM1ycKvNsTecB4NhOVgBq9K2epbIAs4HHC8YOlPLflEXRWYvcEkpyZK+XrUOKEwsoZCAj7+qxNsG5P9Ktc0m5BOON/5l2xlSPjteXGNxzPQ84izkT0Q5NSxTTMpdirIG4k3NGD3KMpbhUasdFeOBE2HHWR9FyO/jNYN0ytXDFVG6AWUsaBFw0su9sisDDsDa9EoaZ2Tqoi2S38lukOqyGbd15ZUNdscY/Nwb0Cg+zssODXCt/bAb3r7MbgkMtw0ScpEVaVodacswuJLvBCy73lMQzYEt99XSXdHadQ1qrm9O9XfxrFFEtBKC+QKpM0kG2SjRVjrmp3tCB4TlJJ8YnM= 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: mas_store_prealloc() should never fail, but if it does due to internal tree issues then get as much debug information as possible prior to crashing the kernel. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 824967872d426..d5ccf7bcf3b5d 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5761,7 +5761,7 @@ void mas_store_prealloc(struct ma_state *mas, void *entry) mas_wr_store_setup(&wr_mas); trace_ma_write(__func__, mas, 0, entry); mas_wr_store_entry(&wr_mas); - BUG_ON(mas_is_err(mas)); + MAS_WR_BUG_ON(&wr_mas, mas_is_err(mas)); mas_destroy(mas); } EXPORT_SYMBOL_GPL(mas_store_prealloc); From patchwork Fri May 12 18:20:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239621 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 1BA63C77B7F for ; Fri, 12 May 2023 18:21:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1DB666B00A1; Fri, 12 May 2023 14:21:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1473E6B00A2; Fri, 12 May 2023 14:21:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E7F976B00A3; Fri, 12 May 2023 14:21:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CCD0A6B00A1 for ; Fri, 12 May 2023 14:21:35 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 93B1E140FB4 for ; Fri, 12 May 2023 18:21:35 +0000 (UTC) X-FDA: 80782420950.29.0765DFC Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf20.hostedemail.com (Postfix) with ESMTP id 1BB7C1C0015 for ; Fri, 12 May 2023 18:21:31 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=EgCHd63+; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=NiO1Cqau; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915692; a=rsa-sha256; cv=pass; b=YBeTm4fTV8F7O7IIJ5bQ7OfVMOgRkpdceSf2N0id1HhlnDDA3D+OPjcCVFstwH5hHoUr2K xJNcNErHZIF/pQ2vS1RLSEE6HXkVt2/rJS/eVsXAX5EsznL7/GEmJNPU42fV3sYnf2ogeP UBB6qlyFVOixDBIWaguqCHXdMhllPxs= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=EgCHd63+; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=NiO1Cqau; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915692; 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:dkim-signature; bh=9yNU9HJW6liJ2fUnwkIAF9WIpSr2/rxcoMxVBhqd718=; b=equ4i963HxioD3dJCah33leaI0NGoMXxF2l23cgO6bNxHK7/1pliUUQ5p1fIdhV5cOOl/p 8dEz2RPglZ2c9/sHTqYmP4N50dUZa09xEjPhTcHKr1f0GPzjbJzlyQN8lvWrFWg19UfdJR SDp3nBOe9uL4nqKw4JIKrmaVmt9H7ts= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4ki0023043; Fri, 12 May 2023 18:21:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=9yNU9HJW6liJ2fUnwkIAF9WIpSr2/rxcoMxVBhqd718=; b=EgCHd63+A5j+X5QYHuz6xONyolzXGUcdWg9xcYvY1pf+BpfNmAufRyWnIN478HGSTfE6 qpPusEhb5wgVKE2cF2xjooTPMaSmcIgYJdfmoAZnFserNoaQtfKkl0iAPL9i2ZdRQgYu Q4Ha0/2+hwrHeXx8DBZgL3hGPIyHdAjngHN3R7Eww95/3lvSN0b1kSDE96aJgKWAjH2f s5gqz6FgDnjBWGVeCA2iPh7mCSR1OimA4mSaLrDmLulrh1030Dw+4iqigbZTwk750plI 0x/iXvXR7kTNn7MhJD3wyovpEn51lNIvYduO5HIyZ1LX/SdadCazG1Nc+dyYfccTfJhG rA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77gbq2e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:30 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH6CWR024148; Fri, 12 May 2023 18:21:29 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2100.outbound.protection.outlook.com [104.47.55.100]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7y8gtjf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MJHKmYSBkmVx/8X2hP3Cgk08IXWFlGiICHYXhFyJVeeNR7FwcrslKfva+s2bg12Uxif0494JMMr/6ZEYkCUgJBYxZpge/y62uGpvmhj9tpOYAg2K87XTb1KeV3n1TlHeFaBZ0VP7SF1gOCCUsoTGBEuPxENQD0pJZnyXnKJaOWPrbVbI6NSd35pWNp5bvkZ0mpckTJoU+YhPdZSFxgi/OgS/LJe6BJ2QO5/wJdkB+2VGQ/hVjA0kYIBtqYwDHtfjMSzznjpb3MFGDGZn6+Lad8aRJCplMBPf+KCzTzkdicy4I7UKT/k8m2vMhopsqS8kZpMbmB06ZCOGVZomNZHdcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9yNU9HJW6liJ2fUnwkIAF9WIpSr2/rxcoMxVBhqd718=; b=j0wiVpXid+LWigmwfCPMm/Jj0qQqgeqBkpBnD8nTAxWMWe5I3ZrxS91hzs8X7x1D9bdjqPQWJFksETIe0G8fA2lph51HnMswWBZ82k6h1khXZFYBILVNE1kgNKtrgZN0mqWKG5hax/O93X9ZNwnv2m932+R8/i7rxcpR5DVyKMzo4I6PCWPMq1jPxuZLhm0KdK09D8BgfqQFEdtvkftW+tld9i5tZVzYCpIseXpqyQfjgOISq+XJuSu6sjCRCB0E563pyprtBH41f9OxAE5kIH0fh4yqwVvML+UFOim6qDjEukZhNe25A/AtG5x4JRxwnugmR9XNMFyh4THYZMUQwg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9yNU9HJW6liJ2fUnwkIAF9WIpSr2/rxcoMxVBhqd718=; b=NiO1CqauRKrr6F1ogToC4aD11mAmTdkVvmjmYTeIs4M/FxIofWyLT96c9/sTzunRx+ZVHEms9iJeGFUYOE/YhNHHXAAcEOnBFlvw2YI3jQcNPB7F5gmeVZPUAXORV2JniVODHaIFnvN8aiM8sS2WqBtgWX9qbnTPm7HCsZeXP4c= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:27 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:27 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 14/35] maple_tree: Use MAS_BUG_ON() prior to calling mas_meta_gap() Date: Fri, 12 May 2023 14:20:15 -0400 Message-Id: <20230512182036.359030-15-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0047.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::27) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: 41f3a7e7-d6b8-4fb9-d1b1-08db5315b33b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DTJs5lyFM3/BwYcRmldEn6B2q8rIGiRe3xA96PW5hlgC0kdbqadyr4MRNrRFayN8N3g2S30FEH4rTP0eXlXk1hVHiTopKCg6pXjE7QBfu9Eo8jXJZXRv+uc35rZ6uIVH/H13znZUcwi+Glr4fQv8bGjCJVi3fYV3wx4d9cdAaX6j9lm1TtUl+Ei8+zOFNS8fzx+D36D7aUJLpV5Xq2mfaXb1+8y+GOqM0p4o/dqNNki26fYEL3BeddI87e/UXhM0W/opc+2DwFIjhVKSB/vetc8fJguAZwd2AbLcLN/wFp5kC4Iv2kciE3pCGAMMMlHzX7VcTexOUjNe6DnHmZtAYNOjzFqO0R7ZauEHEf57jR535ye9FcS3zOvwD4/3lFfx1sUFDaH9aHZkGNNkN9UHP0wDrYAtkl8BOGFDqhJ/PsjjkFkI7V5qpg3bTyY0RYpoTx4Le7jamkwPIovgSa4bFGz3BbZQam5+TL3NdN/ZO6zUO+u4gy7f1UKoE0t0l0cfZw+5TDS7lqAsxBOTU8YROiCLxigr0Xv947I0rsWapOTt8CkBNv0mEXfdysIb2UfV X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YRAKUdjPsAi0Swb8uQ7FEZLeobqbdv4PLVHkRcv9HF2npSEaMOohP5ccBIYHKQA3yRaqyonyI12ebt65n6GglDGRG257gS1bNpYpS97xQH2WU/m+utQkB99lRi+xsx3AqMz+IU055jFZzwz/UB9An9Xc9LDpN2Kpz1t2sMG/tGg5ajK0MiWGHa6ib4Th5dwFdr/CYDwRuvwPeFgJoYBch/nFIgyXUNfi3K4otAYC46VnkTaC3NZ1LPSfKyBoTAfnGnbdyxKd17gxP7YjBAWbjwjRxIYXZOLbMdrssRkKjQ+ErNUATLx1hxbpU7fHi1vxv+G6QWQtcYdK56kc350wLEUycaBRSc+miT8qWyYmt+N50rlEsDoWITpj54QFvYVhpMI526FJAZaQW4xWXGkXWoLRqp/PBMLHsQ5YOpOsVZEDzbQc70Ypm3qUjQEN7c2FChhwYWv3YoRvH8V1y8zRCjpPntKNkPg+TVP9aHA0bTNd+BNTmKCpQzkOxHTOc7CZnVFF10IFQRrAFflKwOKIAYcVAMkoZTYbYG/rj00QVAwYsWW2TeF9VN2ujziFjS3Kb4jlQN0iNUwc7Q0l4boCv8vxxSyKAyuR9I9y1hc4Fe7jbXaoFP/rMcDj5yQrrwGhX3uA1OIGJBWHhDuOrV1CJf+vQZxIquzIH22Hy4KrrZaOC+0iJH9iIYHlunRwYX0p0a2tfOkgKroNCV0QUANsj9saSnMcz4tuxmW0foSu+8uK1hGWCd3ykosHI3ceQlkIF7UYjwPXHCMn/LTggwqhp2sJcSyHGvDNVNJFy6QOKHwkpHR9o2oPDmMHrFdkx6ZjEgoXVSTf6/tXeWCIfy+Sfds4f0yek+NP9YkOJ2atYdDqNCovRhZyFJfUWIHwtQakAp/A+575+Ff5d1MXW2xqLNeD8ZvxAOOZXyIitQP90gAVx2gzXEm+UaAM3ezA7NK+LxELk4YzsK4yn0D988Nete9ko+a+B18RJ/mK+OLN06IdNA5hcwcwi8wAzZMYii4jt6lMZBSQ4jFtP+JUp8WzLn1c4Y5iWKE/6VDSgmLqokyhShF/i1H1C75FEzkI7shKs86u1mukwskLsK+ph38Eh+oT1B/OjxopAaklAKVBbbD0X5FI9e6KeleQcmbHaRIuw4WZ0R/JICCBVP66wcyYHKCWdPsZ3vZiEOghnBzZRXnP45ArN9LQGiC5YVlBuPdebcRX+8QRKzG+xuB5gD5+OTYIiAHpUgP2XdUEyxYWl6Ei7NQUcNj9BRlEWy1hueSkYM/UYDrN0+u00tODIRCR4/pYUkjAbvOlgjA1iQ5ib4u4B7aOEJIgBvaHv+er1gTkDYQKGb5fxj1ATMKdDdOgusPgkZ/4F5VLI/yAcKjORPfq0yk8cyjuSuZ8jAt6MRFe4cHU6g5HSmpttYUFdnKiFmWw/fh7M9pqcEF7XqmmOMNXawRZEVk4PzER1Y+PPtGXZ9Ki0XER7V+8q+2x6D6UlY5L5ef2okBpgCHv0XiQ0/4CyyoROmMhnNZbrxhofEqj11yjfIX7L52sq2vEmaYqQ/Erj/jwPa43TfDO9/qfBqYw8cmgnyT94evG3uudkaRai/lNmiTO8MSl9T+sNHWiEQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: o8NTy1vScuBRiOO5Tz9Hl5z80l+hQ7I8uMr/tF+yzDappbzCkhQQGrFzohGzIKlA9kTsvjOARK2z4vaLfXugvTuZJdyC+nkOFETQbpIJ1uTw6ffPjo9TsfUhI/rHKuL0NeXPJ56+Qzht/y6FVGii+vRKqOkbxhm9z/1ZCjZVrQl0t/N0WPzxCq4Xp+dEjl7tgtCsoLUP9QZjgezZ87i8b0vcPuehGXechVah9GLYKg7F6nSjLY8jceuubygHI4NeftMWWa9IsZUDSfDz7Y9ow9fXV9cT5Bod11YhJLDnEx1Pl1Z3jE30ljz4bwMSQgwCVqyytHjZT1J9OuHoJzrRPr2KOePUDEHm8o8tQfWmaV0PNnsYVl3mXH7mJmb65zlZ4FI97jsojNXWnDC9utmeo8BSAD1hCbbHEbXkOLjFdrna6+HfO2+D1GUyqrcBuE8dseTYcK3Wjbz2p9Ward98knO0WZSPY98ZZH3Lopjn0YX2pPixljlybjK+22ajv8lTVlDL/RmJBH6kllAWZ10iadCKc5OvuqBufJHMuNXC+1iTwWiZB6e5AOvCvbXUdzfz4tCym/m0ubHHCK2MbXsODgA04iC7V2Tgphjg9nIvXjPH2Px2VIjJzLhG62ZfGmhIKlJylN6wFnmbR5kk+EdGQMSUowO0ARi+IlVKFkq0rcS+UCGIkq1JI0KyuLeCnuClxijHqHiYPLPpWozS391dwDm4cTI4ECUpp/QNEPW6MCh2i9CqtUdODDhw4QWN/0MEVKrQcMAF//JvzgATrNuKBNUO9RGyxDCsRfzBRk/iJNEOlwkUI5nUWAsTgDuFz5rYXRke67hAS83x3vqmof1TA+QUDzE8T5kqDnF7flL1omXQmekfEZiGu+svejbRaWB7/KdPSVTdH3CXtICWmTcmBQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41f3a7e7-d6b8-4fb9-d1b1-08db5315b33b X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:27.0594 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JZBNaHjd45ZOFGepVvbetBfuuVNEayvIg3M4WT9vItOs+fYwjkA+StM0DFlwTggy9wupWk4dpaRBecMigwnmaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 adultscore=0 bulkscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: xYSOlNajnFQJ0zrI3hZjAm4dPWVKGCYP X-Proofpoint-ORIG-GUID: xYSOlNajnFQJ0zrI3hZjAm4dPWVKGCYP X-Rspam-User: X-Stat-Signature: q1cst9apztq73gjafxhe9rn8jsmsw519 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 1BB7C1C0015 X-HE-Tag: 1683915691-360946 X-HE-Meta: U2FsdGVkX19QuklGbPQqMDSFDFxCg9EQk95DHTUl7vK0xDwx7tKLc+EiG/mRR/Djt33iasInEgPDTp2aJpqPCWCeOZfLGmerkIpy64sBHTpBtvnnpKUhtqiyW5j0otbQezIbnxdU8fGzM3p6OfFu5PcsdEZ620xPt7u0RZSvVbhQf58vEvtxCyLbXE1Isv6brAaKwjjDM9T8YIZVyCyZLFWxbOENJDPS8L2ZmTT6UhQE+6f+10LJYX+GhnMkdgbEwbZc0kvdNSU5vnekElsXwO3ksj8Kdq+Xmlr3tgMtdRhJecGraoQNRL0qU43CT7EgFO4Qd2jWmNU6qQxkLT8smH8FmP7p2hjWhGQqdnqFJVihv1xCPf18c9oUJscezXj22l2KM0Xc+htxUeGK0dzzj3I28kppjUA2QzbEj4fIGP7NhiZBlEnWppbNIT5Jkjg7KAsf8iud5NNcAQDWJVQGKN4wldNsBs/t9GnMaMvr+XcuZkLgy9iZVRnK8sZD93tNLqc6NNPTCGpoK07MnWuDiQbqV5gn4rdq/ERIolkrkcqs5xP/ucrczW5zc16ujWTncwLOyaywcBFLVlVKt0TL7sN1gyhShfysKQQ1dLSajt7o/e5K27Lk+j4/UCl+DippoaNd53IsmiQS3m+fhbGhCEq5puVdrYTsfpqBOcSjMLizaQfrPYPkUIOZ5Z/flcD0pkN6J39Ai20aTGlXurnoCm/pCQo/m/+/o7F0WxzS6e+BOjpxTi2EsE9gQQ9xxK2bMGg1RRqqKYoxJIvzBdbWibvsCG2XL4B4dLyXnXlH3PYpkIQDUu/4bpjEu7wlEkXD+Yhpy4ZClbLgH5biCpWlZJ4THnV1F8yw4P6aHGjKEcWeKqRLoj/o+qIcTZvmlmGesaVVW1WB7kOBNhmPJS8gSSftfPPmWG9IhFJUAn9XaxOXBG9MksGvya5ENRfZy/+VtHWHRJB4vHO7tZWsdnA AxFREx6p Lz3TPPSvOKkQYT0XV1CJlyRzj3GnmDmhjfM9QeqgJr2IhozfSEsz2EvmF5KySZGKHLCRdZwTBXQEChepQpC5Ma7OB5ZDGRoDPwF5JxcKRUby31eWxVsfceFdl9IV1AU/6fM2aoQx8ukUsV1N1xDQ6qAphc+g2senG9xOBOkzULm2tZWfGpkoMjsEF3XM6TxlZp+wxvQgYPS3n9rcBnqo89gh0e5EUf58upzvX23J31rsI9UeTKaryGUOWxBzkvIsy4hV/w3/MzY2hX7Po3CPZg0wTkShbe0PUgALi5ekp+HDBwpG3DpIPoUWmBSELaoq/vATVtJ1eb/kOld//sE3pSW4hv+75v8O3nifPAVexBf4lVXfof8+dH65tNMUpVBtUNfiooxzQxi9IlCHMg2W5Fl6GvYCCE1PVW1D8mbYiminmaVo= 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: Replace the call to BUG_ON() in mas_meta_gap() with calls before the function call MAS_BUG_ON() to get more information on error condition. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index d5ccf7bcf3b5d..d7809a7000c58 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -963,8 +963,6 @@ static inline unsigned char ma_meta_end(struct maple_node *mn, static inline unsigned char ma_meta_gap(struct maple_node *mn, enum maple_type mt) { - BUG_ON(mt != maple_arange_64); - return mn->ma64.meta.gap; } @@ -1628,6 +1626,7 @@ static inline unsigned long mas_max_gap(struct ma_state *mas) return mas_leaf_max_gap(mas); node = mas_mn(mas); + MAS_BUG_ON(mas, mt != maple_arange_64); offset = ma_meta_gap(node, mt); if (offset == MAPLE_ARANGE64_META_MAX) return 0; @@ -1661,6 +1660,7 @@ static inline void mas_parent_gap(struct ma_state *mas, unsigned char offset, pgaps = ma_gaps(pnode, pmt); ascend: + MAS_BUG_ON(mas, pmt != maple_arange_64); meta_offset = ma_meta_gap(pnode, pmt); if (meta_offset == MAPLE_ARANGE64_META_MAX) meta_gap = 0; From patchwork Fri May 12 18:20:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239625 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 8B96EC7EE23 for ; Fri, 12 May 2023 18:21:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 13AA2900005; Fri, 12 May 2023 14:21:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C438900003; Fri, 12 May 2023 14:21:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D20C4900005; Fri, 12 May 2023 14:21:47 -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 B023A900003 for ; Fri, 12 May 2023 14:21:47 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 8382C1A0FD8 for ; Fri, 12 May 2023 18:21:47 +0000 (UTC) X-FDA: 80782421454.05.D2CAF88 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf16.hostedemail.com (Postfix) with ESMTP id 0D59418000F for ; Fri, 12 May 2023 18:21:43 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=zjeWn3Za; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WbvaNgIF; spf=pass (imf16.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915704; a=rsa-sha256; cv=pass; b=rrkqjlks4is0bRzwHiz9YYc5WSkddbVWMXTcdTXuA22dXJFgkKJfMCdGEsqqwilfnOgNAv dwedPzPqQcHyx/jZSI9Sa7CcbfqfLERa4r7tT8ZLAS66ltT34BITrEMTk//YVd7qxsFUXF WWNHVt76gcRI0O4KI6Vgl9YWnmtMCDA= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=zjeWn3Za; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WbvaNgIF; spf=pass (imf16.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915704; 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:dkim-signature; bh=zUoTYTMCkwTw/+6/qqWbswBoxi9E+3/SfiPHa6ic8us=; b=kWyr3lVET52y0mXggEXHca2VpaXzXSqjcUynSPTrQOn+ySgw2kp1cbWOFhjS8zvkGzRUmI PYfnkJvQkJMxFkg0yXJAl8dJlZmg1HRL2kou9GWIqzHVyzQzemur6csFpB4ENlXDftumpJ Zdzt3gYi9N+H4/5hy0XvffFNfVypinY= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4ZYi021717; Fri, 12 May 2023 18:21:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=zUoTYTMCkwTw/+6/qqWbswBoxi9E+3/SfiPHa6ic8us=; b=zjeWn3ZalKtfRbUWFX3IlibrW1HnEkhWTRNMZDnB/wThl/ogi/z0e9pmEmBqAP7+Jzje +Le6wdTGI0TYAjAtkJ/YHuT6Mp0y0LyxmNfiYzZoggEnyCC6fVym/iGHGhN3qi1dPsok AakyD4GzcVrKq8FD7DnxRH51+8EXiA14RxN0H/VqE9gtDSmaRcJHY+Gk69fOg4Lm0dkp eZREGjbyAc9GAaj5tmNt51VfqMfOEOUFeFXhsefHNtX4bqcwB4STjmJOkf04TRjIOwjV ikAPLfPRiIjFrSQJn2PJkTKYYThBNdAwlpdAdHfjASPvu8HtwHL+r/vUunl7hJVGx7j0 0A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf7793h2v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:32 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHMa5v011717; Fri, 12 May 2023 18:21:32 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2109.outbound.protection.outlook.com [104.47.55.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8156yq8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZGigkAcDbFDCAM8DSfSQrgtPaGBiE1X9JCSU9a2x99f3cvWzcp5ilb3VSMhx/Qa9a0pKTJdsDH6+nDw+i9pmsqnagdrl5DnUPVSAuVRLm1R8NJO0mM0Bpt8f0/LW6nqjHF1xAy1+6FzY+ToTWG43DXxDHRvxoFXZph8+f1QDyRsefWsoutO75oEGqPZnPFah7kXGpZUjNu3AdzR9LyMbtQIPmSUL8cT4VbhVXr9AhKSG44M0ttmUP0gLybYYd5JAh1/NBEB0ReFYQ4BXYe5z01pdQnk/SSXUsGRC5JeNysl6Uwn1v6wRJgtDSP3NJDtwknswgldwir43R43msckpYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zUoTYTMCkwTw/+6/qqWbswBoxi9E+3/SfiPHa6ic8us=; b=OhsbC4Lp0nzCIQ8FKmYJ2RMWyhahM3DETF/PpZH31J69taH73Dje0oJ/gboTx+LVwevMPujWviSbnk4FqVsP/9hBUQDneLht1k4MM7z+eoLKoRowFt8vsGLMAHpj8mzBgvsyl1NOnpxfvgO3+ciXI1BTnWzf0CJn2Lg97h9kRJbhQZQX/SQuPdG7mO8LWbTzGZNel9XBBIRBRiVFIU84YFiifwcI+zIiey2in+l8ZJ192IZXGwr4Er1d1qyGmicIGyNkdmAGfkrgF76La17jYM/2y2eUlsYKA5+1Y2JzZpZyh7G22KKic3LKi0TNEtpjFGrEfsEF6PzwGRUHQfE1bA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zUoTYTMCkwTw/+6/qqWbswBoxi9E+3/SfiPHa6ic8us=; b=WbvaNgIFCpYa0YJLl2MFchk0zR/+SfA1nMNARScqnprt9t7Nw8ZiVxplgjdl8dMjv6cD2dYk9V62bXxUZ/V3Tf8+K5EkF3CSLwnKVsdCStfRu+eDwAsMh4+ADqxsckvOkmhCMMYlU4EXc+kmKhxh9ULH+Ydg0T6dMSvZF5NnneE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:29 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:29 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Peng Zhang Subject: [PATCH v3 15/35] maple_tree: Return error on mte_pivots() out of range Date: Fri, 12 May 2023 14:20:16 -0400 Message-Id: <20230512182036.359030-16-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0282.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:109::28) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: 19cb0909-3842-4ff4-2ee5-08db5315b4c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JRLj6x+zyICInf1tmvUsrKXuBXYbVBLJ4i9Q0u9/Fm/H5nfRqRTa7+wi8ODooWGMRFvTglgS8b8EATAMQc015sM5AIbDCPyTOZMUKZTyW0O/E8RjYudN+7ffDCqM/dBMFWyuEdKBMn8kR2w5DbvBlWD1ECZakgL9CO2uLW/JG3W3Zs7rU1xvWiCjH5H/4kBCLHqJpeLMjsUoJwdFs3Kzn1dhxCALiCOJcAfgbILDrUqjNm2QQQm/C2u1ADlzMMvnK2YIvZnwheUNRZYaac82dwWOxECiWBAJYEMGcpmlPUTz0VDWkoyVnNkSsWNGcn8PIMn+BE1JRjrzufDfXIXgHy1ZB6J2lSEcqioTg9UUqZhD3INGY4NiCvckij+zpd465S//dIsIzFeL8AHnd5BelXy8fVuUaecVMK2DGUCygUE8O8DwbWBHCXGsLVs1hq0s8IpCRxwznMBd0SJDuyIK6U4O6BWGqgN1J7Lg4+bu69FTS0rOH25zzsJLOJnKX0UTxnCfqNRthgmDmm2ZPB+gg58CkbDpX91I4k08zC0C2MB8Q0+C/YZ8sDiWYOakBt/v X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(54906003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fagwM2wTlG0EwDwAZVsOHZFN9kHbRHDWsNXczhxhWAcBNej0tmvZ/KVPOvvDqPe9LABfwJDhS28sPE4+Br+hSRrz75c8O6hnrDy/2lWDJEK/uFM5MhWDXwyYvEBD3k00o7/JceyyNODJ3YEGz9teysJUjrd4ChItLAdCtGpEWlJtPUirdrV1eG1k2e2qcgl51a4bADjDO80vt/F5zIw9CWL8N5air9Y+X/GWU5ms1lmn/a8fOqOehIJZAP8vdwVNROEkcOOHSMx+5r6GulvncdO6sc1K/6JiXLiLCaCCL+X+02mWVZQdM4g2EGRND0POY2WbKdnTZ88+LxtgLHkiK+O7XzJwa7nhX7C04+pY3JXNRasNHmsM6XyIXY5lgKw71pSx5i9xhcGBITE1A8+E13KOD9I27dpqOuABHSSozcDQNoG91a4C5dEkxcVB1G2WBTVqP62gTRBIqgW1rTFD7PybVl0UFKyWE0ij1S5WeGQNmQsKtg59EfgLw5xxjZxR+tOy496fvp0iO2HV4RXrLGPQ7Vpd9Uqqq12nIVmNxn+8AQBYn/fmtL5AqGZSxJZ7UxMol8tYXKp8xmqWPsYE7kDXmv0CNMEgXIjVv+SeT/hpeuA6zvac6xP+VkoRDqysL3xtLhtTtcKMW2atBVvtbwkUNHleq/t99RjZ6risSJRz5yZLnn1lRALto3kfaHjwbehnhirPgFcWBvom4dqh5jk2McOe5Wb8Z4T3jq8jH3fBMdYc1DRNjQUVbG2glw0IQMFx1wUCtXcj4hfFJLTxLhQ9V7SZNmInZRoVtayXhltVsv8097Qaywu+Ly9PQPqG5PduIxghqiN9AzuEvCURTqPV7iZAwUd/aJFtn+T2PD7JYNjfgkYo99x8jkfJcumyqdLapvV71TWLUTfGB7j3c2Kytdmn7AYwKb9DDHwA2/GlfL2U6DFSDj6Q/CfvBWtumDBHK1fjyc7DhgqmRSV5yIoi0MrB0KO477aQCWDsU+2o6ucG2JtLeRb1roE7ovu7WbN66YD0bC1FCoqEh0RnGZHXNIbK/x6u5Pvr1nMt/UklUV/XHhQ9YDLEzsNAXU50xdEsDevn4cN3kzeUuPLVOm8irQ67XEdz+nVVs037h0NJ50ha20msKqoQDDwVBVPEOGLZDMWrlFtNKxrG/cJfzSZlvlTsu1CGXxZ87zEHF2JqGeiuDqstc55ZELbCTvC7fhe+CxYXP+bPeYdi/TER1onWkYi2l1wyxdQGUaHqV8ifT2ddYyCY/aaKJdaghPpdoy/s/9RdN7Gv43ZzxSku1eK4O81w1tbWe91Xu2+YbiXeA6ajINE4DlXjiPA0KJWLtAaNXWaQdj2rvTr12DYs9j0aq0MKLKrNhCG/X5x2HFQ8TGehb8YJGDTbmtiTpZzhv7JJKcUtzsorem9oTl8wBKUZWFBT3czWW+TZ4SZpcYcBQi4kB2q+G2SQrYXyojUQQFn8K2sLYgG0J9nh+k6hAmOUsEBLVzwQePsk7bRk6enPfKdIWRcsYTIkQhXf89Jm91K9KpzFfInhaY/HQJN+bGY6b0ETLAdsQ4PKM+2ujGpWzvxpuvtGr3XGuce9GSSY5N7uUuEuam9bn6FEySqzZg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: WSEfiWKUUnT0BOqrwj8eSV1Gx16lG+drxxOrVKdqdlUY5mWBrxSN+hwPqxk6H5u7dOSbOr9y15/FQcVEI3AR0rRWbUQIyhbvfSmDKYDRLGeawYACdvgQT+1nZM+4v7YZNEyOc0KnrgYE0nC+060YY3ra0+YwV29gRY5qw2DnwvfUlKkxbrxdYLih1Z3eCkmzYnGwpBSkuy70WOcQMmzTzEuuVusVKEEbvXDGVSPX94lMVJ7n0Lob76TmcUz4p9Rbdd0pfX71zHqldtpFLFs3fAWFIOlZXKaQ/iDXXEirIRFgI8rIEruDLZfQ9rCk7Od7dMRea4p2+qrCn8oGOlJp9xeqJ8kNKi9bU6wCgXG4+XyUTVy1o7MI9rpS6++Mn6uNdq+mKNhH6ISccABHINj9btBkEHcG8J4kZPq04CP3pjrodBNydRh64bRgEBsAbke0peJyQYGhG4bjdiYxtHXVVIqIXe6he9ixw1TaqCvi1oo8owwg/mR4++g6TxpN6vF/bi3aseU8kzJBB6AP056L245UMdkMJxKtsj0dWWvPCni1y8ZegqFcK/ugSgiPbVx+mSB7j2MBrDaGDi8FP0M34kViOey6AnoPWRxf2Peq+BALG3h2naak4jKrvKbFl52fxfSxfYGOZRtOLU+zBBesJ/RxhS3KS2vUjx9d6xo7ALdv5x8RLwk/geL1UR2rMNNqh93a7CFwSYsLC7GqPrpUvouM3Wxs+4lHj1w2zFtKA+CD+VBOtM3vOOuVwnVLjbfuJST4lDD70b6XsvPUuJ2z68waRsGIe0cVsSIxTvSBqwtrsYqq+uwFkQoY5QjVdSloYtFhO270nBT8NP9bLeZL+9PLV/YartHhaWTQMKtctxtOYWqTQL5bVGWmJqLk4E0ki1wMOjab8mVwygi3qCTd8fpT2qoZsP3XqrIbXDMfa8rxrSPYpPpgFGGBtFTGHgbb X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19cb0909-3842-4ff4-2ee5-08db5315b4c5 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:29.6421 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KM0OUguI2aGH0zhUx7jZIlUmJSb586jbxFbxH3ldMelom92+tDbejAyojIR88C8dIjClEGKm9Dimd686DRkuoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: n-vHKpqarjIRa05frQUyVz_Dld6PJ7sZ X-Proofpoint-ORIG-GUID: n-vHKpqarjIRa05frQUyVz_Dld6PJ7sZ X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 0D59418000F X-Stat-Signature: 8njkjtikwzjz7xmhmt5dgbzd8ppakf64 X-HE-Tag: 1683915703-304867 X-HE-Meta: U2FsdGVkX19Wm//iE8a1cDf9j8FNS/0tAsoNYlIkjfi4NnFgAg1+ZNkDpqjOuU87YZTZA/QbamRyhhYLzxnggwYqTDMhZedwRvjj5BGxEEa3lqo9DeVJ4GwmsNcFtGgakUmPLTCKPDeV2UzTN6K72lqigMkuGWRe6btbn2+Do+8+7coXhcMN0zK0xBtINp/CCQak9RvufLXfAyXGz4bcyjaugBBWFw/lHh/pFc5jmLC+6AWlPoE81CpLmpjE0kYui24/eEJ/zyPxSJ/8K46JFt4Sg/CwlMdJQKaw2g7Bzb8f6lQbkClC2XNsZA6eAclTW3c+a72qWzYwX58ybU+A6LxXsiF+NQkLLfTlrqTUSmgz4UDUeyP41Z2A0konf9oCRgDX+E3Ize6UC012QxI/1AwpDUUv93MQBUQ+Q3fREWXhex76ipChiFNftdEZJK9zAv0HOgFB3IzI73VFsT9BHBqY1W4EPeZxwPSnC1yllsK+RdcdY/+OtuWvP/Cp1rZbYRLP2UzbKXVNf8cSAlCptNIl3Op/tLvW+g4opxNtYo3k5mWvmJiZ/SvSzWvWaMRy1PKeC6QiPXIj8f6J+4lKB10jYWe18ATlEXlI5CfLFiwB/oMW73U/LTs14z6qk4TBzjJX8f5spE9ywIiMkcjDKwagN5PuVBRlHUEv1NUNPVqa1ks2EJsyfnMTeTqco5MggAzvCbHJIGCP/vJ8jmZykdTjCqlYMu4LKUaceG6q3XWszyJeKtZDEqs64kTiRxFCuY+gbB+4GOtdXYK9ERj4gLpOkW4KWwXOoCvkss0adPGNEpKDra+z5K7LsoOgN58JDFTH29aIS7F9PzWybNVMK3XiPl/CKGqPpLnOHaddGn8WusrgOsrqPJzsqLXsXu2jUlevGkHpzWjqLngwta+YF4MYHd5j7OHs8Dgxg7PB0LBZUYtoD0t3pywt6yVF2lcLQnkMYO+DcwQSCt5VJBZ nbtlMEuv WZ7Z5nuuB4s528qG+y7pzl+4rRlHjhbSPAl/SMwJMr9JF1wvrk1ug/8yXMVQimHQceV68mbznRZ/6sUiRHHJII8AsO8fZNZaTxgf0RQl4fNmmZihplwmIZE2XcGC59Oi8q+rNjMv0L6/0FjwcTIaAA1EUd/Rav7mWYYLJCOm/s/Lw2VDs5fXuO8ZdOa3WutdwjqgX1CAYy+vnnpZ5o4NbS5UGvO+ewEn5847XSsI3o9xpf2CQdoAQQQ0K0fDFypyCdgLxlYEDR2e8sbuAr2OP8ueUz4+Xuoeo3phkUKxrV0REHznr9O/7prAFxuuI3tGdF7xEQP4/1hpih8Mh+M+kgCLvsQ8K3WrjHVm2aBuLdIhZYUnyayts/0N+rBUy4+C6Wub+i0wQEOS7XUAxqhyYihbMQMjK97X38YCoZJUbxqMS2iUtTYFT4AP4xsPVnsUCb12Romjtp3Wn+p2nWCMVYXm3j5uWW/5B/bl+ 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: Rename mte_pivots() to mas_pivots() and pass through the ma_state to set the error code to -EIO when the offset is out of range for the node type. Change the WARN_ON() to MAS_WARN_ON() to log the maple state. Signed-off-by: Liam R. Howlett Reviewed-by: Peng Zhang --- lib/maple_tree.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index d7809a7000c58..9f3784f4a5b7c 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -663,22 +663,22 @@ static inline unsigned long *ma_gaps(struct maple_node *node, } /* - * mte_pivot() - Get the pivot at @piv of the maple encoded node. - * @mn: The maple encoded node. + * mas_pivot() - Get the pivot at @piv of the maple encoded node. + * @mas: The maple state. * @piv: The pivot. * * Return: the pivot at @piv of @mn. */ -static inline unsigned long mte_pivot(const struct maple_enode *mn, - unsigned char piv) +static inline unsigned long mas_pivot(struct ma_state *mas, unsigned char piv) { - struct maple_node *node = mte_to_node(mn); - enum maple_type type = mte_node_type(mn); + struct maple_node *node = mas_mn(mas); + enum maple_type type = mte_node_type(mas->node); - if (piv >= mt_pivots[type]) { - WARN_ON(1); + if (MAS_WARN_ON(mas, piv >= mt_pivots[type])) { + mas_set_err(mas, -EIO); return 0; } + switch (type) { case maple_arange_64: return node->ma64.pivot[piv]; @@ -5399,8 +5399,8 @@ static inline int mas_alloc(struct ma_state *mas, void *entry, return xa_err(mas->node); if (!mas->index) - return mte_pivot(mas->node, 0); - return mte_pivot(mas->node, 1); + return mas_pivot(mas, 0); + return mas_pivot(mas, 1); } /* Must be walking a tree. */ @@ -5417,7 +5417,10 @@ static inline int mas_alloc(struct ma_state *mas, void *entry, */ min = mas->min; if (mas->offset) - min = mte_pivot(mas->node, mas->offset - 1) + 1; + min = mas_pivot(mas, mas->offset - 1) + 1; + + if (mas_is_err(mas)) + return xa_err(mas->node); if (mas->index < min) mas->index = min; From patchwork Fri May 12 18:20:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239622 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 C19F6C7EE26 for ; Fri, 12 May 2023 18:21:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5CEEF6B00A3; Fri, 12 May 2023 14:21:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 558786B00A4; Fri, 12 May 2023 14:21:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 38356900002; Fri, 12 May 2023 14:21:40 -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 22F906B00A3 for ; Fri, 12 May 2023 14:21:40 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E942FA101C for ; Fri, 12 May 2023 18:21:39 +0000 (UTC) X-FDA: 80782421118.20.C23C0AE Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf19.hostedemail.com (Postfix) with ESMTP id 660291A000C for ; Fri, 12 May 2023 18:21:36 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=fTFr2gXa; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=PP8XspEC; spf=pass (imf19.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915696; 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:dkim-signature; bh=vsLFD4dVDOFW21XGcSvKmJrAPSFOY+0Jw3IhJz6RmFw=; b=dN2MyMXcRuVFEUf03g4EzxxJzCbJzqNfTwVyLQ59HQchjiM94ibY9agjQBUmCQdRab84jU 0uT1O+KMgu2MueIuzZGGjo5ah4aKHkd+fugBZMrm0P+BZjaJG/F3aw+Lu0kF2E8iMdL3d4 iW848JZh8jza9mIlbtbX+I7qWBkpNm4= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915696; a=rsa-sha256; cv=pass; b=ZGXpxr8SgHqFz2oZQahq0kPxmNSAip/12Dmy72uXY4aPoAny9ZcCEf4UUBKsbQcEQnujwM bCdJW/yMtVHl6NXB9zvSKw6MjksT7OjIOIit9Vj3wp2DOsqJUwS3yhYYYtqktzp0OpRAzQ ECO6TSGEhEAjECMh26FhEz2Dizuf7Wo= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=fTFr2gXa; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=PP8XspEC; spf=pass (imf19.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4aQt021751; Fri, 12 May 2023 18:21:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=vsLFD4dVDOFW21XGcSvKmJrAPSFOY+0Jw3IhJz6RmFw=; b=fTFr2gXaRTK89SB2zGTd+b5FFRmQcMEYQ2mq41xEt5KQ5iAMNCaboEIi9Xikl0bPPeci ILAlQMyWaOGH3ZHtoDHBMuHmdJMs7nQlqNzsSEKJqftxOd3eQTkE3vmTzVZQE5+/daoG 9dg4TLVsXuIV6x3QDaGM2bMdtCljvooUeFvD1coZB7nrOJUp0I2/+CNxgFSwkhRz/eoo 84yUl1BF/BT7hG/NcD2LoXH1M4hEUa6AWxLW6e5jKIshQYxczoAIJc8w0dv6IkEkCkd7 f06GYWMXQeIhjbtuXp/jTtUE5OYYCuLRnCwFZSdcw4pKVcqy23+lPGOueE05A/m526Yn 7Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf7793h30-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:34 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHaQV7011740; Fri, 12 May 2023 18:21:34 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2104.outbound.protection.outlook.com [104.47.55.104]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8156yrf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YExGPVHpZLX4k5PfVk6DcSf8WwBme1ewBCZzrSLdYbI4DUbiDDoDwdI7Wf+6a6nmlaC1iZqBCj3tVIpupZfGQ9d+yF/YM8z7xU7AqFs8Ssc1d4bR/TDbrycjmCw//sPQAhOvo2uGZ0vRLri0fjBBsHwptaq0GWqfsksUBZk9E8VU4UunMnwEwv9/tUouhUtNd52eq526/1zPQf+GPKoh6NnTUrvyjJ1G17cdzjF0Xb1hP+cY0yekeTgXYzt4UIiEpT/lrpV1owe925QDyVqGWMvMINkDO5NMxWyjxSmuPOmP+Bi8lE0J8EUlV5sR8xnLBT2rpTmSv3ed/yGPBhm+nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vsLFD4dVDOFW21XGcSvKmJrAPSFOY+0Jw3IhJz6RmFw=; b=Q5RxfCXBloU47lH8gfN1z/r8Oe+f9tdXgDNwyvxCDk0+IloD7VzRs8O3rkePvbHtjG2TzmjiD1ULi6h41WVkZ7BMeAUszvxcY6FvE78DWAt6mCZZ4zKEnJNWlJ1Xxr5e1YFWPW4sPqQQQfBEpjIDl+8ZUJxIonQwIHiWTVBxCbTKZwrm9EBV3ETdvXn0tn55na0ELHh9nntK4IIgzt2VLoK/13FBCED49Vm65BOTTN+s86TlOTWH1z58DG+p1bK6E5vyI7Xs+a4ERw0zlHUQ127aqe6nrQYZ0rZ+L61ukVIXGvVDmmOQX1InzWv/BvqIXHS1qcJWQyMjA1lxIqPsVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vsLFD4dVDOFW21XGcSvKmJrAPSFOY+0Jw3IhJz6RmFw=; b=PP8XspECtzMnRVAPnpMiXZxFfiyHNXTy14JQlPDK+lKhpnzVqsDU4SY+K2QVm9fC+kmklH5O1+LoB8wZhovS54orFIvT3aRZPNdj95GC80kvjX+2hTU03cFrs4eAiE0WxwISZyux6ubYSK4SL1ws8iFX3/swpPsR0mjCEUT61tc= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:32 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:32 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 16/35] maple_tree: Make test code work without debug enabled Date: Fri, 12 May 2023 14:20:17 -0400 Message-Id: <20230512182036.359030-17-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0271.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:109::18) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: b6dc8788-83e9-4eb1-1361-08db5315b677 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NBB+HZ8khRdcUct9TZ0KKH1EtUUw/lvgX1noGb23/MOZiHFPmIPNCDfm/06PRnnGhvRT82NSvTp4+ykZL+FDCIhOUBUHtZttGsbdDA88MY9romQ47eEz9to0sxJu38vp/KigmKyPzM4XauqXhwhdT5p+dGhfeoJTc25naAlb0EffhEkKd800vjzo/VAT4ETZgc0AsRfNHTU4R3v6lG3k65LQXSbTEK2jCmbYiltbRlTamp+G+cXVJeTNQvUPKhzHhbLlydZmgWrVQkXeb0E4HDFpjIAqDJ0Unbq9to9vM1IW2xdUnFzSXmGelgP6SupmWgSwrg3nLVfHjcj9FcLOhHFAd5n8pCyqYgkngRm3wIPzMmz3pNs/aqwPx+9en8hB0s5FMJm57uvgWnKOlChEMAo1HfG80Mb9xTIYqXVVzuQO5NT110a1T0LLtdzcqRQA4Grd5vRLhtdeRUUundZKoqV+UOR7Rc8FbUkciFO17W3gZbXx1Z7bnSNWZnY2Phy8hpPR0Ie371IWJkWCQI+XbbUxaq+YLtkHP5j7QiNYqTzF8leVUT9O33m496Jq9XpI X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ge8IBuSgonzh274V9fy4aR1rLT3WJxfq9n+KdMcFAzv92t8+B7RqGBvHPn0G2AcYWXJQFS9DtyZK4fHIOMT9xS9NkhCRND6880yLD1szrhMbEuLP0A5ErBJ/99Ozlkno22Njb3plAOjYVxOiTcBrjYcIo8KCdbhbT1LscxlQBywSE1QdZ7UcM0CBGKgeDiW8wbtGv0FqobxDrWsbgb9pRFY7xyYMcMpDdF6QvDGHMccX9OVQlw6s0mFASkD1EAYw2Cw9+ar/ntwThIaK2QF22wrsGiSgFrHrLA09Vl9agdvF8k5zJMl6y6MKDB25VIrYCJZHP4SjayVQ0Q2gUYtPn1HBMd70pfEiABWdtxB73breS5ZU1Wn1kuq8SmiSNODJugKtXrw4xV+Z8CvEuJ5PewxxkBzVC4DLLAdwjqVP0qzfP/88/9wO7ZpCCfLaR4wf6vSG0/LPM5Bju5Ut/Xy7pin2hTjoY4Fx+VpORAhNovY4k3r5RHz9+xVi6v638zneioG0uZvdWNFSoON8A3l1sREDreKjGlG0X6HSf8lGZlZsLHfBBlMPMxuR+kLmOoUA0ldVWNrucTgSAuiSOoASmFyMlGFj6UXPWqpARF11T2zh7HzJ6XqHxI4ZjDtBvQmM1QmLPZ5LPVrj52EtKvSUfp/9A8j/vJF2m5AUalp5K4idn6mtM8/a9bxlv8jDYlPj/2gnmQZ7oJ/jhs07+veSprQjy37LT5FksePwgaLRg5ak1tKJu6fr45pcqEcaYR/YuYqTVkjAQGI7sAN4hN4GxU9KCT4MaZ0joC3oN3Gv2NESzJ+Q09inldot87zTVWZkTVrk61pOyTnSvvaxyczEcB5H8BWQ4CUGxoLhtREHSulvY+jwWS92tnp3BhRMHdKaYfuWFyrj9WY9l7zLxfwtPi1VaNQ61QepwpaByB3RORLV4AVaMcDx3TM0obHEaWLoDsfzbGZBhOFds6n+RSOEr/PB/SARUehFmLXuW/iOADMQtpcSFsnmcSNKU3VUzj44pdxi2MW9zL32ThZJ5siLL4H0GMVbtaY7p7JpTrBmtq+U1N5X4cbxO2eV/+JlUGYtjGCl5B/5pjzuby1in9cE4gHI63+2ziboEQtcd3FHMn/pwESwSAsevnZ4rbHb/jWNMhInw7A8CK66KJIIFVGN1YYHtbfxH9LMo+LKRtkjOHXG4xhZ1osyNYvakqjrm1oKRAsAGyUkK9XB4pT9qt1Wz/Q4/YZkMHCQhbL1Y8YMP7rK5Q8DMv28G+pTs4AuNFM8Zt8rTMnxuVvt/J8bkKhilCUVe6J8yZLijCC4PmXJ0FxzT5+3GsEaVKHozLs6E9SxcPN3p7HqsKYRkN9qZkfEmhZO5UN1RkygTLW6UZCnOIpO6wmWbFUurtj79vNAlQTdGIysvlYautr8so95iNNr3b9YZz3vUtlpcwP0AlUBEm6V53DE5XDNkPk1PSt6BmQJ9cQmvdYfLkqwL2Zi0fVLPEkkpRbDFRRRQhUlnivvShSoDQ7yBNhPJfN9CmakiVF9m9eKyMOocpXn9Js6+mS7bR8FL6Kxt38fETcKUJ47ps0W9S0qnGerjg8/FxdXfihmhlcsYtDt9ciPPA+V8XpCeA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8c5aAb53FcRMd3K5Nv8rQl+GCvpesMwZPavnthMe0h18Y5QFpDs/qnksfMmyaL2PHQ/KYPjvMAKWNYNDQUU3uVa4MFvDDiEQj/NcM0kasmbnra8Mn6BQ9zYIQtf7jKCpe6FoY8S1hvsEbh1U+GJRa6Qkf240lVcLYtHNmE30OX5R5k1jqByOhuRfiQFy0RbCs9dFCHhBDtky2xdXi31NDo2sNeoy0fKkH+vUFPHQ9ypMu+QG8m1TUW0hGbmhiqd9Wy6NO+aJZqTWZCatbMlS0erpFiGvx0dgpivYeLecLLum5EV38FfCwcl8+kRH215GT78iCMe+uMYbHP2x5Ctzstou8mAZXg/BjOIqgN8dQz/F703rlw8IM3iaGHSWcDvoXuh3czDgoGKcVsuROIjnmBaqvJ1c+DSDQX6FRxPRY4Ftc2pxbvxLUSLu42hwE4Wf40VJLGsOdSc6/cq/Ik32VJTWX+8+vp2pl3rqm0HSOtagnYsT9tL/FfhUjYPlqhJ6XUZlmhKjTNUeapywWoh8vCEX5NO7RPTHh+fXG3M78z+ubZEyugnLMScU0yx3TL7Z28xIYn/aXmxapLXnT2kbDwDlLiij7dZv8y6VHgxi6nyk/qT/5mGLpBRqaStqevKWCGbbaGhbX19cwOq3Wz+tScDEMGPcDQYPcBmCKoqYYZ3P5uLbaQW+sgOEATIFd7o332r5b4U7kDHmwzCZSxNsV+jxZprHy0o0X/3nqzBzZhC4vII8shKPHEQcJ8ccFeOQcA/B410MpAYLDPLMvfHDZYE5rRD3e4D1DxBdi0YCf7F0fzsSDZrmbV8z3LLzSupOsCUfI64HirrRUX3/qY64xBtwu8Y/G2bD0Kc8Sus3uHDsc2nOR9oQJxdxC+mqiDEeQlowwj9ugKLGK/5fVOgXoA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6dc8788-83e9-4eb1-1361-08db5315b677 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:32.4761 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TOVNffpnKP7EWekZluOC+rLUMuoQaMRFzyQdqMa3LEvEffjEgtUL/uEGfIYTbMlCtXKHQEuz/TCo7qCVQoVCRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: NgssMYgMZ5KHkwM3wUa8O8qOLsNbKrkD X-Proofpoint-ORIG-GUID: NgssMYgMZ5KHkwM3wUa8O8qOLsNbKrkD X-Stat-Signature: ksna5du6fb6m775jsqrkjhwu9ukcqb7d X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 660291A000C X-HE-Tag: 1683915696-866218 X-HE-Meta: U2FsdGVkX18xMGW7sg9opaGe2uwix2C/0DRlszRz41bestpjzGRQi8Rvz7lgwZSvb5rWxjsq5Rupw8LGiEoB7uGr/e8S2obMB56xC8W/rhLWPEvaWMaP2vzAgQ/y+jKiyWe/FPsNHHXoIiVj8k9J+Cz6zp1lNt21QzHXUOkJsc7extoR2edW+hmkLHP4UyGjJ1Cdlv94frSqOGC0WQ4dMZxGB0vVlCEPDMLMZ94JMGnBct2xdgLOTXxN8jQe4aVprCz2uHD+9uCb500LmS03sF2u4CFIkQrx2GtIy1aVpfXEpUpQhYNp0P449zI9M4ydvuTXBh47EohC5buPMGn0RPA1cCkeqQFSCHvTkkcy4oXMC98OUhXVHCIoPWodTyfHtCMuo3xjcd2yk04z5DrkSB4rDeO/Y4rnC/56c8lWzBCOQIluKRGBx3KzR3KXuAc+chojU5cn1zUcg+QOOrW2CHJCNtMDnFF3PeSIoaJncAgoEJgEQu4yNH2d4/RVW0lcR4YXhY+9wn7U9elTaR5wTr9kYRH8SAYkT49JHO5HrDpR0KPHa1nzjnOJj9DrUmQUXeaJrqoxPb3WR0Ujf2arUn+eAoSaAxNocD0A8EKTZGcLmk4oGu9dSYVAqLmViQtSGvP6bNqmIsmaUXTGfasj6XFSQWlkLcbYTD2Eq3ZzB2Cyjn8ED2DQOurj0DjFXHnANHbd6cPRtWkDQCjFnEKXkNxqGO6LSCAMzlRZ3WI+0ns6aZ9TdURLCkvqoNVHtgm0yPBpKlpBXmV63sQ+hOKlaxersNW71bUlQvGSltiPYlv+fK7rqC9iwAuKmtrx0x6oIiBZJ+Jm/UavvWfNYnGKwGjd1kfSY2Yyad4FBUJ6477IzIbaAaDD8U+WgYzrywUNWYzzUAWEH+iphmB7yuyiEXsuQVgTzwWJz8Gje5Cgjut7awEmulvYcj3lI1eNK72aIz4rcZiCBHQuiAco0BW 7HMtvKby IgrbO5nREqfwKpbeTt7rQt0+Za73E9bUstV4glwiP1nPRy2g1nt7Xdn3u1w0TZcfHqF9iO55K5XQaS8cnmN9BvXqufO7KzhsbH7xaeJirbBD21sA78Gers7lDoJibRl4XfJgcmCUloSMJaOSS0AJtyKp12C7f/7gkb1dBeUi8En10i0O9B58zd5Iuur/ilhbN17Ce4ZOXSTDIHGyE9X1o13ReIbe5QUqUZB3IsJokZbSRubYT8tctOR2KGTzc+gRnfaoSkJ43rWjtGXK35lyVBaUVhm33bvRgWhFwQXogbr7TBwAIxK/akoa9jcQw/w4dVXA6kDlY4CzKvKosgefTbaSZXmQX+LnLBWrtRGZkZOynNjDT12vSRHT7cb1Z00lu/SQW0RPfu7x+ZLgOBC7Bt78f3yGu0mJVHOfNa07+/NkANamAquBdoNix7MwGVBsKeIunMWi40MKww7YLZ0sbmyzYMg== 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: The test code is less useful without debug, but can still do general validations. Define mt_dump(), mas_dump() and mas_wr_dump() as a noop if debug is not enabled and document it in the test module information that more information can be obtained with another kernel config option. MT_BUG_ON() will report a failures without tree dumps, and the output will be less useful. Signed-off-by: Liam R. Howlett --- lib/Kconfig.debug | 10 +++++++--- lib/test_maple_tree.c | 27 ++++++++++++++++++++++++--- tools/testing/radix-tree/maple.c | 1 - 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index be272aa2fc0a4..17ba96a3c7bfe 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2293,9 +2293,13 @@ config TEST_XARRAY tristate "Test the XArray code at runtime" config TEST_MAPLE_TREE - depends on DEBUG_KERNEL - select DEBUG_MAPLE_TREE - tristate "Test the Maple Tree code at runtime" + tristate "Test the Maple Tree code at runtime or module load" + help + Enable this option to test the maple tree code functions at boot, or + when the module is loaded. Enable "Debug Maple Trees" will enable + more verbose output on failures. + + If unsure, say N. config TEST_RHASHTABLE tristate "Perform selftest on resizable hash table" diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index d6929270dd36a..93b40a78c4f55 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -11,12 +11,33 @@ #include #define MTREE_ALLOC_MAX 0x2000000000000Ul -#ifndef CONFIG_DEBUG_MAPLE_TREE -#define CONFIG_DEBUG_MAPLE_TREE -#endif #define CONFIG_MAPLE_SEARCH #define MAPLE_32BIT (MAPLE_NODE_SLOTS > 31) +#ifndef CONFIG_DEBUG_MAPLE_TREE +#define mt_dump(mt, fmt) do {} while (0) +#define mt_validate(mt) do {} while (0) +#define mt_cache_shrink() do {} while (0) +#define mas_dump(mas) do {} while (0) +#define mas_wr_dump(mas) do {} while (0) +atomic_t maple_tree_tests_run; +atomic_t maple_tree_tests_passed; +#undef MT_BUG_ON + +#define MT_BUG_ON(__tree, __x) do { \ + atomic_inc(&maple_tree_tests_run); \ + if (__x) { \ + pr_info("BUG at %s:%d (%u)\n", \ + __func__, __LINE__, __x); \ + pr_info("Pass: %u Run:%u\n", \ + atomic_read(&maple_tree_tests_passed), \ + atomic_read(&maple_tree_tests_run)); \ + } else { \ + atomic_inc(&maple_tree_tests_passed); \ + } \ +} while (0) +#endif + /* #define BENCH_SLOT_STORE */ /* #define BENCH_NODE_STORE */ /* #define BENCH_AWALK */ diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index ebcb3faf85ea9..cf37ed9ab6c4d 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -22,7 +22,6 @@ #define dump_stack() assert(0) #include "../../../lib/maple_tree.c" -#undef CONFIG_DEBUG_MAPLE_TREE #include "../../../lib/test_maple_tree.c" #define RCU_RANGE_COUNT 1000 From patchwork Fri May 12 18:20:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239623 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 04B24C77B7F for ; Fri, 12 May 2023 18:21:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 86711900004; Fri, 12 May 2023 14:21:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7C923900003; Fri, 12 May 2023 14:21:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5A5E3900004; Fri, 12 May 2023 14:21:46 -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 23D1E900002 for ; Fri, 12 May 2023 14:21:46 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id EC282AE493 for ; Fri, 12 May 2023 18:21:45 +0000 (UTC) X-FDA: 80782421370.20.E248AE7 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf11.hostedemail.com (Postfix) with ESMTP id 3FE9840011 for ; Fri, 12 May 2023 18:21:42 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=1THEmRfM; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=syraMOC8; spf=pass (imf11.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915702; 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:dkim-signature; bh=7MLcv1G8LkaXK+scWyvzIEbLLyWLzRFzfze5eok9DRY=; b=t9kFPZ57RtYR29kvjHuAGyaoQzZKvP1vq1QAk/4/wlZsExVugydmSXrneCnHL/G0GNKLS/ Pu1teECY2PpvEvWdYlz8quW9HmhZ+2R3RfNu29FhukribIHnLtuLQ0Mqwx5js/HawRpvFh iLvEDaEj4v1CXkHMMVxrlx2N/LvvDRQ= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915702; a=rsa-sha256; cv=pass; b=SrzzNKY7l/kv5Ea+qVO0mb/Cu7KCVvE+FIAS1wg/1HogeFlayGVj9T/5Y6QvPFC7egpvju l2M/dUp2LKsEuYktcMKT7YNeLqfk4pfmCFDS+CGVtwQTHmHGNSR1VwZYK8cl2cHdrzgSyY CKCUKn4y5+LytdvaI+gmLGMaW1Tao2Q= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=1THEmRfM; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=syraMOC8; spf=pass (imf11.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4aDl021732; Fri, 12 May 2023 18:21:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=7MLcv1G8LkaXK+scWyvzIEbLLyWLzRFzfze5eok9DRY=; b=1THEmRfM7CBUTlInFna2M+mcQY3YW+rIwS0iMwQ0FEAM9SE8oYd1qixzTrOCWjI5iUet ot1EJKgvvQVYY0idq/mgyTHAHtsCRS1BuaRdYL/M3NvZPgJS4yYfY62W6xX93jZrHfeq andIucI6YYYYQnlSQMU+aw8Q5RqR2ZiFmhpMVOEMCfHzu94OLB4Rl/ioUvSYnxJgLuZ5 WLRrN6DB6/99kbVvJfPI+TPvx7y1SefdCbl89nJdywLSxvg+i/PeZpplm7ImEyt84CCF DwL9ox/3JVhboaeapQNk33tW7sa+v2+MXfvt1c7X60FSYTVNRf9ZVB8nBqcFyaH6BRSl Tg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf7793h35-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:40 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CGoFFF024387; Fri, 12 May 2023 18:21:39 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7y8gtqj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MdIS/0Hg6oQNMlW1ZVOrgjAcitDQXoHDX0v3i7wzEPrBC+dmVdQbrdBO6SLBW2Am2OoFVixke/DpnGfGLQ2/+mlyAtJjUPSsMGCgOxe+u8LydGihxLLZYM/1iFUci1ChlCMhCVs38owCCI3lTJX+c/mYG23pJtYSwu8LT2HKAu88mDZOtwoBADmNGB6a59sZp/ln+TkJND+knWqHrpudU1xuykBjU5O8cAfW6gjP70sLMPOVkUhjRJywJvRISVYz/gPBQN7mBU+xOdYT2MbhV4xYo77lUwPLAMhD3lXR6DSgzVX3K8HKocSzNBCxMVBomZx0gl8d7CgrfiQCh+H+bQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7MLcv1G8LkaXK+scWyvzIEbLLyWLzRFzfze5eok9DRY=; b=NkvoZ6uWOj0LjfaN9V1lI3UTvBgKuaSMSF9dpvBiW3joCTZya+fT6x6mLk7aalYP/bPHPf6ZPJyGsaAJs8fx57oJyqwtLjnfEH087a4XWTeWsxHS/CVVSXl+vVacOtdEvVmvRzP+/U7TgdXtgM/pFClxlIYW6hwHNX+8KKAEYFwZpZrBneqwobgvG8VwG+KdNf4txQ/rzD8evE+3PXhO6mtbVHmexb9r0MiK8LR0IWIdzh5XxdzOdGHTJxr5nw5pOp9QPBw3s2Ju0qV1v9WoYW3oyFS98mR7mzj+ZyKbX5aVW4vT9IP1nKaZdqbdzL+QT7OxfYtNmzhT8UmjRBqWVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7MLcv1G8LkaXK+scWyvzIEbLLyWLzRFzfze5eok9DRY=; b=syraMOC8SBqWtewJx2C5QHqdQebPUxEjXKv9EyVCdLkO7GcGBmabAP885o8mwahsKKOgYjFiirkKZ1f4ICf/9y7/+F4T36idjTYFYsXoNWFy8SEDlW3hMJwLYRa4uxIOiF626Su8UMFMJihYoun7/22++tTqs8Tk8H/KDjwN6FE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY5PR10MB6143.namprd10.prod.outlook.com (2603:10b6:930:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Fri, 12 May 2023 18:21:35 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:35 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 17/35] mm: Update validate_mm() to use vma iterator Date: Fri, 12 May 2023 14:20:18 -0400 Message-Id: <20230512182036.359030-18-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0088.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ff::21) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY5PR10MB6143:EE_ X-MS-Office365-Filtering-Correlation-Id: c192b094-e227-474f-22bb-08db5315b7f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lU/azvj2KXt72Bl1TAWYcV0VDl/KSLeKDGy9+xannr2ckydWqbUhx2cegTlDd4kmyTU7UwqmJR6mgdSIjCv8Do9UMfcx6kAGr7LjiOCGN1itxexZhNq/+QZ8XFPTyBm+K2nZDfO+mvnfGA/FhQYuJN2kD9PstJy82eraIwhYxbkyUAsFoYDEL+4PNSzAo7zGGj7HYMe7juK7kPoAW2m9Jr3BwlDXRillIGuvCW677JQ6FsOtc2HyTCSIglhovWW+Zhj22U2YVJ3za4GOd5rHangiso4h5ZYrQ1FQ0GojG1B29AZw4Xvk/lVA3JwTsYKGKis1ky7+TO7ba/iuFTKb4z1OnxMab+FjNQlN5s6eKptyN/Lrh0A+maCJs/FC9+Mvj61NV6Qc+shh4zq+oV1TnSUeHlHUVINkw3BTM62zL4mSiBpOinS8HLJtQZrism46J493nhi3NXpivUCnrCTApMIfQrOKT1Ba9CScVenBsSElpbVcQ3sLph1BPrJVTr7HK+TtNTxYcnckLtCNAUYEHw8f1QD1K6hpzK8e6k/abSLyj1spnaHfSZSLQw9EuaRm X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(2906002)(15650500001)(6486002)(66946007)(41300700001)(316002)(66556008)(8676002)(5660300002)(36756003)(4326008)(8936002)(66476007)(6916009)(107886003)(1076003)(86362001)(6666004)(26005)(6512007)(186003)(83380400001)(6506007)(2616005)(478600001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1anzwDG4d6Hba2ECpgag0LTinKuCVJtwDCsHqlS9WI1lEY4JJb3J/IE1KIddr+IsptJZidEuUGeIYpdJNUoNkeEslXSynlkr1EiU5I0b6YlKQw1RjegXoSNItuio41iZarVDgR+SJEhfE1E4dWQHzuOVSKRwOuiVk9xTr1fHaiP+jgokBkXiBVtkDrC3cOuhoeOzmYrCoDQ30jO4hEusc/EEi8B4mkanttUlJjB+iS9wU/U12qy7D/fy4fVylIbopGdQ3MFbnvw2n3XVkJneuT7QQuKTrLSYyg3++rDFe3vPp6ddkqHwUAUh7o8YSGncd1O96KNdupEXHuyV6KDc/uchbM0NQmb4A9hMjBB3Zce6jlP1G9+drAcWcFD7vigWo/mEHwBlhq9yH66xTjhbqrurNK2OOfcY9zQZe5d5h1WI91w+L6T3twZugwkBjyVDGHkl2nX9TCpz3qmxhVeFh8lLvglMFAUyGRCEwLGpkGTZLChgMnIlzRKyIsJNsZUxlE4Wo4PzYFaXyX8oklz3p7y0ZMAA7URyjyjlwwz8QQ7t5XfowZoWci90cdPRqrcFo4TInzZmhH565c/eGWtZ1gwRk3mt7Lwnwjdgge2aYDfxqMmtEW4vq0FzKLiOWLbZZgvLVJg6x3n+KzZW798T6p1oN8aK5auxMW5FsxpICziRNPgjSy9O+6VQKO+tFcketABOJJB/E33g3Nnh8xxjN+Jt7mG5jOaNvRJVJzsrWHfIcZtEo7fcLlC5C5Anr9kd48wI6IkY+bgZukae9RklUnHXknC9wbBJ+zSNa52Rc5kp8VeMEsCumgMQPaONEdcYechYU4fDVdQLNhI0H5Adv/zHX5uligIKvN+7XvOgzRy3Up/eIyddbbhd7dLCjjQ7ZiJUd/b4VL/FwDDUrF8u26FCRLmE+yuiXHTCRJGdb9lYS/Cs9YbZ9DsJb8lDsceL8EiyHD8QywdtiKo/Sqxc3AbK4exzeccKmkPsdqckedlymMe1CH5eFEqesuG9/sAs3St8ae/73dToJrJaFXdqROv7uteHcCKbUUSMXfdvOLtpk2stHzIxZKzToKvQDpzEy7d4Prl0Qt9mraXiOh6BZiC0riVe7qbRQImL69nfR+7J8NMFztgP0OuipC//dad5dC6ke8GnrpUf84tiduKlyOMNxTjQADe/6lCKRm1eFJ8bJMUE2FA9laG/XoxufOs4cP6Hq9wrqHSX1R9eyfYe5P+KG/vjpOO3yexY+TKvEl9DK4GySoDd6qUhpxHYvikKoGB9kl8VY5BisjDHF5BA1MEEwCu2kH/azGheF+aNQ5/rJRzEt2Mgyfa3MWe5MWqF0+8Ki46lRshtJozXnG9wY0cRWkBL1Z4pNUtJbH28uL8gcNDqnArer4TMBOErN5qgaR2ssDndftuIp6xfRf+Koh3575jxmvZxVAQJSykHYjQflG0Udfc6271g6NxyzYyE3hRCJyRNwaWiFMJgAm3CYjm0sI70RzVz3VLkU6kO7FZTQERmtT4HvrdZ2GmA3IoQxy9GVfWdNgj1/B17abbCWTjeD6oFO8nNttdvtIUVh+JHEYN1NLPXt+xa1BxPOAyclgWUZ+L6xqMIU1ONStDTgg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: TVip/8nMJIQHuH6WbSbZOIJipwGB9ScNMm4ye3t6n/d2DK1gGNBL1Trs49E3/pUSVq3/VwxkCqlVALgTKs0CqFDwuS36XLL9b8GLjPT7m9Y8koJILvSC4QWLsg5UUyEPI8mvPbsIDR5WD28c+JgoeIkOsrCVY4CCBcn3NOrXAYhsKV7KOaIlFFend8sbyr0YNAz/uSLA567yjVCzQPko5vh6svbMUIqBlyoVhyI7m31WY3j80JAcsFdNPjsyYhq9NHe7vnKUNHBjar7HBXDwuC9sbvcqeivvLQyqdg3QqFwbpvUSZ0kdvtJdu+Ecz1dVy4uIaTc3Z3oN775Qbdj1TfR4gSkpCq6FhgobWu4tpU9+zmAvFUTWdiBuuqoQLrDVWQhP7a2NsMdoL+BRVv6QT/GjMtXaGbnXNfHRD9ybpde9GvxUA06g7atYouJcyf483JXN7low7/UQbmW6RzkR4pdgN4m76Ff37DabCRQYsO7SuiW+e7mEPQjz/DEKc7cC5WpE7D+on2kGIOewEs8CJzUqtZCnI6azf4z8yxjNcG+gACbiBP8/ryZwXa4dB8y0h6jN6MXig7YpblWJh108SrIBixyPKIVAj7ykSjVIkorggCFl3fZjrvJYsHTj32Y7g1SttjrDn3jxKJw2pe841fDYFLfOKmyOW7vWgMaCC0HyRt86OQwc3DsTA5TvIFlmgk16S93xNDkIRl0vjav2K+/ZIIET3gNlFqfIMjprGhBtB5QYtyZZAm6P50HTHZBckr+mCNWORlRON385Qo/AgV/3rJfB4v8W5xSLhMg5KpjpiF3vur1j0xeWMYz5706wrAlRjFUXmMLxYHvX3Z6TmBzuHQVH0F79Zgw82n9vocYaebqc79G9wuYEMRsfTX4keQXFOVqW208OZT/BhHn+KA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c192b094-e227-474f-22bb-08db5315b7f2 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:35.0028 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uEOqID7zyKoqQPwqRS/tlgv1POy0ZEJNHpqODxwUOC+DYHBMClZimVAuGTnHCIwJ6S844qmFYe/uGQHLn/6MRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6143 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 adultscore=0 bulkscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: THtmXAa2XHHW88ypvVy__sB0Xa0xRRxc X-Proofpoint-ORIG-GUID: THtmXAa2XHHW88ypvVy__sB0Xa0xRRxc X-Stat-Signature: mscwzwfe3wwn3ywoxq6m866k7jftzb17 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 3FE9840011 X-Rspam-User: X-HE-Tag: 1683915702-980791 X-HE-Meta: U2FsdGVkX1+iqaV8YglCD6Lvb8+Ljn+p3BRKY5lZK04PysoGfihN5NlVLWC/i8QZDNP+xbJzrBdBda0db0nLQwwdIm4VJ8hEbMhaM1LPaeX7REwkG3dE67J15INNzq4d1EWTKxxfUkhar7yajAOaa/oiJm/FIMnMc2o4mWqmdebLdw4V6jvKGj+dbJhPtTQMVOBiTfy700Xo0TlDLb6K6saRkCr8yzFYPIR0SHFatYZg+YGoAmUqmgoNPfa02a6DEo7TTQDvl8AWVWir+qG06BZpLUkFRMf6bE/J84/N3TvdDcyBgu36yVpQ/5S1UzRwoiTRgZ+1ropcau8z/vBO/FkMq2Qz83i+o9J/MIjzwMXrFr0z9s16B3Wi75jMqOXey+3NmPG8j0XqRoEF0KGNbS7SjhVO7LITJ3kL3eT/UYDaQhe8MmEWc8ttfcn2d0MIML8d82MFTNTbd3V+zvmbTz6I7LwBHSoTTFKBPySqjcTnRKtsvW+Ye/Z03QdL8tw+iO1S+yvLt7QdLWbCyoBIGIbpZLKYceDiqR4fy4YKG7+oneLTg+3ufFm3P7fJSwMjImH58JHfmWePAL0ilh76asN+fyWuWw7pldAiqoQMiRNAmBCXpwPSkHtFt/2kTlzEykLF7DwgfZw5x6rD6+7hJIo7SUUw3N6ikB7m4Rs8ER2YNsSDimGa9op4uM6vgpUcIBCDUzOEZqx2vZ+3qs7g2V8Hn7sMEa6cEBLaDdOneOXVQq3/JNXsDveisF2ZGs92196HSD6m2T6tJQQoDiyo1wl3pG2KgjuPvUCQJp+1Ik/brExnP9qZlWdMrsogMKG2kstSUBbMM8dhiSe8HwD9FuboZM0SVdvMYw1bEeDd/K5nNxCHPR/ooujMTwdSPCsdz0PeoWkq/X6etxABn5qHmlGaCjRgrC1yAmqLbsT2gRibOWM7GJ+xhJoodmWFrJ/sY2sFbSV05luG5zAJVND cOWxReTx MhSDS9r4ENCx9rL2cWhswLm7fKsL+gd10XUHSum4HwD4wR2rhd5cpC9Zin4Cgj4tixFZ2zLdYHpRfQaMmLvoQ2LOEAQw93Z5gVdxOLLRb2991ozTnLP++ZMIemEy9AET1EkHsF5m2AyLm5Cs1pv1V2fKWkO5YRdbQlwkQnZOD58X8MHBiCn8st2KEsnE7BSqISmVbixMn4iQhxYlJhEejUC4sHEbGIWd+jHkCGg8Hs5S9gTOY00u7iby4RPtCDWmKasXwsRPivrSjklxzBvBYGaWbUfZcOBkYZnHBh6xbQcZDHOTNXJFxdJSpbdjnIf6xn0Eb8vsRS/0fvJvlXNbbfHB+xguMCVeE/i09rpWsBdzSae+kYO9UnxPPDX7TenUlLPlZuYbelkUKz4mXdNLT2kKREDQ6m/F5mkCsXMywD+p4uMQ= 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: Use the vma iterator in the validation code and combine the code to check the maple tree into the main validate_mm() function. Introduce a new function vma_iter_dump_tree() to dump the maple tree in hex layout. Replace all calls to validate_mm_mt() with validate_mm(). Signed-off-by: Liam R. Howlett --- include/linux/mmdebug.h | 14 ++++++ mm/debug.c | 9 ++++ mm/internal.h | 3 +- mm/mmap.c | 101 ++++++++++++++++------------------------ 4 files changed, 66 insertions(+), 61 deletions(-) diff --git a/include/linux/mmdebug.h b/include/linux/mmdebug.h index b8728d11c9490..7c3e7b0b0e8fd 100644 --- a/include/linux/mmdebug.h +++ b/include/linux/mmdebug.h @@ -8,10 +8,12 @@ struct page; struct vm_area_struct; struct mm_struct; +struct vma_iterator; void dump_page(struct page *page, const char *reason); void dump_vma(const struct vm_area_struct *vma); void dump_mm(const struct mm_struct *mm); +void vma_iter_dump_tree(const struct vma_iterator *vmi); #ifdef CONFIG_DEBUG_VM #define VM_BUG_ON(cond) BUG_ON(cond) @@ -74,6 +76,17 @@ void dump_mm(const struct mm_struct *mm); } \ unlikely(__ret_warn_once); \ }) +#define VM_WARN_ON_ONCE_MM(cond, mm) ({ \ + static bool __section(".data.once") __warned; \ + int __ret_warn_once = !!(cond); \ + \ + if (unlikely(__ret_warn_once && !__warned)) { \ + dump_mm(mm); \ + __warned = true; \ + WARN_ON(1); \ + } \ + unlikely(__ret_warn_once); \ +}) #define VM_WARN_ON(cond) (void)WARN_ON(cond) #define VM_WARN_ON_ONCE(cond) (void)WARN_ON_ONCE(cond) @@ -90,6 +103,7 @@ void dump_mm(const struct mm_struct *mm); #define VM_WARN_ON_ONCE_PAGE(cond, page) BUILD_BUG_ON_INVALID(cond) #define VM_WARN_ON_FOLIO(cond, folio) BUILD_BUG_ON_INVALID(cond) #define VM_WARN_ON_ONCE_FOLIO(cond, folio) BUILD_BUG_ON_INVALID(cond) +#define VM_WARN_ON_ONCE_MM(cond, mm) BUILD_BUG_ON_INVALID(cond) #define VM_WARN_ONCE(cond, format...) BUILD_BUG_ON_INVALID(cond) #define VM_WARN(cond, format...) BUILD_BUG_ON_INVALID(cond) #endif diff --git a/mm/debug.c b/mm/debug.c index c7b228097bd98..ee533a5ceb79d 100644 --- a/mm/debug.c +++ b/mm/debug.c @@ -268,4 +268,13 @@ void page_init_poison(struct page *page, size_t size) if (page_init_poisoning) memset(page, PAGE_POISON_PATTERN, size); } + +void vma_iter_dump_tree(const struct vma_iterator *vmi) +{ +#if defined(CONFIG_DEBUG_VM_MAPLE_TREE) + mas_dump(&vmi->mas); + mt_dump(vmi->mas.tree, mt_dump_hex); +#endif /* CONFIG_DEBUG_VM_MAPLE_TREE */ +} + #endif /* CONFIG_DEBUG_VM */ diff --git a/mm/internal.h b/mm/internal.h index 4c195920f5656..8d1a8bd001247 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1051,13 +1051,14 @@ static inline void vma_iter_store(struct vma_iterator *vmi, printk("%lu > %lu\n", vmi->mas.index, vma->vm_start); printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); - mt_dump(vmi->mas.tree, mt_dump_hex); + vma_iter_dump_tree(vmi); } if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.last < vma->vm_start)) { printk("%lu < %lu\n", vmi->mas.last, vma->vm_start); printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); mt_dump(vmi->mas.tree, mt_dump_hex); + vma_iter_dump_tree(vmi); } #endif diff --git a/mm/mmap.c b/mm/mmap.c index 76eaf12f13903..bcebfd9266324 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -299,62 +299,44 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) return origbrk; } -#if defined(CONFIG_DEBUG_VM_MAPLE_TREE) -extern void mt_validate(struct maple_tree *mt); -extern void mt_dump(const struct maple_tree *mt, enum mt_dump_format fmt); - -/* Validate the maple tree */ -static void validate_mm_mt(struct mm_struct *mm) -{ - struct maple_tree *mt = &mm->mm_mt; - struct vm_area_struct *vma_mt; - - MA_STATE(mas, mt, 0, 0); - - mt_validate(&mm->mm_mt); - mas_for_each(&mas, vma_mt, ULONG_MAX) { - if ((vma_mt->vm_start != mas.index) || - (vma_mt->vm_end - 1 != mas.last)) { - pr_emerg("issue in %s\n", current->comm); - dump_stack(); - dump_vma(vma_mt); - pr_emerg("mt piv: %p %lu - %lu\n", vma_mt, - mas.index, mas.last); - pr_emerg("mt vma: %p %lu - %lu\n", vma_mt, - vma_mt->vm_start, vma_mt->vm_end); - - mt_dump(mas.tree, mt_dump_hex); - if (vma_mt->vm_end != mas.last + 1) { - pr_err("vma: %p vma_mt %lu-%lu\tmt %lu-%lu\n", - mm, vma_mt->vm_start, vma_mt->vm_end, - mas.index, mas.last); - mt_dump(mas.tree, mt_dump_hex); - } - VM_BUG_ON_MM(vma_mt->vm_end != mas.last + 1, mm); - if (vma_mt->vm_start != mas.index) { - pr_err("vma: %p vma_mt %p %lu - %lu doesn't match\n", - mm, vma_mt, vma_mt->vm_start, vma_mt->vm_end); - mt_dump(mas.tree, mt_dump_hex); - } - VM_BUG_ON_MM(vma_mt->vm_start != mas.index, mm); - } - } -} - +#if defined(CONFIG_DEBUG_VM) static void validate_mm(struct mm_struct *mm) { int bug = 0; int i = 0; struct vm_area_struct *vma; - MA_STATE(mas, &mm->mm_mt, 0, 0); + VMA_ITERATOR(vmi, mm, 0); - validate_mm_mt(mm); +#if defined(CONFIG_DEBUG_VM_MAPLE_TREE) + mt_validate(&mm->mm_mt); +#endif - mas_for_each(&mas, vma, ULONG_MAX) { + for_each_vma(vmi, vma) { #ifdef CONFIG_DEBUG_VM_RB struct anon_vma *anon_vma = vma->anon_vma; struct anon_vma_chain *avc; +#endif + unsigned long vmi_start, vmi_end; + bool warn = 0; + + vmi_start = vma_iter_addr(&vmi); + vmi_end = vma_iter_end(&vmi); + if (VM_WARN_ON_ONCE_MM(vma->vm_end != vmi_end, mm)) + warn = 1; + + if (VM_WARN_ON_ONCE_MM(vma->vm_start != vmi_start, mm)) + warn = 1; + + if (warn) { + pr_emerg("issue in %s\n", current->comm); + dump_stack(); + dump_vma(vma); + pr_emerg("tree range: %px start %lx end %lx\n", vma, + vmi_start, vmi_end - 1); + vma_iter_dump_tree(&vmi); + } +#ifdef CONFIG_DEBUG_VM_RB if (anon_vma) { anon_vma_lock_read(anon_vma); list_for_each_entry(avc, &vma->anon_vma_chain, same_vma) @@ -365,16 +347,15 @@ static void validate_mm(struct mm_struct *mm) i++; } if (i != mm->map_count) { - pr_emerg("map_count %d mas_for_each %d\n", mm->map_count, i); + pr_emerg("map_count %d vma iterator %d\n", mm->map_count, i); bug = 1; } VM_BUG_ON_MM(bug, mm); } -#else /* !CONFIG_DEBUG_VM_MAPLE_TREE */ -#define validate_mm_mt(root) do { } while (0) +#else /* !CONFIG_DEBUG_VM */ #define validate_mm(mm) do { } while (0) -#endif /* CONFIG_DEBUG_VM_MAPLE_TREE */ +#endif /* CONFIG_DEBUG_VM */ /* * vma has some anon_vma assigned, and is already inserted on that @@ -2261,7 +2242,7 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vm_area_struct *new; int err; - validate_mm_mt(vma->vm_mm); + validate_mm(vma->vm_mm); WARN_ON(vma->vm_start >= addr); WARN_ON(vma->vm_end <= addr); @@ -2319,7 +2300,7 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, /* Success. */ if (new_below) vma_next(vmi); - validate_mm_mt(vma->vm_mm); + validate_mm(vma->vm_mm); return 0; out_free_mpol: @@ -2328,7 +2309,7 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_iter_free(vmi); out_free_vma: vm_area_free(new); - validate_mm_mt(vma->vm_mm); + validate_mm(vma->vm_mm); return err; } @@ -2963,7 +2944,7 @@ int do_vma_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, arch_unmap(mm, start, end); ret = do_vmi_align_munmap(vmi, vma, mm, start, end, uf, downgrade); - validate_mm_mt(mm); + validate_mm(mm); return ret; } @@ -2985,7 +2966,7 @@ static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, struct mm_struct *mm = current->mm; struct vma_prepare vp; - validate_mm_mt(mm); + validate_mm(mm); /* * Check against address space limits by the changed size * Note: This happens *after* clearing old mappings in some code paths. @@ -3226,7 +3207,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, bool faulted_in_anon_vma = true; VMA_ITERATOR(vmi, mm, addr); - validate_mm_mt(mm); + validate_mm(mm); /* * If anonymous vma has not yet been faulted, update new pgoff * to match new location, to increase its chance of merging. @@ -3285,7 +3266,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, goto out_vma_link; *need_rmap_locks = false; } - validate_mm_mt(mm); + validate_mm(mm); return new_vma; out_vma_link: @@ -3301,7 +3282,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, out_free_vma: vm_area_free(new_vma); out: - validate_mm_mt(mm); + validate_mm(mm); return NULL; } @@ -3438,7 +3419,7 @@ static struct vm_area_struct *__install_special_mapping( int ret; struct vm_area_struct *vma; - validate_mm_mt(mm); + validate_mm(mm); vma = vm_area_alloc(mm); if (unlikely(vma == NULL)) return ERR_PTR(-ENOMEM); @@ -3461,12 +3442,12 @@ static struct vm_area_struct *__install_special_mapping( perf_event_mmap(vma); - validate_mm_mt(mm); + validate_mm(mm); return vma; out: vm_area_free(vma); - validate_mm_mt(mm); + validate_mm(mm); return ERR_PTR(ret); } From patchwork Fri May 12 18:20:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239624 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 2EB02C77B7C for ; Fri, 12 May 2023 18:21:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B78D7900002; Fri, 12 May 2023 14:21:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9F029900005; Fri, 12 May 2023 14:21:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 753CC900002; Fri, 12 May 2023 14:21:46 -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 579DA900003 for ; Fri, 12 May 2023 14:21:46 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 34B9B40FC5 for ; Fri, 12 May 2023 18:21:46 +0000 (UTC) X-FDA: 80782421412.20.0D04231 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf25.hostedemail.com (Postfix) with ESMTP id A7F4DA000F for ; Fri, 12 May 2023 18:21:42 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=f0qvYQeQ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=m80POWFP; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915702; 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:dkim-signature; bh=NpwcPm1GcD71KNuEXeXQ/C5WFCoC3jHOpQsDf+skUYA=; b=49gPHEXUFEWLl1XKd92HYKAVpV8Zs+EhvF6aRMnyjSysz0G7ieP+uGWTfPGb1iO+0ocEIu I8ZekSX+lrPM6o3XH4tj2el6oAwv71kfUGCdp1PzTa4L00Sm++PFLGAMVZ+YHncRPmnMGa Qq1fYmB9pg7+3vqnh+mrN1OYwwlWWDw= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915702; a=rsa-sha256; cv=pass; b=P3EwcLGbGmp/oUUJXvs/l0pUW7JbfoFFpGtphLjw6++c6cdak6kh3IENWb13GAmidbCvaK /RIUOmTKBH/Py+shFkvEDQfyJu6BfAB/hsHJ4DUaklCXo/Ml5sldtf+V+OmoFQgPxWZHnO zCFyaATuK0d/642iYg+I8Gccx9umpBM= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=f0qvYQeQ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=m80POWFP; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4KR3002765; Fri, 12 May 2023 18:21:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=NpwcPm1GcD71KNuEXeXQ/C5WFCoC3jHOpQsDf+skUYA=; b=f0qvYQeQZEnlj6nPCRw/wQHw7OfkKvrzbnw4+T9/o9E/3XJhK4ejJO3EaEsBaefgvSRW QQ0XfdM7eEXbhYwkh52sKvWxHCnhDlmojEkdzMIJZcbytM9aTGInq1v9sFm9Z/PR5kEI cjd7MaJhzFSEegElsPwqEyOHjJJvhJGWjhnYi8Zx49Op0pJKGRldocpwQyWX4RTanOIZ fuwj4GB4x3oXFcFC5AA2mgkMmiWicSQFf/zR7rswawbBLs70RpKLdHTal9hn4BFVtGvc zGfYIIFUduCwSPkGC3xhNOeirrolO/PdVOogsP4HviyMNFY2AOVvn9L/XQgzquPTxXC7 Pw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bkwj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:41 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHe6Ex014369; Fri, 12 May 2023 18:21:40 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8316c7y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GGQa6E9hvyrF1ptrRUrFohxBR9TmZkp4SlKhGk+tgy02alvw8DUm1XwUK7IJUzgcbyKhBAdQkBJOKXVEID0RpIS/9fu4Z4i8EDDpsEVKmo8V/jwZXIZOq2FwD4/InJqH50R9aNjrJE0qc6gjFmexRmeRYR2ob3+fjDsGFQ2eLwCJ7Q/+f5Ipm9R7w1JnsSgVSTNEQIGXdM53yg0W1/VgIs1ZLnbL4/HP1KFRlN8eSX8FB2IZeFc29u6XG95UVzmKccHFTJdmDlWmziGvekwwYmkNVw5ojmZMc0tdr1H2f5hJRHT6A2Z8vZnv5MTlKeFTB1BFz6vWruh0YcDWXm6bVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NpwcPm1GcD71KNuEXeXQ/C5WFCoC3jHOpQsDf+skUYA=; b=SdshFs3zXfvOKtimhW1CDscG29kAhlFhADfrgiu7Wd106gVSc56byjlpbndYm8KAlGAnH0EoU4YE0AnoygmQqE5G6PlACgIJWzmjbhqfSndThJhWf/nDgygOnJYFGE/+H4MkGJOGxNgGawhvzn/ksuXSK0bAsXFcUzSOxMDYkunZ1Z8u/UbTVnFJx9Cof6L7m/JtFJ0j5VRIIEbkSCUe4Aq+KI6d3SYnQfYFtj6rmVO4LMw6vGsWtWXZlmig0dNdTIa55+eonCOkcPsfV2uQPdFaeZ81y4CQrvfbq5i7SjKr5I0YJUrAqkfMu7EB5ZK1sGv47lMnH1SnwJGWgyKVwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NpwcPm1GcD71KNuEXeXQ/C5WFCoC3jHOpQsDf+skUYA=; b=m80POWFPk8tjrfWrg1nHXKjTdOwE+eoyG1nQ01sXB04T7TAy4jy+rNjHgr8PitssLkl9TLBtHIMk0cX9fr3w/dNZFbpkjTJpsGAN4Xs4o4kUTsXYflUwkql8jdEejl543R+pCj48YXEBmBUye8RcZvA3+YcxG/HvspL8/3lx6u8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:38 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:37 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Sergey Senozhatsky Subject: [PATCH v3 18/35] mm: Update vma_iter_store() to use MAS_WARN_ON() Date: Fri, 12 May 2023 14:20:19 -0400 Message-Id: <20230512182036.359030-19-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0076.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ff::20) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 0c3b1b4e-032d-447c-5907-08db5315b974 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xym+iGjq1oMyf4HxiGUy0TPEEiM06k8BXBSRIr76BhjnSvvLw4j3U0qA7s1+2k1jPhc1IQOwFDaDgRM0uqEAJScwFmGDNfLKZsJ7MLXgJQloAl6+j1azwZXH7thdy+wz3wSoRBrRSMRTk6oyH7Le++GsVtGlnrHPBmBr/S3WVVpCHn1Rtf1nMhl1uAcu1iDGTVdYYEV65u2Cm/PyuiAtpMZbZewUA412my8XFOntl8oRZqfgH2vcKlbnxumtUP3sPK+qTc0lLtlJkj+Ck/0dN8R8BpbM6oGz2rdvSEz9Eu5h5RBvSATWr3Ez23V7/Kbh6AZcdRDsM912S1EMwj5MUWicwuWNzz873odyzTKVdeH6TeREUyJOLiOemYBnlNxJpYyrbnwcvUrIBMNxskmRAyvYyVVlA5Bfqje0Gw/Sy3AoyMD2YDbRhE86Q4Bc3xy0H4G4+3M0Gp6OjoKGCF2CgblUT/Ysqpfs/h4W2bQmoMKLTLOKaZ+ie6bTnyTTVhA6zOiLkSY25+h2R2EAHmP9XkYjRzk/1zv5I3zOC6hdck2/4hpIRO2+gZBqp6Fj0cBW X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(15650500001)(66946007)(54906003)(83380400001)(5660300002)(6486002)(316002)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ImD42Z+Z0wV3PLPnP/HeT17jYRFW5djwI3WWL38uXuu9sszmrAqqtv0JyrQ2P15KyJTx7LZDsAel+y1jUWZwXS0Xj8g3ebCXvQmcD3n6V2TN2wQbDH1kF2mIP/8JQxDJjhkIkcwjl5LVnO4N1FEIV+e2rgEY02035tUucUXK0n1KYJAc/z1Eu7gPt0dkrSjHysXQIuooRL1JNRy401FRyDcWVBxo40eDpcTvNlIZOawbpyLYFjKc46yRA/JjWp2wGjY9INbknhZ4+zNnsWTFuViN+49hqA8v1bEMDf2woI1YUxV9rJymEZIwGoXRF+FhScwvefOqLWBZpC0t7OPHYc9wgPvDVYCvFgRFtITHvsF7TENtUNiKG2xoAYu07OZOAIhDNhXAQpJNiQtD6GRTR6QXWtfNh4rgMxCcW9a/+i1o1SLkxExoP9yUV/4Bveepp2zt2QaGK44ccWoHgIdUty6Pb6/eIZ3/3HCgWMW7hSBx8eQBWI3bh39/kA67U3BhDfdV0zHiyx1ffQ6NlXxRPbm5ATu9o8ewCLmbzplveWKlpfFA23Kp1DHySuv7CUWOetwcz0Xgz0OoZhrg2m6aWx5V+lh8ANk/NH0/XiBbqtg80rma2JaaFgY3OsuV//8WdlOAyWWUyV91qwy7jPTZ1keZHIi/wM8VruBiEnmgU/oG0FK9w/GzhspXfhgKkt7jPr1J7TwvsdFn46EFfoqsULfeyeTHCGRsZ4lbQCIQ7UP0KgRC5kiHbftMstyb5wurwCESQU26WDLCrkpx009dzm5Ya3ERKIeJpnPsZUEjK2FSMBRLUIMASAQT0cWVfbepY10eIF1m6yXl+UyR42xrBrX2+8QT3EWEcQxlhIHoELA58jUG6IYx7id+xXzUhxE9E/l1x/zQYSdtY6+pKV4uOXmMf/Ih9EDl9tyAj+UfFcGEUspvafb/IvndhC49svvDOlfFpthAkvbYYBmNBShrwLnmTI0uxuDzl9HEQlirCy0XRjtpjB4V0nX9+/YZ1XA6hhPPwrECdTY+ACznBEScu1cgiW5H08OwSDV+HG5/MiHkewBehkQ2DOVggcl8bI+JgjJBO0gsFaRBoxFf8LIa/oWMySuU4gtRHSs+uLhZtcJd6sLK2FTUGFeMsGnLc/I0Fk5P1NzR2RRuI6PL0tnBDSMcZ8ppgb1YUVyDtomthRJBU9V/LVghdZphjaePXEfsFG1WM5YjHxtheIeB+ylIWTuJSY4cVc8nrnSQxlvecTXkEDPICw74pvm2mmPV2RTvBC8Rczm2jjjGRvbjm/xiXju6+1AyqlM5OxoYkLkOaCS5h+Bzik3woMFj3pqLMbKKFD8nZKICt5Ena+5fVgcpFn56IrpSbM0wIHXd6R7CZwaE9UDZkLTFt3UCGHcG0wL15l1blqn8oi+ApqLmr2txfGZ1qdMJb01o8elx5haGEWwAhK1Z6pJginJIf2OB39ruAwJu4arxpmExomSFNLgQOX0boh5NK3AcRwSbVncOhjZKsa8pNQSCK7ewKnyq7Zdxt6mv5bQ5dLtCrmEpQw9elS6N/LbLbTax1+3ZpUXQ0LqnMCswA4Y0ixCnRnMTnORbC/G6IGNj6a/2k3HWr9ydAg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Q2OF1G5U/xAKb0WjYX8WbBxlLCOmXx5OsMxQ+2dTT40D2XKMRTwOZO/CQ3hx7DSExbiL8hHNeDfB6wIJW054sH41xQkcEyDlR4bkrpjRQYBBObxQP6eIMQPTXNkWrPc6wFGofXYncJA4WSl4n2WBWo+4hiLM+YOOimDD9NnKT8ricpC4MKO/Yp2QPc+yMt09C5j9DbJmcmxzhpAUrKuyeWm4C32rrt1PBEaryiQD6z6WW88DJ/Bni1nx+BTzrGHKyK7IjHkabe+ymWz+W172qf48a5eyqkmJYWlSwb4uEp5zp2dRE4an/PEU4w/ho4zTcY400U4+4eF67sFy/SmyNkXJxb80iyABHvNCg04pKvE22lDK/4DpHD3QUgL5z3cGf+xKDU5Q4YktBEb6EbBCvRVDoBuiOv3EdRKW1/Rq4PzI3NJt4Lj1841YSOgQG12Bhmo5cpwOMwyuddoCHNdPhCCPNX6hdxOvfUSJtbs4JoJGjqrYZdsXC/VDmYdSgM489FFUHiPZ42hg7NluaYHNgCOsaR8qZU7xn4uJbJVsMf7s/dayPTirwENwzDrR43HHVNbVqbsBxZLJsyfpjmYWzcwOJf4zIg0mXZ5jAiuWGQzhO208RekJc048s0Ybk2th4jBZlHebvq8LBtTlWdujLciyahism6Zxl869jpd41Nen7WRNSOhG79x0D5G2elM2LzduX7PjUIY4SeFtKWG3B1HkbPDV/Sd2SAXCTgFKEKSF2+9PpZwxyU0OPptsYaijQ3NpNtX77MdHuKKF7QJZT6WFmdHJQg4jz7NRagu/CFg3hnljqbvy1vdJQIKFBcPg9ikKYnuozwM8FqutdSbJlBOKhCCFKYuO6c9SaDngqj8F3M3d37XolkagDQTa9+200KreosE/tgGk3olgNtmvAZxHi7HUX33Bkqcl5pgwkhdVnFaMO6XxCKAkH80IXh45 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c3b1b4e-032d-447c-5907-08db5315b974 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:37.5598 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tbAcE22UYR2CNgpWhDdG4q4nJc1SYGHftOkJd5MGo4UVswR3u35mP+qmkyxBo+w4mtLxiK37+hhgMh12uJl3Zg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: 0bu4JhqgTqYzhwYItFJNFcRu9SWm6LVb X-Proofpoint-ORIG-GUID: 0bu4JhqgTqYzhwYItFJNFcRu9SWm6LVb X-Stat-Signature: ghgjx8c4j5fhr5t539754bauz3b3u7re X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: A7F4DA000F X-HE-Tag: 1683915702-176946 X-HE-Meta: U2FsdGVkX1/6nKwuca+7vw1UqPn4ltj3UeY9DvqNrRnKr1GOUNxlRqKAuagbL/G7Wu/oszSPXATSefBkWXli+Bg1CFFgFN2CMAsGKQpjFi+BgTE9P6G+FnLb8tfKEMX8n/zDR/q8hY3bRe7id38QUMccjm8HDIeuA5DeTN5e1aT0d9L/dHEFaH5fTaX+b4GW1Xi3pmTovzdFUEo0jtZTYmXPEesflVbmJryH0//zWHqJm0HELW1H7H1CorrPmwQKoye1g/y28XY0c8nF19DB1LFDzFEkLnU1tPCxQNS6Z8ymvkSSLHtOdZcQLmH3qYfYwyK40bBLCwHNDnKfANxtHZK5GOlT+XdzVEBqYGzeWyeNEsfE4PiH3ApTslS0v6XCFSZlFt24V3SfoYDmI01wXinH9xpN3S75HBtc3ReC1pI0BRYLSU5+EZQ/C7aYh+EwB2zs407z4c1R/En7xMp/XqXaEwkqhf4AJBqOblQyAWPUUaR0ceRxa65g4P8leztEvboPiQ48xh8Otz3vf8RR3GIZafrt47zeggPBCWmkGVb7O56/kw0KcP/DLC5lkZJkEsWw/NwD9lOclye9J8KVnCSmfLx9ReROxyJpaqjb1IRLalciIhTVqoKQupkpj0NLV09BOfBQ80eSuBryvw2IiPOrxeKxBJ2tul+9yHZcRKEJiFUFREhEi5wlfyT1khOnxsuqTSFoY8eZXaA3hB4ahuJErSVUVbSnoOafjhllHOoU9P5KHTg3UyxEwMT+EUgc2s7yJre1pN9RNSHQgCkU9jnp1DwH511JBMNxsOfYBM8qFTyWo6vymhXG8m20JDIxjmt2393AsAz2jKs/QVt2nKbnlCoH60QoS/uqraHfILbNmDxN4NXCK5w/QsaTje2xne9rJT4O1CzO5iy1RqBsdkVYDoegTOXheuxufTlNbTSP0N5Ubc1zdimRcoGNlePPkCZS53ownfNCDlnUFgY s6FYJwsZ xNbH2y/gi9cZo88Joa59V8URzvvSrYonREjzVzwA9HkFYti6fNeW6JAxUTTVhuqbNASxjDFaAkhjr/ue4DB8yN8KvYvjfvFx1v1ObIUZFp0ST/faDtGorYwCmnemOov6M/eOE2Uf3PaoGLckRY2bxaBfmEoMwjlpI4Ba77Y6Xq4LZlbul1WVIpRFeGqPjJSSzv5wK9BQASKefP9TDc2FW+kbeDFPO83td1+ASkE+jpamqQHOkmoj9DM3TM8uVb6vC7fDnSP8f73T2hcZNh0lJ8E+rj8q+RMFKpFYrHR5r+e4qKVnIXF8782WsLB/QqYdiWzGw/Enkpw8AVs/BWGMAsEFNVy8gt+1JcEscjMY7n8APOrJCNQxH0A1BEMuMH6FHW6pG3ti6TtDf/2ssw7g+y/AHqxUijxAwxq9kUd3sNLUczxnhlqSaOnyDaHRF2viF49KJM29ykYSP8051Qykqvaooovc9KZG4E1gX 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: MAS_WARN_ON() will provide more information on the maple state and can be more useful for debugging. Use this version of WARN_ON() in the debugging code when storing to the tree. Update the printk to a pr_warn(), but this will only be printed when maple tree debug is enabled anyways. Making all print statements into one will keep them together on a busy terminal. Signed-off-by: Liam R. Howlett Reviewed-by: Sergey Senozhatsky --- mm/internal.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 8d1a8bd001247..644fa8b761f5a 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1047,18 +1047,17 @@ static inline void vma_iter_store(struct vma_iterator *vmi, { #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) - if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.index > vma->vm_start)) { - printk("%lu > %lu\n", vmi->mas.index, vma->vm_start); - printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); - printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); - vma_iter_dump_tree(vmi); + if (MAS_WARN_ON(&vmi->mas, vmi->mas.node != MAS_START && + vmi->mas.index > vma->vm_start)) { + pr_warn("%lx > %lx\n store vma %lx-%lx\n into slot %lx-%lx\n", + vmi->mas.index, vma->vm_start, vma->vm_start, + vma->vm_end, vmi->mas.index, vmi->mas.last); } - if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.last < vma->vm_start)) { - printk("%lu < %lu\n", vmi->mas.last, vma->vm_start); - printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); - printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); - mt_dump(vmi->mas.tree, mt_dump_hex); - vma_iter_dump_tree(vmi); + if (MAS_WARN_ON(&vmi->mas, vmi->mas.node != MAS_START && + vmi->mas.last < vma->vm_start)) { + pr_warn("%lx < %lx\nstore vma %lx-%lx\ninto slot %lx-%lx\n", + vmi->mas.last, vma->vm_start, vma->vm_start, vma->vm_end, + vmi->mas.index, vmi->mas.last); } #endif From patchwork Fri May 12 18:20:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239626 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 D621EC77B7C for ; Fri, 12 May 2023 18:21:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D96F6900006; Fri, 12 May 2023 14:21:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D208D900003; Fri, 12 May 2023 14:21:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A6186900006; Fri, 12 May 2023 14:21:49 -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 89999900003 for ; Fri, 12 May 2023 14:21:49 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 630E141012 for ; Fri, 12 May 2023 18:21:49 +0000 (UTC) X-FDA: 80782421538.17.FFB5016 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf22.hostedemail.com (Postfix) with ESMTP id E1C6CC000B for ; Fri, 12 May 2023 18:21:45 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=K3Gd6+mX; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=a9dMxvGI; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915706; 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:dkim-signature; bh=PW5eX7vH7gHjRX0FYYq80BUyJ8oQwCendk+71PT1yxg=; b=ndDxQqGddfepzgW+mMezS459jmFy3l3i8xI0zs7mTSCNYwUThAu2aeqgMNtPo9Ok6TRTiB Cre3I1/bivwIWTyAIu3GY69rzmu3sx1w0lq+7avrT3a2tGpjZ6br7te8be5DxaxowO7gRi 8pO8Jsaklrorgy3UecHFDcDuISFdUqM= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=K3Gd6+mX; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=a9dMxvGI; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915706; a=rsa-sha256; cv=pass; b=i8/O6WvRlqkMGB39BHq/+mp95mm29bJDR2pRf4ePb/xZhZlUMG4XF+OPFdD2pc2t1Hgm7o 7HODp3I4xmw+RzYt1EuJs/l3PsFqE3YuX/x1Z0rOKXrU7JeSk6a3Qx367xb8TEJuS7ZAVq X7FskdaqEwSg1eifa1z6maArjlqDKJo= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4AGg017810; Fri, 12 May 2023 18:21:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=PW5eX7vH7gHjRX0FYYq80BUyJ8oQwCendk+71PT1yxg=; b=K3Gd6+mXsTUEKemjwtkYAbREFrtmhQcUfl+uHVIFdbmFrS//nNOB3a+NptKDAF1756KK wCix4w4CkPPGF8qTcbRAc9vf+/CCpMouuXzKDDq3AewOR81xi6jdErMqb7LFjG/hjABH yS1bzjcCyYcayqo+ooElx9XhZa3MlToT4sZAx4zl08LPpUZ/6d+k0622ENglILaa37Rz jGCbTj1HZkeeXW/22GTDkbCEraMW4nJ9Vsbhgs7gJwIBMgKPwxKklt4Iv2inFI79ZSWq 9xOi5odLtDIQvZ5FloXdhVekcTY5D+qbGbyMy8KV+H/VOLSLCN+K4ZNoxzF+0gf60CwC 0A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qhje7j3kt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:44 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHou3H011834; Fri, 12 May 2023 18:21:43 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8156yvt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=auh4EXOOB+GQuvOQaWU3C+z/JwOuW+gqWmpmg3wsl+0yNt5PIQTucdTShL7dfadaTpM5u9KcOzaVDYvhe0SRfjHln5Vk0Tg1yGG86YVhJk+zquHmLn2EUHlQgX2sULYdHoK3zUTrXnkoGXtk7rLevtaDsoToHRsfPwJICPolnOypjaf45nTPSC2X2uZGrgkXMP1cGz7VEhKvtlRYdFwYXngqp0Y7Xp+wpGSkD7s9LxJPdSMr9ibUBNkgNOZo0iwGyukhe/MVTHdNYfOjf6rGO9Vd/XHgVj0mGI4Bo4dYuh1Gp8t1an0y9woL40nzFhUMJ61E9T/nf0LAzXXxAVWTfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PW5eX7vH7gHjRX0FYYq80BUyJ8oQwCendk+71PT1yxg=; b=RLdJMgGfiGNT1aX3CdA6rImLiDMqlOHsgOxH8bqaqjVoCLUT4wvLcozmtrofFGhrg1DUguM8VLRfkrH2XDudwoZPmS49vLqMNhZ7qq6wD4G3oJJSAgrwXhXwy1iSHis4jPiGXFoMRyULOHwgvZWouZvb54ecUdm24/oGY1uuJOKw8CB0BY1PGYwzzGjdC1deayvHdCYtnOrnvgYL4kfKitYLPWoL2hIVkiIK+G4KiRlULec8grGhHH6e/DCMkhet4Ty9FGc+9K5dAffWVp0Ydx/5srro2+6eiCFl+S0F8d6ae9c9hSh9CY+rh2ubHVV65nlzzlCxiNLYPrRuHpInJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PW5eX7vH7gHjRX0FYYq80BUyJ8oQwCendk+71PT1yxg=; b=a9dMxvGIocq8npCV6fNLtkww7aTojx7ZmxVK+LAqJZRWUzE66fEsU18158K6ASbBtm4A4ZfIRLJdXU0CXjV/Van0OLSV5EvkVfGpG0ZITEtZePAnxhl6u9OJRLXpkI17HjKzSKi3JgZ5TiFsXFHsve4zfRO7qrBpzoUSx3lD2fY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:40 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:40 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 19/35] maple_tree: Add __init and __exit to test module Date: Fri, 12 May 2023 14:20:20 -0400 Message-Id: <20230512182036.359030-20-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT2PR01CA0004.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:38::9) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: f119ea6c-48ed-4c32-2cf6-08db5315baf4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9T5on4mpIieJ8TKLy+UfYLdFfHsSRmT/DncneeETWGiY87qibf7uqJ0p8uEL06jyyNUoY4huitij0MB/sUD8UEML2K6GG8xb0MkjVmpNDgTFK0UDuhKwOngtERNpY43jCAtEk3xAUqqswL9A1R8OQgYKd0eI3ZVEJJ2amJ7dw74XW7+TjmaOI6bYU3Y4LlzwW1HsqTPSZ4D1Qc7CvsDG9wSCEot42KdeH2smebBe+idYymnZX2S524CT5KWFAaaJ6or0x815xns8aQ+q8iiNK+29OylgnY5wo95kChnxBbXqJ2LSAr+SCZ8XJO9IhxyuG0lh0CYv62MUZwZWxuus2CcnUajBPu8A7KCU39xwIVOfGAWhNgIfYWDJWgJSVD6bcovL68NXElQ+f0yyD0jy4YL3hXSMRJ6W7WVH7RFtYc6IXH8S5cgKervj0zgdXxQf5UY/5pHj51OAav5bj+EVrCdRKt7QxkA0VVEmORNXh5aLAP17ne6owLjE1KZYyQ55lxaocaCMZjVFrzl6am4CfsvgwMClFhARSWVCDBws8UN6BRlRTTnmiE44tD+PjGjZ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(40140700001)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(30864003)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001)(579004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RvrviiwaPCZdiTVByqAMOq4VqpapRa3cYCBk37tInfYrRYgaLsjUYeRLZyPyltdTjffFCHqacCdgcJ8oGX0UpUYYq2A06xZ2rU1q2K3LGQnSw7t57+5eyNgu5efjJlzy75q7kzLEHObKM7cTwQE+RafWB2blbOhOPh2vvO+ww/ybsLy8zVWI7e2BgoFY0HQdjWmFZa0aosjxK6z2XhAg7mRRZ38HSIXFV5PTbMCbTYqjI408IpDEX/75LyFSklHUkf3BKnUvv42VRls31ec/vQTz+QL9XPM3SYWa5oyHQMiFxQ0pJncS2o3w1rHASwXv4DguHbDHTL5WFCsOi6vPglkVkjcM1c1ceK3xR/FUhoGlgy/PjKViF7DSgCJo9hNiTF8HoqNXpjYi6hnI/1GYrmAnEID6HigpgwOEF1VRn02yrZ6tCvW0v/sz6AIAHCUjXGPmH1UaYjLWnWFTe7s/LdFD0t0wf5NYXAKOeQBF0B6ENiCBbT6uyHXrwxX87tX7CxeJDGF4usufRpJhMU5k++OzrvzFpAX+GUKtK5p3zdGpyyncpWnHxQlczRfEO8Qvj9aSA2lyfUrMfAezWgVZ4GQk9wEYp/WGuCQld0sgi/7Tj+yg923n1UlNVe6wDRs3D5SQyMKgn+gJEpl+GPJpJeZJWAg6fC23hrGowxzza3zd6v9di5xQkpEgbRe9YJ8aQ/Vx86FDGfDyZhB1lwdivuk0oqNk0FbJ0rg+uAMCV8BygiCkrAluDIyXvbjD94VfIA7/38zpgle8h5M74GSxMUa9dDXPvSCZfkb3/lTESmPolqCp8fJbq2dL40z/foWef7g2sbA5vCeGgfPQa4sjBwOXAhX0t1dbWxGhCeJDNDd6CJk87ssAK1W9AT+ua7vC/2DAAUe3km6KMm47YjTQ0NgSghe2WY6owvgbFea3eJq80I16dzq+M99ovKpUjQa4Rxfb8KKPgGZotidTUgD2+cxiRg3Ds5AjXu1nEHhjlVpOFjssGSoMhOF7UJNlaSt5/XboJyOWE4wwvoBxbE+PIDB90SqDjqeFenJ9FRj/Mztet105BXEHBL6KGHvoqJYQcZn3neHXAj3tAkV0W6LTMQsgdPBsUDL4icchgeKc/PeA4wAUvyStopTUsEiGswafpVA5xiz3qj3vhCSB0qOcBVI+3YuzZvjrF0sTKIhawQ7olyMr5nVkwgpIBLfdCTGUt4WHhU5mOcn2Bf0KSBpRvI1T/Dr600dd0efk1UuhKRuRFTD7NOnQep2dG/SnXstX2zeod62hxFW7NV01RafOwBD7uGAslW5g6XxRls0zeK2UUoEfMQLg3xu6gIAB8KvgbsKGuHg8RcFtlJkWqTF50VJhkj1DbTkSvxDvtWJ1bBCmwislgoBpsUsAi018EFQ17TEPxsgp0ZxLQ1rNyk+mwjHSrrNwizSjsHf3Y1OouGB3NOH6oaBGd/7baUbSUt376EnWvqRjQaBYnHZ3Om+8HfR00uAAdjF2U6v5nvaCrsUxEHqs4IRZqIwLWJRjwjJguL2ohC7TsD11WzNfZO/6WJ+/9anZxwz7H0IvZfPz6nHB9xZYBoyEJmIXNVpcv4bhk3kv++PPwhOT3ZiZF28efg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jwgcZ+7CmMw/CweMdon/eDCb/hidCudQNpyXzsVi2CkKKdOjtNCMO6OWmXzq9iEh0GlNoOnIrXkXeWjAs6hzU7mN4yE+fUF6usplDkZFDEw0h1w2qtupf7QmSUf+Gsibvtxv2dcZJjvsqFBQYitD56isV7/BYfL84BnR9o/GzF4BYoEySkATkCmawskef4fQtmaZ/zZo1ctlK+VXZWZAWrduDYjjDj7Sv826XKuCDxKLAp02jxGkPOl5U8an/OfcZ9hk6BmKro814Io7Wev+TYiHitgAp5CXgpzLUFWcmFbbI7T6WUm5geaQnfZ/AQSiI+weftbz7NIxx1kHWYAulvMSsakiNoolXuf46TBPZzO0sG2FK5EI1Nyf8fIayJrp5+s/DtbWW8kX0sziJCGPANyS5OsUX/AZKWMG2y8a8ZMqUfwfDA//tkoXI2pW7xhqA/J2YnAGtM2cQxmktR1oF4qUKYEcHNThgcnlzjXnhkCmB6k2EPwX8B5kIvFr98V4Td4tRojpo1G78TGfrrDh1RtSNvLWYajXt9Jx8K7PNa21PV6nGxhfuTnYnf6BwOguxzf5AcYQfAAh/ECrSBbe6koK10M37nDsyK+ckunSbQCzdzwnbSY8f7VdGuGisc4e5tJ2lApBVIvLckbcrtNzoXuXChbu2Ctkw07MQv3G9PmrMZI9hvDVrl6O1cDUBfZgBvQ69bnt+7kOSKmBkBSSPJtcDUkVmcr09RdiWPIKJ8ZzNe3Yx/JPIo1XV6SJLVjWJ1KShAj2xz+t7Ki7ItmKYArBpAk6b6Zbr+3v+3uZBr+3WNenKDcbsWM06IwWgZ1CTqRKJAKseyc1HuaUKPsi3+0zTACYI7yMLOls0NBc3gHPLFPNwByMV8o7X6ma5MvyC1HQ1LHWj0mfaxtbmdQMDA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f119ea6c-48ed-4c32-2cf6-08db5315baf4 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:40.0712 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tFd0E6SVmdMZNzqnXIqVDd3q9yEVRxLZPFKBexE3j99e4iKDGsyCxoSksqh2rjuWJ+bUqh8oa5kyAi9aEtcaYg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: mwtRpRvqQTVlTaJJAh6bXTBOAGbbeiB6 X-Proofpoint-GUID: mwtRpRvqQTVlTaJJAh6bXTBOAGbbeiB6 X-Stat-Signature: 3j8prhc4t3b8n5ncioqisbgyo896q753 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: E1C6CC000B X-Rspam-User: X-HE-Tag: 1683915705-15266 X-HE-Meta: U2FsdGVkX1+ErxKE4qaH8qRYy9sM+38X2nJCeEFmB2O7fjr5dbn9Y+6zf4NJS7CMVpcXph/Z9KU3DS10waBLVVLSQsG9++hUP5VPt0L9Lp823gsOGfUxPPSkUmNUsM6rQXJRBWIswINXqkjJkqTuTcoW2YF5irb9LNc9rqes+r22a4+Ld++6XCemLEMwLmcbMFX6b/zz+Zp30hONuukwA8t0PmDe63bH1a5XcC7wGPSrqVfaMT8sRniJ5ywqnj72enQl+qzUK8Ztys/86+p8k0yztHSCcrvusGWzPhbi3pZqQ8KppP6aOUT143EDtAfRpf6jNBi+OPxOLySPdT9C5IRAPW3ynyXXUBmet39nrJ+LKskKDAOAXdCj88kcRN0qPmA9wFes4jiEYGQ1j9v0aoibbkMI32/JPF0nkyCUTogWHYs6d28DCRsmB8zfA5FMQ/ELQWUxiGzB490QTjALV6Jn6lSm6vVSpk1pHvH/I3OgBrxdsIIP3ldbEOyF7C8dKnU7ZlJc4hqRQAfrEeLMpU8gxcEiydkLVQFic6pJUt73l1GIasZiJ/Gc0RxqIiSc3yY22osza369wmZoR4DHkNjoK0tEynkPmfip7AQ1TtW7ZgykuO1gvmSJxUWxTDteN9/+yGaFE+NmJGVUlVbQKmE+RLjd8X0/f/Lv4s+PEVjy0/gRtg8MYrQdOZiNtXWOWNyZ4H0WSKsjPfqP5d/ZCMB4k4A5IKLXDLJa7t7/ronjV/OiiMvU53vv/+cC2K2HzN74HVDi4UpndQwAv3WdEavxG4HrrFozpEC5V+rbWMGsB2fl5LQn0319dqeEMtJLzbcdHxMMWYRezBiWt3uR1CzMn7GN4vf2dEmcRq2ijm4R2BhxHWqGqIrxzXM3OZdxmFvREXefLp/IFQgJyD5wRNo23QYLmzfnVmYMO6IQaFvOhFtuPT97axF4P+OFHH5zMjfVe8NCbqyXbqs8SsW 6gRQ1O9Z ulFgAetZfAXRngsbhZD5TicbjHwxFEYPLRYRI8OW3OmV0GFBAepWjZJPkhKUKNwiJRZQMFd8Kva0gVZyl/Z8mxkdAWiT/ufgxOpILbP94ldXGtMQ6KoeGcKIvusXSJ6VTkBPt4NYA8xDPwAdLj7KKCRaB1gCkyhUpUYhDFPwAeBLP1lZ7jPo2Eg+/rGsiaNCXvcrwzJOeG82bKjyldyy5hCZv5EhSpM9tKlPiOlJfAhD9DzhMuY1tY2dnF9GegXPj8AMQY9dxJpi2NS8vIg6hHk0WtrO2jrqe4WDq0HJdG6GJCPfFHFVpRmOP+eduUcFZn31SzkdbsSPC8aSGDk8xoxCo0qEixUXvwzIH4fkpkTh8XUW+6nFR8StFfmQjJcMoyxcB1xFKOjbjAJj4CjKWLPLA/6hb5C/pLXyJidiB95tZjndfDkljxY0CVFqodif2r+Ye+8aFrG5kwnWPk2di3NFEhTTHcvjbCAv4TOZ1EFCcVIQ= 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: The test functions are not needed after the module is removed, so mark them as such. Add __exit to the module removal function. Some other variables have been marked as const static as well. Suggested-by: Andrew Morton Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 158 +++++++++++++------------- tools/testing/radix-tree/linux/init.h | 1 + tools/testing/radix-tree/maple.c | 147 ++++++++++++------------ 3 files changed, 155 insertions(+), 151 deletions(-) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 93b40a78c4f55..19b130c9dddea 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -51,54 +51,54 @@ atomic_t maple_tree_tests_passed; #else #define cond_resched() do {} while (0) #endif -static -int mtree_insert_index(struct maple_tree *mt, unsigned long index, gfp_t gfp) +static int __init mtree_insert_index(struct maple_tree *mt, + unsigned long index, gfp_t gfp) { return mtree_insert(mt, index, xa_mk_value(index & LONG_MAX), gfp); } -static void mtree_erase_index(struct maple_tree *mt, unsigned long index) +static void __init mtree_erase_index(struct maple_tree *mt, unsigned long index) { MT_BUG_ON(mt, mtree_erase(mt, index) != xa_mk_value(index & LONG_MAX)); MT_BUG_ON(mt, mtree_load(mt, index) != NULL); } -static int mtree_test_insert(struct maple_tree *mt, unsigned long index, +static int __init mtree_test_insert(struct maple_tree *mt, unsigned long index, void *ptr) { return mtree_insert(mt, index, ptr, GFP_KERNEL); } -static int mtree_test_store_range(struct maple_tree *mt, unsigned long start, - unsigned long end, void *ptr) +static int __init mtree_test_store_range(struct maple_tree *mt, + unsigned long start, unsigned long end, void *ptr) { return mtree_store_range(mt, start, end, ptr, GFP_KERNEL); } -static int mtree_test_store(struct maple_tree *mt, unsigned long start, +static int __init mtree_test_store(struct maple_tree *mt, unsigned long start, void *ptr) { return mtree_test_store_range(mt, start, start, ptr); } -static int mtree_test_insert_range(struct maple_tree *mt, unsigned long start, - unsigned long end, void *ptr) +static int __init mtree_test_insert_range(struct maple_tree *mt, + unsigned long start, unsigned long end, void *ptr) { return mtree_insert_range(mt, start, end, ptr, GFP_KERNEL); } -static void *mtree_test_load(struct maple_tree *mt, unsigned long index) +static void __init *mtree_test_load(struct maple_tree *mt, unsigned long index) { return mtree_load(mt, index); } -static void *mtree_test_erase(struct maple_tree *mt, unsigned long index) +static void __init *mtree_test_erase(struct maple_tree *mt, unsigned long index) { return mtree_erase(mt, index); } #if defined(CONFIG_64BIT) -static noinline void check_mtree_alloc_range(struct maple_tree *mt, +static noinline void __init check_mtree_alloc_range(struct maple_tree *mt, unsigned long start, unsigned long end, unsigned long size, unsigned long expected, int eret, void *ptr) { @@ -115,7 +115,7 @@ static noinline void check_mtree_alloc_range(struct maple_tree *mt, MT_BUG_ON(mt, result != expected); } -static noinline void check_mtree_alloc_rrange(struct maple_tree *mt, +static noinline void __init check_mtree_alloc_rrange(struct maple_tree *mt, unsigned long start, unsigned long end, unsigned long size, unsigned long expected, int eret, void *ptr) { @@ -133,8 +133,8 @@ static noinline void check_mtree_alloc_rrange(struct maple_tree *mt, } #endif -static noinline void check_load(struct maple_tree *mt, unsigned long index, - void *ptr) +static noinline void __init check_load(struct maple_tree *mt, + unsigned long index, void *ptr) { void *ret = mtree_test_load(mt, index); @@ -143,7 +143,7 @@ static noinline void check_load(struct maple_tree *mt, unsigned long index, MT_BUG_ON(mt, ret != ptr); } -static noinline void check_store_range(struct maple_tree *mt, +static noinline void __init check_store_range(struct maple_tree *mt, unsigned long start, unsigned long end, void *ptr, int expected) { int ret = -EINVAL; @@ -159,7 +159,7 @@ static noinline void check_store_range(struct maple_tree *mt, check_load(mt, i, ptr); } -static noinline void check_insert_range(struct maple_tree *mt, +static noinline void __init check_insert_range(struct maple_tree *mt, unsigned long start, unsigned long end, void *ptr, int expected) { int ret = -EINVAL; @@ -175,8 +175,8 @@ static noinline void check_insert_range(struct maple_tree *mt, check_load(mt, i, ptr); } -static noinline void check_insert(struct maple_tree *mt, unsigned long index, - void *ptr) +static noinline void __init check_insert(struct maple_tree *mt, + unsigned long index, void *ptr) { int ret = -EINVAL; @@ -184,7 +184,7 @@ static noinline void check_insert(struct maple_tree *mt, unsigned long index, MT_BUG_ON(mt, ret != 0); } -static noinline void check_dup_insert(struct maple_tree *mt, +static noinline void __init check_dup_insert(struct maple_tree *mt, unsigned long index, void *ptr) { int ret = -EINVAL; @@ -194,13 +194,13 @@ static noinline void check_dup_insert(struct maple_tree *mt, } -static noinline -void check_index_load(struct maple_tree *mt, unsigned long index) +static noinline void __init check_index_load(struct maple_tree *mt, + unsigned long index) { return check_load(mt, index, xa_mk_value(index & LONG_MAX)); } -static inline int not_empty(struct maple_node *node) +static inline __init int not_empty(struct maple_node *node) { int i; @@ -215,8 +215,8 @@ static inline int not_empty(struct maple_node *node) } -static noinline void check_rev_seq(struct maple_tree *mt, unsigned long max, - bool verbose) +static noinline void __init check_rev_seq(struct maple_tree *mt, + unsigned long max, bool verbose) { unsigned long i = max, j; @@ -248,7 +248,7 @@ static noinline void check_rev_seq(struct maple_tree *mt, unsigned long max, #endif } -static noinline void check_seq(struct maple_tree *mt, unsigned long max, +static noinline void __init check_seq(struct maple_tree *mt, unsigned long max, bool verbose) { unsigned long i, j; @@ -277,7 +277,7 @@ static noinline void check_seq(struct maple_tree *mt, unsigned long max, #endif } -static noinline void check_lb_not_empty(struct maple_tree *mt) +static noinline void __init check_lb_not_empty(struct maple_tree *mt) { unsigned long i, j; unsigned long huge = 4000UL * 1000 * 1000; @@ -296,13 +296,13 @@ static noinline void check_lb_not_empty(struct maple_tree *mt) mtree_destroy(mt); } -static noinline void check_lower_bound_split(struct maple_tree *mt) +static noinline void __init check_lower_bound_split(struct maple_tree *mt) { MT_BUG_ON(mt, !mtree_empty(mt)); check_lb_not_empty(mt); } -static noinline void check_upper_bound_split(struct maple_tree *mt) +static noinline void __init check_upper_bound_split(struct maple_tree *mt) { unsigned long i, j; unsigned long huge; @@ -327,7 +327,7 @@ static noinline void check_upper_bound_split(struct maple_tree *mt) mtree_destroy(mt); } -static noinline void check_mid_split(struct maple_tree *mt) +static noinline void __init check_mid_split(struct maple_tree *mt) { unsigned long huge = 8000UL * 1000 * 1000; @@ -336,7 +336,7 @@ static noinline void check_mid_split(struct maple_tree *mt) check_lb_not_empty(mt); } -static noinline void check_rev_find(struct maple_tree *mt) +static noinline void __init check_rev_find(struct maple_tree *mt) { int i, nr_entries = 200; void *val; @@ -375,7 +375,7 @@ static noinline void check_rev_find(struct maple_tree *mt) rcu_read_unlock(); } -static noinline void check_find(struct maple_tree *mt) +static noinline void __init check_find(struct maple_tree *mt) { unsigned long val = 0; unsigned long count; @@ -592,7 +592,7 @@ static noinline void check_find(struct maple_tree *mt) mtree_destroy(mt); } -static noinline void check_find_2(struct maple_tree *mt) +static noinline void __init check_find_2(struct maple_tree *mt) { unsigned long i, j; void *entry; @@ -637,7 +637,7 @@ static noinline void check_find_2(struct maple_tree *mt) #if defined(CONFIG_64BIT) -static noinline void check_alloc_rev_range(struct maple_tree *mt) +static noinline void __init check_alloc_rev_range(struct maple_tree *mt) { /* * Generated by: @@ -645,7 +645,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt) * awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}' */ - unsigned long range[] = { + static const unsigned long range[] = { /* Inclusive , Exclusive. */ 0x565234af2000, 0x565234af4000, 0x565234af4000, 0x565234af9000, @@ -673,7 +673,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt) 0x7fff58791000, 0x7fff58793000, }; - unsigned long holes[] = { + static const unsigned long holes[] = { /* * Note: start of hole is INCLUSIVE * end of hole is EXCLUSIVE @@ -693,7 +693,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt) * 4. number that should be returned. * 5. return value */ - unsigned long req_range[] = { + static const unsigned long req_range[] = { 0x565234af9000, /* Min */ 0x7fff58791000, /* Max */ 0x1000, /* Size */ @@ -804,7 +804,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt) mtree_destroy(mt); } -static noinline void check_alloc_range(struct maple_tree *mt) +static noinline void __init check_alloc_range(struct maple_tree *mt) { /* * Generated by: @@ -812,7 +812,7 @@ static noinline void check_alloc_range(struct maple_tree *mt) * awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}' */ - unsigned long range[] = { + static const unsigned long range[] = { /* Inclusive , Exclusive. */ 0x565234af2000, 0x565234af4000, 0x565234af4000, 0x565234af9000, @@ -839,7 +839,7 @@ static noinline void check_alloc_range(struct maple_tree *mt) 0x7fff5878e000, 0x7fff58791000, 0x7fff58791000, 0x7fff58793000, }; - unsigned long holes[] = { + static const unsigned long holes[] = { /* Start of hole, end of hole, size of hole (+1) */ 0x565234afb000, 0x565234afc000, 0x1000, 0x565234afe000, 0x565235def000, 0x12F1000, @@ -854,7 +854,7 @@ static noinline void check_alloc_range(struct maple_tree *mt) * 4. number that should be returned. * 5. return value */ - unsigned long req_range[] = { + static const unsigned long req_range[] = { 0x565234af9000, /* Min */ 0x7fff58791000, /* Max */ 0x1000, /* Size */ @@ -963,10 +963,10 @@ static noinline void check_alloc_range(struct maple_tree *mt) } #endif -static noinline void check_ranges(struct maple_tree *mt) +static noinline void __init check_ranges(struct maple_tree *mt) { int i, val, val2; - unsigned long r[] = { + static const unsigned long r[] = { 10, 15, 20, 25, 17, 22, /* Overlaps previous range. */ @@ -1231,7 +1231,7 @@ static noinline void check_ranges(struct maple_tree *mt) MT_BUG_ON(mt, mt_height(mt) != 4); } -static noinline void check_next_entry(struct maple_tree *mt) +static noinline void __init check_next_entry(struct maple_tree *mt) { void *entry = NULL; unsigned long limit = 30, i = 0; @@ -1255,7 +1255,7 @@ static noinline void check_next_entry(struct maple_tree *mt) mtree_destroy(mt); } -static noinline void check_prev_entry(struct maple_tree *mt) +static noinline void __init check_prev_entry(struct maple_tree *mt) { unsigned long index = 16; void *value; @@ -1299,7 +1299,7 @@ static noinline void check_prev_entry(struct maple_tree *mt) mas_unlock(&mas); } -static noinline void check_root_expand(struct maple_tree *mt) +static noinline void __init check_root_expand(struct maple_tree *mt) { MA_STATE(mas, mt, 0, 0); void *ptr; @@ -1388,13 +1388,13 @@ static noinline void check_root_expand(struct maple_tree *mt) mas_unlock(&mas); } -static noinline void check_gap_combining(struct maple_tree *mt) +static noinline void __init check_gap_combining(struct maple_tree *mt) { struct maple_enode *mn1, *mn2; void *entry; unsigned long singletons = 100; - unsigned long *seq100; - unsigned long seq100_64[] = { + static const unsigned long *seq100; + static const unsigned long seq100_64[] = { /* 0-5 */ 74, 75, 76, 50, 100, 2, @@ -1408,7 +1408,7 @@ static noinline void check_gap_combining(struct maple_tree *mt) 76, 2, 79, 85, 4, }; - unsigned long seq100_32[] = { + static const unsigned long seq100_32[] = { /* 0-5 */ 61, 62, 63, 50, 100, 2, @@ -1422,11 +1422,11 @@ static noinline void check_gap_combining(struct maple_tree *mt) 76, 2, 79, 85, 4, }; - unsigned long seq2000[] = { + static const unsigned long seq2000[] = { 1152, 1151, 1100, 1200, 2, }; - unsigned long seq400[] = { + static const unsigned long seq400[] = { 286, 318, 256, 260, 266, 270, 275, 280, 290, 398, 286, 310, @@ -1585,7 +1585,7 @@ static noinline void check_gap_combining(struct maple_tree *mt) mt_set_non_kernel(0); mtree_destroy(mt); } -static noinline void check_node_overwrite(struct maple_tree *mt) +static noinline void __init check_node_overwrite(struct maple_tree *mt) { int i, max = 4000; @@ -1598,7 +1598,7 @@ static noinline void check_node_overwrite(struct maple_tree *mt) } #if defined(BENCH_SLOT_STORE) -static noinline void bench_slot_store(struct maple_tree *mt) +static noinline void __init bench_slot_store(struct maple_tree *mt) { int i, brk = 105, max = 1040, brk_start = 100, count = 20000000; @@ -1614,7 +1614,7 @@ static noinline void bench_slot_store(struct maple_tree *mt) #endif #if defined(BENCH_NODE_STORE) -static noinline void bench_node_store(struct maple_tree *mt) +static noinline void __init bench_node_store(struct maple_tree *mt) { int i, overwrite = 76, max = 240, count = 20000000; @@ -1633,7 +1633,7 @@ static noinline void bench_node_store(struct maple_tree *mt) #endif #if defined(BENCH_AWALK) -static noinline void bench_awalk(struct maple_tree *mt) +static noinline void __init bench_awalk(struct maple_tree *mt) { int i, max = 2500, count = 50000000; MA_STATE(mas, mt, 1470, 1470); @@ -1650,7 +1650,7 @@ static noinline void bench_awalk(struct maple_tree *mt) } #endif #if defined(BENCH_WALK) -static noinline void bench_walk(struct maple_tree *mt) +static noinline void __init bench_walk(struct maple_tree *mt) { int i, max = 2500, count = 550000000; MA_STATE(mas, mt, 1470, 1470); @@ -1667,7 +1667,7 @@ static noinline void bench_walk(struct maple_tree *mt) #endif #if defined(BENCH_MT_FOR_EACH) -static noinline void bench_mt_for_each(struct maple_tree *mt) +static noinline void __init bench_mt_for_each(struct maple_tree *mt) { int i, count = 1000000; unsigned long max = 2500, index = 0; @@ -1691,7 +1691,7 @@ static noinline void bench_mt_for_each(struct maple_tree *mt) #endif /* check_forking - simulate the kernel forking sequence with the tree. */ -static noinline void check_forking(struct maple_tree *mt) +static noinline void __init check_forking(struct maple_tree *mt) { struct maple_tree newmt; @@ -1730,7 +1730,7 @@ static noinline void check_forking(struct maple_tree *mt) mtree_destroy(&newmt); } -static noinline void check_iteration(struct maple_tree *mt) +static noinline void __init check_iteration(struct maple_tree *mt) { int i, nr_entries = 125; void *val; @@ -1798,7 +1798,7 @@ static noinline void check_iteration(struct maple_tree *mt) mt_set_non_kernel(0); } -static noinline void check_mas_store_gfp(struct maple_tree *mt) +static noinline void __init check_mas_store_gfp(struct maple_tree *mt) { struct maple_tree newmt; @@ -1831,7 +1831,7 @@ static noinline void check_mas_store_gfp(struct maple_tree *mt) } #if defined(BENCH_FORK) -static noinline void bench_forking(struct maple_tree *mt) +static noinline void __init bench_forking(struct maple_tree *mt) { struct maple_tree newmt; @@ -1873,15 +1873,17 @@ static noinline void bench_forking(struct maple_tree *mt) } #endif -static noinline void next_prev_test(struct maple_tree *mt) +static noinline void __init next_prev_test(struct maple_tree *mt) { int i, nr_entries; void *val; MA_STATE(mas, mt, 0, 0); struct maple_enode *mn; - unsigned long *level2; - unsigned long level2_64[] = {707, 1000, 710, 715, 720, 725}; - unsigned long level2_32[] = {1747, 2000, 1750, 1755, 1760, 1765}; + static const unsigned long *level2; + static const unsigned long level2_64[] = { 707, 1000, 710, 715, 720, + 725}; + static const unsigned long level2_32[] = { 1747, 2000, 1750, 1755, + 1760, 1765}; if (MAPLE_32BIT) { nr_entries = 500; @@ -2049,7 +2051,7 @@ static noinline void next_prev_test(struct maple_tree *mt) /* Test spanning writes that require balancing right sibling or right cousin */ -static noinline void check_spanning_relatives(struct maple_tree *mt) +static noinline void __init check_spanning_relatives(struct maple_tree *mt) { unsigned long i, nr_entries = 1000; @@ -2062,7 +2064,7 @@ static noinline void check_spanning_relatives(struct maple_tree *mt) mtree_store_range(mt, 9365, 9955, NULL, GFP_KERNEL); } -static noinline void check_fuzzer(struct maple_tree *mt) +static noinline void __init check_fuzzer(struct maple_tree *mt) { /* * 1. Causes a spanning rebalance of a single root node. @@ -2459,7 +2461,7 @@ static noinline void check_fuzzer(struct maple_tree *mt) } /* duplicate the tree with a specific gap */ -static noinline void check_dup_gaps(struct maple_tree *mt, +static noinline void __init check_dup_gaps(struct maple_tree *mt, unsigned long nr_entries, bool zero_start, unsigned long gap) { @@ -2499,7 +2501,7 @@ static noinline void check_dup_gaps(struct maple_tree *mt, } /* Duplicate many sizes of trees. Mainly to test expected entry values */ -static noinline void check_dup(struct maple_tree *mt) +static noinline void __init check_dup(struct maple_tree *mt) { int i; int big_start = 100010; @@ -2587,7 +2589,7 @@ static noinline void check_dup(struct maple_tree *mt) } } -static noinline void check_bnode_min_spanning(struct maple_tree *mt) +static noinline void __init check_bnode_min_spanning(struct maple_tree *mt) { int i = 50; MA_STATE(mas, mt, 0, 0); @@ -2606,7 +2608,7 @@ static noinline void check_bnode_min_spanning(struct maple_tree *mt) mt_set_non_kernel(0); } -static noinline void check_empty_area_window(struct maple_tree *mt) +static noinline void __init check_empty_area_window(struct maple_tree *mt) { unsigned long i, nr_entries = 20; MA_STATE(mas, mt, 0, 0); @@ -2691,7 +2693,7 @@ static noinline void check_empty_area_window(struct maple_tree *mt) rcu_read_unlock(); } -static noinline void check_empty_area_fill(struct maple_tree *mt) +static noinline void __init check_empty_area_fill(struct maple_tree *mt) { const unsigned long max = 0x25D78000; unsigned long size; @@ -2735,11 +2737,11 @@ static noinline void check_empty_area_fill(struct maple_tree *mt) } static DEFINE_MTREE(tree); -static int maple_tree_seed(void) +static int __init maple_tree_seed(void) { - unsigned long set[] = {5015, 5014, 5017, 25, 1000, - 1001, 1002, 1003, 1005, 0, - 5003, 5002}; + unsigned long set[] = { 5015, 5014, 5017, 25, 1000, + 1001, 1002, 1003, 1005, 0, + 5003, 5002}; void *ptr = &set; pr_info("\nTEST STARTING\n\n"); @@ -3009,7 +3011,7 @@ static int maple_tree_seed(void) return -EINVAL; } -static void maple_tree_harvest(void) +static void __exit maple_tree_harvest(void) { } diff --git a/tools/testing/radix-tree/linux/init.h b/tools/testing/radix-tree/linux/init.h index 1bb0afc213099..81563c3dfce79 100644 --- a/tools/testing/radix-tree/linux/init.h +++ b/tools/testing/radix-tree/linux/init.h @@ -1 +1,2 @@ #define __init +#define __exit diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index cf37ed9ab6c4d..03539d86cdf0f 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -14,6 +14,7 @@ #include "test.h" #include #include +#include "linux/init.h" #define module_init(x) #define module_exit(x) @@ -80,7 +81,7 @@ static void check_mas_alloc_node_count(struct ma_state *mas) * check_new_node() - Check the creation of new nodes and error path * verification. */ -static noinline void check_new_node(struct maple_tree *mt) +static noinline void __init check_new_node(struct maple_tree *mt) { struct maple_node *mn, *mn2, *mn3; @@ -454,7 +455,7 @@ static noinline void check_new_node(struct maple_tree *mt) /* * Check erasing including RCU. */ -static noinline void check_erase(struct maple_tree *mt, unsigned long index, +static noinline void __init check_erase(struct maple_tree *mt, unsigned long index, void *ptr) { MT_BUG_ON(mt, mtree_test_erase(mt, index) != ptr); @@ -464,24 +465,24 @@ static noinline void check_erase(struct maple_tree *mt, unsigned long index, #define erase_check_insert(mt, i) check_insert(mt, set[i], entry[i%2]) #define erase_check_erase(mt, i) check_erase(mt, set[i], entry[i%2]) -static noinline void check_erase_testset(struct maple_tree *mt) +static noinline void __init check_erase_testset(struct maple_tree *mt) { - unsigned long set[] = { 5015, 5014, 5017, 25, 1000, - 1001, 1002, 1003, 1005, 0, - 6003, 6002, 6008, 6012, 6015, - 7003, 7002, 7008, 7012, 7015, - 8003, 8002, 8008, 8012, 8015, - 9003, 9002, 9008, 9012, 9015, - 10003, 10002, 10008, 10012, 10015, - 11003, 11002, 11008, 11012, 11015, - 12003, 12002, 12008, 12012, 12015, - 13003, 13002, 13008, 13012, 13015, - 14003, 14002, 14008, 14012, 14015, - 15003, 15002, 15008, 15012, 15015, - }; - - - void *ptr = &set; + static const unsigned long set[] = { 5015, 5014, 5017, 25, 1000, + 1001, 1002, 1003, 1005, 0, + 6003, 6002, 6008, 6012, 6015, + 7003, 7002, 7008, 7012, 7015, + 8003, 8002, 8008, 8012, 8015, + 9003, 9002, 9008, 9012, 9015, + 10003, 10002, 10008, 10012, 10015, + 11003, 11002, 11008, 11012, 11015, + 12003, 12002, 12008, 12012, 12015, + 13003, 13002, 13008, 13012, 13015, + 14003, 14002, 14008, 14012, 14015, + 15003, 15002, 15008, 15012, 15015, + }; + + + void *ptr = &check_erase_testset; void *entry[2] = { ptr, mt }; void *root_node; @@ -738,7 +739,7 @@ static noinline void check_erase_testset(struct maple_tree *mt) int mas_ce2_over_count(struct ma_state *mas_start, struct ma_state *mas_end, void *s_entry, unsigned long s_min, void *e_entry, unsigned long e_max, - unsigned long *set, int i, bool null_entry) + const unsigned long *set, int i, bool null_entry) { int count = 0, span = 0; unsigned long retry = 0; @@ -968,8 +969,8 @@ static inline void *mas_range_load(struct ma_state *mas, } #if defined(CONFIG_64BIT) -static noinline void check_erase2_testset(struct maple_tree *mt, - unsigned long *set, unsigned long size) +static noinline void __init check_erase2_testset(struct maple_tree *mt, + const unsigned long *set, unsigned long size) { int entry_count = 0; int check = 0; @@ -1113,11 +1114,11 @@ static noinline void check_erase2_testset(struct maple_tree *mt, /* These tests were pulled from KVM tree modifications which failed. */ -static noinline void check_erase2_sets(struct maple_tree *mt) +static noinline void __init check_erase2_sets(struct maple_tree *mt) { void *entry; unsigned long start = 0; - unsigned long set[] = { + static const unsigned long set[] = { STORE, 140737488347136, 140737488351231, STORE, 140721266458624, 140737488351231, ERASE, 140721266458624, 140737488351231, @@ -1135,7 +1136,7 @@ ERASE, 140253902692352, 140253902864383, STORE, 140253902692352, 140253902696447, STORE, 140253902696448, 140253902864383, }; - unsigned long set2[] = { + static const unsigned long set2[] = { STORE, 140737488347136, 140737488351231, STORE, 140735933583360, 140737488351231, ERASE, 140735933583360, 140737488351231, @@ -1159,7 +1160,7 @@ STORE, 140277094813696, 140277094821887, STORE, 140277094821888, 140277094825983, STORE, 140735933906944, 140735933911039, }; - unsigned long set3[] = { + static const unsigned long set3[] = { STORE, 140737488347136, 140737488351231, STORE, 140735790264320, 140737488351231, ERASE, 140735790264320, 140737488351231, @@ -1202,7 +1203,7 @@ STORE, 47135835840512, 47135835885567, STORE, 47135835885568, 47135835893759, }; - unsigned long set4[] = { + static const unsigned long set4[] = { STORE, 140737488347136, 140737488351231, STORE, 140728251703296, 140737488351231, ERASE, 140728251703296, 140737488351231, @@ -1223,7 +1224,7 @@ ERASE, 47646523277312, 47646523445247, STORE, 47646523277312, 47646523400191, }; - unsigned long set5[] = { + static const unsigned long set5[] = { STORE, 140737488347136, 140737488351231, STORE, 140726874062848, 140737488351231, ERASE, 140726874062848, 140737488351231, @@ -1356,7 +1357,7 @@ STORE, 47884791619584, 47884791623679, STORE, 47884791623680, 47884791627775, }; - unsigned long set6[] = { + static const unsigned long set6[] = { STORE, 140737488347136, 140737488351231, STORE, 140722999021568, 140737488351231, ERASE, 140722999021568, 140737488351231, @@ -1488,7 +1489,7 @@ ERASE, 47430432014336, 47430432022527, STORE, 47430432014336, 47430432018431, STORE, 47430432018432, 47430432022527, }; - unsigned long set7[] = { + static const unsigned long set7[] = { STORE, 140737488347136, 140737488351231, STORE, 140729808330752, 140737488351231, ERASE, 140729808330752, 140737488351231, @@ -1620,7 +1621,7 @@ ERASE, 47439987130368, 47439987138559, STORE, 47439987130368, 47439987134463, STORE, 47439987134464, 47439987138559, }; - unsigned long set8[] = { + static const unsigned long set8[] = { STORE, 140737488347136, 140737488351231, STORE, 140722482974720, 140737488351231, ERASE, 140722482974720, 140737488351231, @@ -1753,7 +1754,7 @@ STORE, 47708488638464, 47708488642559, STORE, 47708488642560, 47708488646655, }; - unsigned long set9[] = { + static const unsigned long set9[] = { STORE, 140737488347136, 140737488351231, STORE, 140736427839488, 140737488351231, ERASE, 140736427839488, 140736427839488, @@ -5619,7 +5620,7 @@ ERASE, 47906195480576, 47906195480576, STORE, 94641242615808, 94641242750975, }; - unsigned long set10[] = { + static const unsigned long set10[] = { STORE, 140737488347136, 140737488351231, STORE, 140736427839488, 140737488351231, ERASE, 140736427839488, 140736427839488, @@ -9483,7 +9484,7 @@ STORE, 139726599680000, 139726599684095, ERASE, 47906195480576, 47906195480576, STORE, 94641242615808, 94641242750975, }; - unsigned long set11[] = { + static const unsigned long set11[] = { STORE, 140737488347136, 140737488351231, STORE, 140732658499584, 140737488351231, ERASE, 140732658499584, 140732658499584, @@ -9509,7 +9510,7 @@ STORE, 140732658565120, 140732658569215, STORE, 140732658552832, 140732658565119, }; - unsigned long set12[] = { /* contains 12 values. */ + static const unsigned long set12[] = { /* contains 12 values. */ STORE, 140737488347136, 140737488351231, STORE, 140732658499584, 140737488351231, ERASE, 140732658499584, 140732658499584, @@ -9536,7 +9537,7 @@ STORE, 140732658552832, 140732658565119, STORE, 140014592741375, 140014592741375, /* contrived */ STORE, 140014592733184, 140014592741376, /* creates first entry retry. */ }; - unsigned long set13[] = { + static const unsigned long set13[] = { STORE, 140373516247040, 140373516251135,/*: ffffa2e7b0e10d80 */ STORE, 140373516251136, 140373516255231,/*: ffffa2e7b1195d80 */ STORE, 140373516255232, 140373516443647,/*: ffffa2e7b0e109c0 */ @@ -9549,7 +9550,7 @@ STORE, 140373518684160, 140373518688254,/*: ffffa2e7b05fec00 */ STORE, 140373518688256, 140373518692351,/*: ffffa2e7bfbdcd80 */ STORE, 140373518692352, 140373518696447,/*: ffffa2e7b0749e40 */ }; - unsigned long set14[] = { + static const unsigned long set14[] = { STORE, 140737488347136, 140737488351231, STORE, 140731667996672, 140737488351231, SNULL, 140731668000767, 140737488351231, @@ -9833,7 +9834,7 @@ SNULL, 139826136543232, 139826136809471, STORE, 139826136809472, 139826136842239, STORE, 139826136543232, 139826136809471, }; - unsigned long set15[] = { + static const unsigned long set15[] = { STORE, 140737488347136, 140737488351231, STORE, 140722061451264, 140737488351231, SNULL, 140722061455359, 140737488351231, @@ -10118,7 +10119,7 @@ STORE, 139906808958976, 139906808991743, STORE, 139906808692736, 139906808958975, }; - unsigned long set16[] = { + static const unsigned long set16[] = { STORE, 94174808662016, 94174809321471, STORE, 94174811414528, 94174811426815, STORE, 94174811426816, 94174811430911, @@ -10329,7 +10330,7 @@ STORE, 139921865613312, 139921865617407, STORE, 139921865547776, 139921865564159, }; - unsigned long set17[] = { + static const unsigned long set17[] = { STORE, 94397057224704, 94397057646591, STORE, 94397057650688, 94397057691647, STORE, 94397057691648, 94397057695743, @@ -10391,7 +10392,7 @@ STORE, 140720477511680, 140720477646847, STORE, 140720478302208, 140720478314495, STORE, 140720478314496, 140720478318591, }; - unsigned long set18[] = { + static const unsigned long set18[] = { STORE, 140737488347136, 140737488351231, STORE, 140724953673728, 140737488351231, SNULL, 140724953677823, 140737488351231, @@ -10424,7 +10425,7 @@ STORE, 140222970597376, 140222970605567, ERASE, 140222970597376, 140222970605567, STORE, 140222970597376, 140222970605567, }; - unsigned long set19[] = { + static const unsigned long set19[] = { STORE, 140737488347136, 140737488351231, STORE, 140725182459904, 140737488351231, SNULL, 140725182463999, 140737488351231, @@ -10693,7 +10694,7 @@ STORE, 140656836775936, 140656836780031, STORE, 140656787476480, 140656791920639, ERASE, 140656774639616, 140656779083775, }; - unsigned long set20[] = { + static const unsigned long set20[] = { STORE, 140737488347136, 140737488351231, STORE, 140735952392192, 140737488351231, SNULL, 140735952396287, 140737488351231, @@ -10849,7 +10850,7 @@ STORE, 140590386819072, 140590386823167, STORE, 140590386823168, 140590386827263, SNULL, 140590376591359, 140590376595455, }; - unsigned long set21[] = { + static const unsigned long set21[] = { STORE, 93874710941696, 93874711363583, STORE, 93874711367680, 93874711408639, STORE, 93874711408640, 93874711412735, @@ -10919,7 +10920,7 @@ ERASE, 140708393312256, 140708393316351, ERASE, 140708393308160, 140708393312255, ERASE, 140708393291776, 140708393308159, }; - unsigned long set22[] = { + static const unsigned long set22[] = { STORE, 93951397134336, 93951397183487, STORE, 93951397183488, 93951397728255, STORE, 93951397728256, 93951397826559, @@ -11046,7 +11047,7 @@ STORE, 140551361253376, 140551361519615, ERASE, 140551361253376, 140551361519615, }; - unsigned long set23[] = { + static const unsigned long set23[] = { STORE, 94014447943680, 94014448156671, STORE, 94014450253824, 94014450257919, STORE, 94014450257920, 94014450266111, @@ -14370,7 +14371,7 @@ SNULL, 140175956627455, 140175985139711, STORE, 140175927242752, 140175956627455, STORE, 140175956627456, 140175985139711, }; - unsigned long set24[] = { + static const unsigned long set24[] = { STORE, 140737488347136, 140737488351231, STORE, 140735281639424, 140737488351231, SNULL, 140735281643519, 140737488351231, @@ -15532,7 +15533,7 @@ ERASE, 139635393024000, 139635401412607, ERASE, 139635384627200, 139635384631295, ERASE, 139635384631296, 139635393019903, }; - unsigned long set25[] = { + static const unsigned long set25[] = { STORE, 140737488347136, 140737488351231, STORE, 140737488343040, 140737488351231, STORE, 140722547441664, 140737488351231, @@ -22320,7 +22321,7 @@ STORE, 140249652703232, 140249682087935, STORE, 140249682087936, 140249710600191, }; - unsigned long set26[] = { + static const unsigned long set26[] = { STORE, 140737488347136, 140737488351231, STORE, 140729464770560, 140737488351231, SNULL, 140729464774655, 140737488351231, @@ -22344,7 +22345,7 @@ ERASE, 140109040951296, 140109040959487, STORE, 140109040955392, 140109040959487, ERASE, 140109040955392, 140109040959487, }; - unsigned long set27[] = { + static const unsigned long set27[] = { STORE, 140737488347136, 140737488351231, STORE, 140726128070656, 140737488351231, SNULL, 140726128074751, 140737488351231, @@ -22740,7 +22741,7 @@ STORE, 140415509696512, 140415535910911, ERASE, 140415537422336, 140415562588159, STORE, 140415482433536, 140415509696511, }; - unsigned long set28[] = { + static const unsigned long set28[] = { STORE, 140737488347136, 140737488351231, STORE, 140722475622400, 140737488351231, SNULL, 140722475626495, 140737488351231, @@ -22808,7 +22809,7 @@ STORE, 139918413348864, 139918413352959, ERASE, 139918413316096, 139918413344767, STORE, 93865848528896, 93865848664063, }; - unsigned long set29[] = { + static const unsigned long set29[] = { STORE, 140737488347136, 140737488351231, STORE, 140734467944448, 140737488351231, SNULL, 140734467948543, 140737488351231, @@ -23683,7 +23684,7 @@ ERASE, 140143079972864, 140143088361471, ERASE, 140143205793792, 140143205797887, ERASE, 140143205797888, 140143214186495, }; - unsigned long set30[] = { + static const unsigned long set30[] = { STORE, 140737488347136, 140737488351231, STORE, 140733436743680, 140737488351231, SNULL, 140733436747775, 140737488351231, @@ -24565,7 +24566,7 @@ ERASE, 140165225893888, 140165225897983, ERASE, 140165225897984, 140165234286591, ERASE, 140165058105344, 140165058109439, }; - unsigned long set31[] = { + static const unsigned long set31[] = { STORE, 140737488347136, 140737488351231, STORE, 140730890784768, 140737488351231, SNULL, 140730890788863, 140737488351231, @@ -25378,7 +25379,7 @@ ERASE, 140623906590720, 140623914979327, ERASE, 140622950277120, 140622950281215, ERASE, 140622950281216, 140622958669823, }; - unsigned long set32[] = { + static const unsigned long set32[] = { STORE, 140737488347136, 140737488351231, STORE, 140731244212224, 140737488351231, SNULL, 140731244216319, 140737488351231, @@ -26174,7 +26175,7 @@ ERASE, 140400417288192, 140400425676799, ERASE, 140400283066368, 140400283070463, ERASE, 140400283070464, 140400291459071, }; - unsigned long set33[] = { + static const unsigned long set33[] = { STORE, 140737488347136, 140737488351231, STORE, 140734562918400, 140737488351231, SNULL, 140734562922495, 140737488351231, @@ -26316,7 +26317,7 @@ STORE, 140582961786880, 140583003750399, ERASE, 140582961786880, 140583003750399, }; - unsigned long set34[] = { + static const unsigned long set34[] = { STORE, 140737488347136, 140737488351231, STORE, 140731327180800, 140737488351231, SNULL, 140731327184895, 140737488351231, @@ -27197,7 +27198,7 @@ ERASE, 140012522094592, 140012530483199, ERASE, 140012033142784, 140012033146879, ERASE, 140012033146880, 140012041535487, }; - unsigned long set35[] = { + static const unsigned long set35[] = { STORE, 140737488347136, 140737488351231, STORE, 140730536939520, 140737488351231, SNULL, 140730536943615, 140737488351231, @@ -27954,7 +27955,7 @@ ERASE, 140474471936000, 140474480324607, ERASE, 140474396430336, 140474396434431, ERASE, 140474396434432, 140474404823039, }; - unsigned long set36[] = { + static const unsigned long set36[] = { STORE, 140737488347136, 140737488351231, STORE, 140723893125120, 140737488351231, SNULL, 140723893129215, 140737488351231, @@ -28815,7 +28816,7 @@ ERASE, 140121890357248, 140121898745855, ERASE, 140121269587968, 140121269592063, ERASE, 140121269592064, 140121277980671, }; - unsigned long set37[] = { + static const unsigned long set37[] = { STORE, 140737488347136, 140737488351231, STORE, 140722404016128, 140737488351231, SNULL, 140722404020223, 140737488351231, @@ -28941,7 +28942,7 @@ STORE, 139759821246464, 139759888355327, ERASE, 139759821246464, 139759888355327, ERASE, 139759888355328, 139759955464191, }; - unsigned long set38[] = { + static const unsigned long set38[] = { STORE, 140737488347136, 140737488351231, STORE, 140730666221568, 140737488351231, SNULL, 140730666225663, 140737488351231, @@ -29751,7 +29752,7 @@ ERASE, 140613504712704, 140613504716799, ERASE, 140613504716800, 140613513105407, }; - unsigned long set39[] = { + static const unsigned long set39[] = { STORE, 140737488347136, 140737488351231, STORE, 140736271417344, 140737488351231, SNULL, 140736271421439, 140737488351231, @@ -30123,7 +30124,7 @@ STORE, 140325364428800, 140325372821503, STORE, 140325356036096, 140325364428799, SNULL, 140325364432895, 140325372821503, }; - unsigned long set40[] = { + static const unsigned long set40[] = { STORE, 140737488347136, 140737488351231, STORE, 140734309167104, 140737488351231, SNULL, 140734309171199, 140737488351231, @@ -30874,7 +30875,7 @@ ERASE, 140320289300480, 140320289304575, ERASE, 140320289304576, 140320297693183, ERASE, 140320163409920, 140320163414015, }; - unsigned long set41[] = { + static const unsigned long set41[] = { STORE, 140737488347136, 140737488351231, STORE, 140728157171712, 140737488351231, SNULL, 140728157175807, 140737488351231, @@ -31184,7 +31185,7 @@ STORE, 94376135090176, 94376135094271, STORE, 94376135094272, 94376135098367, SNULL, 94376135094272, 94377208836095, }; - unsigned long set42[] = { + static const unsigned long set42[] = { STORE, 314572800, 1388314623, STORE, 1462157312, 1462169599, STORE, 1462169600, 1462185983, @@ -33861,7 +33862,7 @@ SNULL, 3798999040, 3799101439, */ }; - unsigned long set43[] = { + static const unsigned long set43[] = { STORE, 140737488347136, 140737488351231, STORE, 140734187720704, 140737488351231, SNULL, 140734187724800, 140737488351231, @@ -34995,7 +34996,7 @@ void run_check_rcu_slowread(struct maple_tree *mt, struct rcu_test_struct *vals) MT_BUG_ON(mt, !vals->seen_entry3); MT_BUG_ON(mt, !vals->seen_both); } -static noinline void check_rcu_simulated(struct maple_tree *mt) +static noinline void __init check_rcu_simulated(struct maple_tree *mt) { unsigned long i, nr_entries = 1000; unsigned long target = 4320; @@ -35156,7 +35157,7 @@ static noinline void check_rcu_simulated(struct maple_tree *mt) rcu_unregister_thread(); } -static noinline void check_rcu_threaded(struct maple_tree *mt) +static noinline void __init check_rcu_threaded(struct maple_tree *mt) { unsigned long i, nr_entries = 1000; struct rcu_test_struct vals; @@ -35369,7 +35370,7 @@ static void check_dfs_preorder(struct maple_tree *mt) /* End of depth first search tests */ /* Preallocation testing */ -static noinline void check_prealloc(struct maple_tree *mt) +static noinline void __init check_prealloc(struct maple_tree *mt) { unsigned long i, max = 100; unsigned long allocated; @@ -35497,7 +35498,7 @@ static noinline void check_prealloc(struct maple_tree *mt) /* End of preallocation testing */ /* Spanning writes, writes that span nodes and layers of the tree */ -static noinline void check_spanning_write(struct maple_tree *mt) +static noinline void __init check_spanning_write(struct maple_tree *mt) { unsigned long i, max = 5000; MA_STATE(mas, mt, 1200, 2380); @@ -35665,7 +35666,7 @@ static noinline void check_spanning_write(struct maple_tree *mt) /* End of spanning write testing */ /* Writes to a NULL area that are adjacent to other NULLs */ -static noinline void check_null_expand(struct maple_tree *mt) +static noinline void __init check_null_expand(struct maple_tree *mt) { unsigned long i, max = 100; unsigned char data_end; @@ -35726,7 +35727,7 @@ static noinline void check_null_expand(struct maple_tree *mt) /* End of NULL area expansions */ /* Checking for no memory is best done outside the kernel */ -static noinline void check_nomem(struct maple_tree *mt) +static noinline void __init check_nomem(struct maple_tree *mt) { MA_STATE(ms, mt, 1, 1); @@ -35761,7 +35762,7 @@ static noinline void check_nomem(struct maple_tree *mt) mtree_destroy(mt); } -static noinline void check_locky(struct maple_tree *mt) +static noinline void __init check_locky(struct maple_tree *mt) { MA_STATE(ms, mt, 2, 2); MA_STATE(reader, mt, 2, 2); From patchwork Fri May 12 18:20:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239631 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 64484C7EE23 for ; Fri, 12 May 2023 18:22:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 533B490000B; Fri, 12 May 2023 14:22:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4BBAF900003; Fri, 12 May 2023 14:22:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 24C4C90000B; Fri, 12 May 2023 14:22:04 -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 0C691900003 for ; Fri, 12 May 2023 14:22:04 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id AE5E71C7FA3 for ; Fri, 12 May 2023 18:22:03 +0000 (UTC) X-FDA: 80782422126.27.17F0545 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 382E8180008 for ; Fri, 12 May 2023 18:21:59 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=PAl2fHrZ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Y5fcbGP+; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915720; 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:dkim-signature; bh=1Q7wqf4ijKrU09WVtajX7KD9NtJGhpTDiMYTNaVpvaY=; b=a8dZsOlZpOT1v9Ib8Kes62Y/oG75nVMfyaftOtmzE7QOxDtd5WdmF0HF3tA/mY8O/9bQ0G WGOB8OlLJRHFQHAljOuyw8iX2l2Cjm6+hy0X4Bn7TYtsthsixN2HWzKQoG2JN2wlcxt6Ud xVqrFVPkX9Q9Qn1rLP17wD6Ea60iz/I= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915720; a=rsa-sha256; cv=pass; b=DPFSVrk6Fa2/uN9K+gBgQpUG4lckLWb0mxq3rMdoBVRqjI2/m5L2Yx/md/pz7sAE8e4lMH 7++72zH7yq7ImHOfdDeFlv3isT6aB26mAhCqvkTjuYIuLic6QC3As6RTdN0CH83gjNCMEY JqbxHYQ41NgbOgm0MZpGIfgd1/4Elkc= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=PAl2fHrZ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Y5fcbGP+; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4SYB028694; Fri, 12 May 2023 18:21:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=1Q7wqf4ijKrU09WVtajX7KD9NtJGhpTDiMYTNaVpvaY=; b=PAl2fHrZwqBGlz3zR6AmaycDbWLYav4NF9ebkiDKn/3157doY+YKuLlQpuNlA8YIPEWB Q0NpBxAdxENYeMo5Gm+NEmG652klKO0HvnwQh0/ZGIFtF4MhxJQ14YJNuUnhEavJSBT2 FUHB5dSJMu4GoRGKj1MFKTaoU2L9FaDbISoawonjUddtewrP0A8hEQDplO8gsHUyQrpz SqG4DL0VDRNtrog048V7des9dAsGPBz1f/9x03EmOw3B/xNfb/OYWUaSwj3vlafIszS5 gmL8feWz/RxNlQBagBYU+vI6vWbKqLHp3caVB+CsXbbJBgBHPfscMhGi0fBjqnh8irQ9 wg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77dknmt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:44 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHou3I011834; Fri, 12 May 2023 18:21:44 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8156yvt-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KffMwL3Q2Hn/131z5HxGilOMV3T9ZpUuAz9sCxSdMeULkqdfcAarBMJoOLKeM9ODZ1SRtgcXKfEQBuxEOU7TYUvAystxii9Zq2V3L/4TD5NXc0cM/tySGAN6Cu8pvk+RuUu7gQv5kX96rbDu/uiZub4GLbcElyenONeEk47fxphXYsfe9xkOOYjYWGu6MhhJiMOvhQbEj7fzdYugxbtSmlqojwz0mk/nAONEX/Iu7Itor1V2foWcv7AV0dqt7+6VjdMyozficIp2pNV/san65vLZEIVJsDBUN5qXv/j6rKtQHkWNmTp2q/s00sMdCvu8KA+JHdmeFCKJNxwFx52fDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1Q7wqf4ijKrU09WVtajX7KD9NtJGhpTDiMYTNaVpvaY=; b=HUFUgu+BCloGz+FN8JBpzftY2M9sflO6bOQcSDu4V00m/1nhlIyWDb0FvtrYoEcprbfs2JYGU49gBp3yNGiE2NyQpzXfcyR6tvfIJ1xQtYEPviz9m0gMAgs4b86kSdM+Yxjw63t1LAm9dLKozZLhV2wNLdS38qlf63TzxPZ4Hgzye7TUdyXOgG6mdJXp76amHtSVdHDqrY/0SG3XWlh13c0/a9NOF8YYAh7YTmM+5TL8b3zWTQQKHhkUpk2PaAphK0CnUNRFcfp6ezq6R8Io7vYomfHMMn+kpc2nfmtBvU1S1uajh1QUhM29rrAseKiggn4X9R0w11IeQ7ArzzQi7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1Q7wqf4ijKrU09WVtajX7KD9NtJGhpTDiMYTNaVpvaY=; b=Y5fcbGP+U80GUm0NXUxrxexOGY0mE2PZQQ4CjVQHiUR1Ulq6SCc2k+IobcxWH2Yn58JyrDQjxR2ag8X2ssyyrpOTd1QxHW2O0239S6AQHjfu7PWd5Z+4YKgXzqwUjQFokwD4KxyeeTF5XWD7j1EeTR/De0gETFtd+/AVfItNnds= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:42 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:42 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Peng Zhang Subject: [PATCH v3 20/35] maple_tree: Remove unnecessary check from mas_destroy() Date: Fri, 12 May 2023 14:20:21 -0400 Message-Id: <20230512182036.359030-21-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0054.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d2::11) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 39f0a56d-c222-4b5e-7b9f-08db5315bc2c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wXFtxbw8RVDxoBhZkZ/5pV6CBViYErX+vBycPcKG890rFuQzss3QHoODTu+EbwXmSL5fRyi05NUOpZe1pewpS7iQ1yD0PWCM5NWQZc4aJldf/iAW9fI+alfr9GDcwxXyHLo9pJdaxej2/uHagcprVxCJSHbTUeUyvgN+A1F+ZkB/Hih5cnPr/tqFb/+7NOkTiLL6s2nCdy8a21EfK8Wpx6FOFJsA550veeBX7WrcYmgpEGVezzMv5+V9C/yf2F8M4mIaOjxxD0d4kd/jQxdNGzEqotKfJ/nbn3Cz74RQWSWuLGAYZhYIn7/cHb5dwNaNXndYyrvJx8gwFlR9i7GGdRXGk+Mek2ih9aL1NzKzLQ4iENcRy6A2nB3om+xkZqogpgAB+Wwgl20aVP5jC7XXaotnRylfVvzM9zBDjLco5QvNaDPQmrcuCTg7i13Yu6ieblLEXqHzXm68NjnHoV9QGeHfscO6YO9ywJdZmHAqJyTquGbow1UJFFYlJ2RzNEFOBNSSlZkrCxUWI8PAIPKaJAmKul6PTNG0DP53iM/dLvqpEfEw++Fj0TTI96BAQIND X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(4744005)(6916009)(66946007)(54906003)(83380400001)(5660300002)(6486002)(316002)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LltO/dmXcXP397/OWer8c0Q6efunBrIPIEOy9daJKMLXp8+atSNJlWmMWpvDR8ZWbKNWFOv5+5dkXUIBC3decWhhpY1QYHFxcTVbNlhX2aJ8CiG5KqMXdQEwnwIlITU42MdQu1RSpU/B9c+hS/h37X9A4dW+BiucLP8L9TAy1q6qZP18DQD+ramY7U8aUKRJsIgt0pHKY69SJhECzO3IApiP+L+pqAENjHqKF/ivd466DN5nbDuG539tPHdiCYiOiyBoyMqhzRXeH1zyGuM6FaW5rEGW/f08qZrDhmc7NYxG4QTBQuGH0Uvt1TqgMAKb/q4akO2KQ0H/feLorKk6Xh75QCZrX+8u215TCoaScZFFxo6LlRUqFxfbX2uxph8aZ5ahoqpzlzT3he1RtRSynj24iRS2l697ZQbBpSg/Q26VWbdPaeQYMYIwLMLVKakYK/6VJk7icQaIwfMChxedhDmFAdCcTQT1K4yNW47DTZhZNf8lvFxWx7cNkZn3sGT/tfuJl0dXGCZo1Oi/PNd7nKyKfvv40+Q9lbLmXuPFmYI5Hys7CoA96JbuwRVUItemE0lCg6e+6WouODiyuqadzWr/M2jEF8tliPrsdDogNzoAkaeNy8XrdBeul8A4E77tbuXA6lYscjqpvjZ5Pi0BxhXLln5MibSsxvf+QsPTgTuOw7uAyMb9nnP0v9BHlFn8U0tdqlkqkFmnVh83dbjx33bh9kGA8WSv3vba985vjaLk6hKTa7bOCvyDC0mTzZcpx1vU3cumXYe8ZPUqo37dFkcFkMzZKXm4EuCBUuSsohwShmqEhHINM+X6btMt4Dlhjp9WMBbdj+F9H4kx+AAZS+Pa2YjtYMxeOVujfRGLnJiJWx8sHUTz9H5+FL9qn5t8MbjYl2h29trB8Ws6OlBle4wiHvbDC2Nn8aKoQHcXRbGJ3e0LwFb3gERA0FVNF7eMV2iAH/WyBNyCQ1B8QyjwpSQhiBS5yRXb1A0wM+x4U3Y33IR9jENncPJCsm0ihO84jQFV6pjj2E6vAqOQNZGFkX+7eDUlVOpY4Du9UQFLW4117Mgxq4KxoGRnRnJ9ZGT71fmop7YbOUTKlTHDhgKng/0GhgcTE02usdf9SRSYiWsophtBkifQAUV9+caYCn1yHA3SRizRHgIsjxEJ1PHtWlCNPFd3yEs00Gn02rrXCXExN5ZPEiqVmSwReFg6JOS73QPSVkSlgWIgLHujhcJuzMLsh0dQqBXRg1SzkyQIcWcKcrw0w6WxOjlWpGYpY66ZBeajI6gV0sGfwtBw30+1qPVBp1vczYWrgE6udUus+zexY5obx26nCtC3Rhqy7wX5ibrn9FwXs1AbE5RT3ZzAeeWJ3+IZSwXYl8UXohKqpOeof9rUAvENpdSHaXniaQJ5PJMyA5311KVOqmK6QUlMA9whvuM1vJQF9QJ4ukT9iNzVCifg3H0KdMxHhSlNLrGFdK8jlP3N2HO8i0qJWo7PsEUy0BbRe3gEHxN8+R/ql0wc1MYxbn2tnZdwFtzYEUDKNMpdCsHK2FJkgijMsXY3pBtWLojVbsZRD8yAlXJQk3aSZ7E3kZvnSP2w3Myf8Yzi5veYn3FGIF+b9blg+8ojWw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Eh+yf1k9kOD/xKcj/u93ghdkffYiSXdertA5gPeXuR4RGK1d+Tr5YPOqWhd9Nz9yTaV4sDzwHdiDpu3bOrOttn/pljejxX0jCbpq4RFInnsL0jUPy8ueRGUl7uePE/BQql1okkjCOUsjZ2p2PaJ/7GT7m8TsvXnLPTMvMuzPe6kRHfAGhB8EZkuHg5IEfi0B6FE24Gtswg5eJyRV8TZG8/Jj75c11uTU52b1mtQ/7b2uu5yQBmbcYQdrYRDwgadhhLKPHFLnDK64/QObpdI5HXDY1FFsWizUSyxfW9VVRek+ia0fx+Y5RUmSXG+C5qXifGm0HNfECKmfGSpdT+AML2YaU2jRqC06u5b4y/aXdX/wV2aS+jD6BX3FJnSc7xjn528Jn+oBtiuu0a+uOadddDt/7LBljQX3tcND5YruDWQPCtzowAt99SgfKqb5gd0ATcxadycRWzjqPgSDq4vW1Iglt6ZfeK9tljzyTdkf1sWCxyaxdOxIVGJo8ep7VyJ8kvgs9j+O7unSNcxT/9NcObaVkg7wvJCXsOW/ybbCLkJ9k93sS7T1YqH6gGYZNuvGX3FUlS8WOdZoCSRoRIsoc+QsDQDlrObbl8oxP94HPsJ8V065ibA7fH8DAKMF8s85y3wayTCft6ap1kRqrtBfwNw3VlAO0BiK/3PPECPGuyWXuNIeT9oQLHSPXr/kAKXWR/8lm0/+o0Sk/a7yfWymw04VdhoZvTjHAqTx9O6tQfNXG6fYumXG83gH4eKFuoHyoN+wmHkneCJbx6VvGDmclQXrHk/N6tRif/5M6Ktb3ptBmbC+O1lPJgVYdhFikHMjyweRyMEN3kHpwK35vzIllaN4ldvYDt7khCUz3HIF9rePlaKxqWBU+gIMZ7joxoIs2nwNR6ytISPPLa2YK/bsYNEfd7TQs/vJM6GWMU/IGwtywrBfODUhTZZaZbvmYymC X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 39f0a56d-c222-4b5e-7b9f-08db5315bc2c X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:42.0531 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OrkK9PWylWvmgvm+l0ikyjt03AZ2dOF+5JZRDu7sv2+1p1kA5+f3AIZs5uR1AUQnut3ZRHwNQINE6M7IRYHARg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: i7Lm6OokkYgwRAHttKLOpwicgTT2viKb X-Proofpoint-GUID: i7Lm6OokkYgwRAHttKLOpwicgTT2viKb X-Rspamd-Queue-Id: 382E8180008 X-Stat-Signature: jiw5aowr3fdynxusufy5jqokfoeha8xu X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1683915719-92125 X-HE-Meta: U2FsdGVkX19QUjYc5pQL2rGQemVItRPBYfKLPSbuZoKoNLAPd17yqsdWWIWShh9577/0Es+TiF2uyme6JpxI2rOo4C2e9dGDhugOS2MJQkThP2cj7JlS/iV6B0WWw0D4JUAX9PEg+xVIsEqI2AIlO5Laf+WJmQt3TIwYcWau2kTEybB4ZDcxSJoN62pJp0rMsU9HaVd2We5lthu719pUUtX80NOch9mj26zNk62qMqxeO1EyL71lgI0TI8iy72u6xA8/kh3JatAzGMG2WS7RmGqMNW9oM+qCJUl/j4uSTDpWzVEoCNn4RHF4og22nOAszlmioEuqAJv0QwUk1w/653XeSEns3XXd03aM7bvEhNzrlEX1GxpWn8QamB6z/vMzfpUWhtzXctIRExI7YtRJd6oahdeAEucXyr9mGifnDa0tDgjeJISGpWm3kuejTuBB1LnyJ5cvNtVJ33ky++fyL0s0rFmeY5ZxeN7Aut42mst/V+dPPUwXb9mQx4y+kPk+V/5pDCaAHKjm8lt7gF7KnjW26qTGCONRMhWzXzncih/vH9l1gbT+VsrQ/1n07gZbbkOFtV5ABaJyQZTisFJ1m0kNAL1g0UdqVThOhzzIj0DziGRc+eDX2IeHCVYIrEus5DKdKgENri+tTcaHfC0Z0Vm4XNIh9jpF3kT4OnfGgNoLKIr8M2H07rGiXChKYBloRo4aecfmSdOwv/sP62umKB0K8zb8zXIMqqPfaGRsMA/SR/e/6fa926D7PDkqhmLnrfjkJ3wKffq9/bzgTkeLPJ348zjtHcgsON/j1RB1S1HrR5XSCqWTAHBmc1598OjIar63bq9WIoQ2GtgdhafE4A1OVYNU4wWEWFAc2ULj6b2yRW0u66u9sB0qdzzCo9bUfxgAJ842Zvr137C9nGKIpVKR0qbPYfpJ2cCBeRqRmIconSdpaEUQyWH3VgjTYuPaAc4CVzGn9A23mhIOOo5 fUvosCoV dQqgKE0MfZAlZNE+Ux65oSbknATVXKREbrjsh/KOdgefKPNHPuHDmL1csAupa5CrQNdIEwx1DQ6mV6lJ+Zp662O4c9pSworjuwpeD2YNTM072wlDYIHPN0/ryiOZ60EhaWNufMmOwiQ4n7yDYneEm2mWcidwD8fRb2P8Mr/ElaO5IaXmS0592FONKVJIksXtMbmClkcNdIVwleMY6r/TuQqLmQ4gmlk5wvdNg+ft6rxwsQ/g6ToPHiXQJfNFzQ/U1i+5KRyQ6O3zvatrJQ4dmSYDQdenMp0Q5bHKZzuhTRJru6meu7RkqrSXGvGrfbCnjS9QsncXYbVpxx8LgD4DBQTpZN8XvpxWesm9Vl1si52AfnxjKbzEijXJhVpc5CYB739cv8wBVNehtwzkNemis3r86rGVBrO2mDh2gq+iVnPeBR9J9egAjXVHwxXcgMcxJ25Wb65XGj0J9VxalcNgcLjlP2XMaBgicVxqY 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: mas_destroy currently checks if mas->node is MAS_START prior to calling mas_start(), but this is unnecessary as mas_start() will do nothing if the node is anything but MAS_START. Signed-off-by: Liam R. Howlett Reviewed-by: Peng Zhang --- lib/maple_tree.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 9f3784f4a5b7c..b3e5ae43ff8ff 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5816,9 +5816,7 @@ void mas_destroy(struct ma_state *mas) if (mas->mas_flags & MA_STATE_REBALANCE) { unsigned char end; - if (mas_is_start(mas)) - mas_start(mas); - + mas_start(mas); mtree_range_walk(mas); end = mas_data_end(mas) + 1; if (end < mt_min_slot_count(mas->node) - 1) From patchwork Fri May 12 18:20:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239630 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 9CAC0C77B7C for ; Fri, 12 May 2023 18:22:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3117D90000A; Fri, 12 May 2023 14:22:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 29AD3900003; Fri, 12 May 2023 14:22:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0766590000A; Fri, 12 May 2023 14:22:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E4A3B900003 for ; Fri, 12 May 2023 14:22:02 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C657F1C6CDA for ; Fri, 12 May 2023 18:22:02 +0000 (UTC) X-FDA: 80782422084.06.BBE9442 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf15.hostedemail.com (Postfix) with ESMTP id 361F6A000A for ; Fri, 12 May 2023 18:21:58 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=p70VyN6C; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YgCPuRx0; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915719; 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:dkim-signature; bh=3J4pneHi36iA5e8D1W6Sbr1hFtHWPs0j8jYZRtGOe7s=; b=3IMYwmCC/Ry7ewWR55wk/ni82aQaH5FXjp2p35s/zOC6fmQAPlBE93+zWKjbCBEuHyEQtN yW1l1u8ilbZD2stnE0T5aKNPKZ0+8PuPqBcJkw1313LjR9cDFgGSRurntXutSlOH1MGnx2 eNQh770k41VL2cozCqSfEwvRsIqrnWo= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=p70VyN6C; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YgCPuRx0; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915719; a=rsa-sha256; cv=pass; b=anYzKBvTgtmk94+ECPb3tTJ8/h2YSTmW36HdJZoC0fiDyZhKTzBJ8ABzZNL1JzJBiIIuDi fzKypgga0mgFM2/yr+CXy/x73Cmc+/mD1ZTUKGx4idjYATJ8mSHft9pQhE2Prz+mYYehdp 3Ric4YiAt++6+wr3JZgN4HT2ZZ04gZY= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4Rco028673; Fri, 12 May 2023 18:21:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=3J4pneHi36iA5e8D1W6Sbr1hFtHWPs0j8jYZRtGOe7s=; b=p70VyN6CUdX8XYkDwGnnHQHjnlslrOOckF6Pn1Hvievkxypx/W2m1zhGgaqu+QKCAFn9 2HLLzdrn105fq+gkO+lQ3eXyYLNdt177vCMGW89vB/eobzq+uTeWfettx1GxARQwuBBz zy6CbVUJJroDRsgous6h2mtwQIWJmTKzit/JomqKWApvoh5rwI7d09eWEsHspI6gB50B XOpumzrIaBY4H096M7eIT7z9rzobzrUftWNLbdfTNGfR8Duxvm0do3gLVE/LiJPrpdZK FgAiLQBOn7rcbtHDp7qMf22A8aiNu+Y8hqMsudmcvq868HyPPf2wPG8B5JRxYkBtBOA4 JA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77dknmv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:47 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH3b1s004415; Fri, 12 May 2023 18:21:46 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7pnt5r4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B3X2Cr9yehOQ5DaWkEMJ8VbtmXz2Ho5VszsbDmmF/Mt1/UnClXObQLN9dBOTsWkutrApdsxieMxv38Gs0faTHEK6JiiPh8UsZZQ9Qlv4jni6DImfpUplAE1QuU8aZ6sf0pDPenL7DANBG95NB5zq3mRimGc49QvEF8p+DJZmQocNgn1BMQC7JV4FmBX5uLVCwfjFTa/o0YPPW8XJhXZqgMWrfGykVls6RGmcHxRfkI6a6asjMlqdI1IZwHVHZHXtWd9cIOOclkSzCxhziCmzGWkv+cPtCat4ioO2i1tPsWqBwQO0ph/GfEXuEiVzDEtO4apoGdhiA2SPr5k36hjhww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3J4pneHi36iA5e8D1W6Sbr1hFtHWPs0j8jYZRtGOe7s=; b=clUaG7qbRfRyGUrL+tz7kXhZT4ADejf769MjQ/AwwtHHpnTH7VoTgQPX2twhCZ9zpX9H0GSPC93qgWAKDpFj8wd32Z8g4AHNpb/O4caiMMHQihJXat3jchVc3YSGYxgIcx4yxAZTLM4zgsj1z9cac4CbjpFF4Lu66BkC2yDX3iIARqJal3qu4OQtDyK3s3DLHkf42ZC9G7ynr052C5rzaLleeK5DFKX9Iru2/W+5tfZC9SvZytmP1961QET3gAS3UhGvsECTmQlAX6ylzwn2hBSDDEHFNZiBwsBtEyOJyFbRFmC2gw5DWiPh9WpySRB4/GrAPHOx6A9GKLw6XOI61Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3J4pneHi36iA5e8D1W6Sbr1hFtHWPs0j8jYZRtGOe7s=; b=YgCPuRx0qzhKOZW5+2cj9198GftUrMLTgK+bF9I1knyX7diJH5G/pQjsiPN2VxuOkfDv8TcngZi4Xi3MXBO96JPTT4+6Lqq+6NVE0xjpzWa5KK2K1sLkKO6CZkntrFDPdGEZzlfpsiyjCNyUNbbkeQJQ1mIzmX6QNy+3fXdoA1g= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:44 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:44 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Peng Zhang Subject: [PATCH v3 21/35] maple_tree: mas_start() reset depth on dead node Date: Fri, 12 May 2023 14:20:22 -0400 Message-Id: <20230512182036.359030-22-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0079.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d0::9) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 1758a05b-93ef-45a3-2a98-08db5315bd86 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pTluZxZor43TbNBSSFAHDytdII41oTgVmIOBCMBB0w9iBCyjaXUtzLplaVawDRlI1Dwh/6FSm9QWlynCeqOiH4svxHR/alAvz6926CZ9uSrZ3Idzfir6t8m58XLVs4HRTO3BUQDk8O5Zy8Q+XjKZadvHdr1LrcRnzyebAaxNUzJD+3g+BELqeQvGeq+gmzOMLw7arUsDbq0kxCoy10daGCjs6w5cpDS2JhTcN4VGZ9PO4tCjANeQ7r+C9gUwhNGQ5Bh3Gy+7qA1f+hgWdB4zzCmsVm3reEOxhLna3sRBZ0FepE+QsJjtOHeLGKWdh3yCt2wUzUViJkXivaUJuWbndh1mN09fH3vuJNs/RkGJOLFF6Ysyfl/KAqZu1i87zTJ/DwHWasrU5sk2OERRi+Cy6vI/08Ih6DZpcgpqXVvX4P8s9hB7oTTVWXOLZ4ygx+e+QxCe5PF9KQThNB9ozobeDgK84tS96KgQBwgGVRlgGm309xiXCrC5j7TpCqrOyN1KSopB09CHHFFYTLgKmcZLcyHniw0Bp3TchNlDMlrYdX24DU5SXDdOndjkaXuE1Jo0 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(4744005)(6916009)(66946007)(54906003)(83380400001)(5660300002)(6486002)(316002)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Rg5c9Lx2JLioAi4uhrhuD2MKQtW/Sog5in41CEITrHaA0B8SsD1YSiyINY7+qp1n30muPafFwjuh5RX8ZqHGxKWKeXKKm6qK+zPiB8Rcg8US5YdNPV+E1MkWLWCFkAG1YtRfeNhuDYGX47kjlZG42MMlKenemJcECeRMgdv8Ez0BKlzGm3ITTPAjmmc7tuQo2yR+byc2yWl67yNbZU5d+hYTRGUfAF0x6TnGTdIhjw/BOXFScerwkzOJyO9ZkhsiG4XOgzs4oUrHkzYa08rSFVwJzZ8clTrge5S2N5aL/Mk824ChJqH/MYqsyUgVQzXBG23k9O2d47QBu7filHi0v47ebRnz6qFeK0tplFTZ83GzObuvG/l5jSpRhXSeRdRygorsguHITqfl0JKxKJ6ATJ9HNY/KeLIs1hgTY89yRVwMjVC8hcn2ysobw+VVRsWI/LTwv5E3hZOWJAWmEDUkN0p6X3sYVti4Qt8RrebM8aeD1iQOBASgUmeY0ndy6RfQc7g0rupHdbjH1IpuiNplQHkT56mPH6hxglkKmcG5v6jXSz9eWoQeJAgNVLsE6xpN2eDakyySderPycs1P/fHLk94r+kvLjnG4EPZTuMbSR9AmOtlvulxvwJ5hRhECelvKgE97X7ZW67FrWgpoz3HlnwgrgzmOxj/h8oQ2YBk5T5HF4Pk3TrzG2f4vJCcj9zV3n0XdIJ6ou6BGlUHDuQTCZD57dWVVHfexEEZ4uZoggwvjSOzNppiDk8HI8zqSwhVvbDn6joGQcAZMS38+V47nFLm/SPxHb7NrIm3PQs/keU9dZPbcbiAWB/sAaTtlqnt7lIwN4WsKLZ0XitovgMHMK2auvLN2xF27Bhk3kcqFgGVARw5p5uwDZt2eLQlBuMa/ifeuac7GgiUyXpSfhBp0agvZBMGQQokpCAMf8K24Ky8QhqJ4EP1NE2yEGOks5Znioe0eBDivVwOB4T62iCLUTAfIjWxiRqRbrLXAj2PxThDW4lyC+mGQJN1azANpexe8u2EihTrt3Rgb4P/pw/bI2CGPkvmdePU4E812ED1ycM7mqAYZWMZbgnk1u05AURYOqgh4AuHbA+0Z8c6pRl6CqgxvWZ8/+XQ483vW4wR5Oz/1c1HqS6nlGNvjjCN5C4K+xqygNjd5ynYkQ0NNDFaSp9qz66kwWzPWeOW2XLcsHrW8ZbQcyVGH4LoZ68+7lH8WEicj5FcChgFSjlLn8XiN70KhHAAQnAIZ+cvk+5ZseITrxc/d/npgXjluAllKhJnLm2FQWosVRozKoBPaSUI2PnuMREKYA0xgJLphJegouq70uOY/i2bwmBLY/ul51q8gyImTiRqRVYXU6HKTcd0N8LpXqddBAyYYgLLEWdngQlP6d22pqaHgH7u+P75HQiiQiqQqNVH8UPNbvyS2pCowB/JyiazMcHk099tsXCdPg3k2dQOztavb/uOCV9q9apbCbiT0meKZ0MLjdSWw4DYFETJxDvd6RREFD+0cpGspWm2aGoQrDbkLNv9uRRi7jkean2OfztWQCKzalI70FHVqkbLx410msFhD26w/WXwk4pqhS/doRl4In9eJw/312VPDetz4bZnb65fk0t4fq0qVg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dmVE13x5kYy1gCXNuw3Id93sem6Rwg9M3nKTYkjey+3BWf0jWVEVM+qWLQfztiMDkhk5p8jOhLJEK8XfOrw+xRUsQMrZMjPNqldl5rjXhcf94ePt75ujH6U+vUn9c7+YzpzxR3K0wGPhXqVllWL8AhjaxCxNRn/jVkmvTeAResp1MZd8Nv5BATVUHmcdeKngeQ+GMUyeeYF6JPyvYOc8MjceIc74OepqeS7rphA+fl8v+teiTesU3bj3a4kfAUk805UlaHvMRJIgPknloqXekstguCNquIiHBC1mGQJwnOQ2OFor8WMWaCv6/xHG6wo3vg7hqtz/pCPelDguE1deqCUSKjCIVBHsjSrGAhuv8bO804fnfXGP+J+uj9iRRaDRiO1187OxIs+ouCLnXoYQLHtiEqlonXNqyxOat2A/sOURl2E4rSSUZODG7ZxTz62BYXux5nbmgGQ4/FBmy/zuqT+MvqG+5dVliRhAz8X1sCTKbn0gGUDb6CwSjomoTnqOekuC8lZeaDkMxCx1jgQ9rLg5diQ/n+d75NyomMUqQICEzqDKcYn5kHS2l+azn5GGXedKFHsUrxUwQBoPWUGCrvprL/grdW6JK08I6HBdyuL2TyCVXx+7qNaAONjkadswWiPiu1qBmIXT03NsIrjIrSmfb6+vBXx9bMTyP7zjr1On2GSRZ+QKln6ux3LJSUGJ98aL4h/H5UdCRQ1ITZlw9ZYaoz3VRkM02GEoETCPv4yVsk5q8qo23kN33D1x7mf2kYQdIlARDfA6zNz79jAihHSJxzHeokEhrMbQzgCHyBosabIniho+8SaBTAALgIIURGBkfTC66T6VKUpIz7JLWGLWBenKHymMeaE9MtEUQ08jiNkz4AIExx7Ulgmtf8hPUoQicmc6Sgt3lDtt1QfgAwj4IAH16tYjCwyd6/i+ll+7KugIdb/06d88DtEQGjoC X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1758a05b-93ef-45a3-2a98-08db5315bd86 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:44.3045 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xa/j8Qt1rkUwsFGTGx0SMCj3HHs0N08PEpC5RjWHNahPxkGCX1NC3o/DdeidkrFC3PNx4nclLVvniNBeML5yoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: 2Sa43_sfqGh5WLDUEQkRmckLBqrttquT X-Proofpoint-GUID: 2Sa43_sfqGh5WLDUEQkRmckLBqrttquT X-Stat-Signature: h9cepgatttxpz5ugotzbteu151omedbc X-Rspam-User: X-Rspamd-Queue-Id: 361F6A000A X-Rspamd-Server: rspam07 X-HE-Tag: 1683915718-490537 X-HE-Meta: U2FsdGVkX1/pKjDNLDfIn8FjJg23VHfJx6iiez/AeOUpU5S+K8o1IdzZjJTGMi9QwhP94wMDYXimcruCxjiXOmaZUj+RgAt9v/phtWlLe2GAWaM4HGXv0aaIxvO1Tv0hQcub42ZzfjZcXzGr9XrOitKV9A+M4LdEu7EeTyj81taTWOvRM9K3o4frJKhyQ/yoKElJbZpcexdpSfsOlFG6cTbauvcevW8BDLscbma8SsC70YUJF/JnAROKaWukR5Ry+Gvqr1/PhqMBtaJXhiCu2OobJpZV5CrZzINtI8AL+YADq+B4z460DwVxUeqgmQ2XiIccoflt0ivkVw6hzjYJ/psZMHcZJMx+nGpsEnMPeb2ikn6wkPyKNFO6f00aNO/voWsxYEmeSj/yfgKmBuy7P/iYN6KSOWDIZjvumwO11MOEm0tf6vZ0XWyWHwcyhDEgPNTkeyPlEauv3HJUxFqgt/QKTgx+NyhxOO8AbXEHZzm5kACcPdfxQE7qCWGdibI6qEygYwuh5gjtsReCjhGOuxjJdnAEeldjYam4wm0Cf1drKTs9KqC8d4Dl499qU3I9uti0r7Wft7yhzOBSfFD2e/CpcnE8H1CkqmwPmkSpkvYOapk/n7y3wi6Htc/bCyWz5NFB/X7acKyAPsTbwBC3E3IrMFQYKUODxDO8NuukWnkoXFTEd2NcgV+oDrTaK/dsvxKNoy2NMXQ/h1Bg/FJw4hk55Gf49OAudrJW3OQKmrmE9Pj2l2OR6NaoisiOJVg3Ch6ag7VF7SiqFewoTTeDeAVjERjOITWm8cUBxbqqXHONlC3UWVOK54OOQ0m0zpsBFGKf0s8RnxRk2z6EIpTMgGAFgQjvj5i7+QPvbwGNQEff2/+AP13WJ1OBdFnN08vM0vAkCyuCGqrS6CtUhQmGP/on2Fiu2pMHoeza7wKQesUZUW2nZg4Je/Rir8bdSApknLcDBwr87fzQ+qZ8B69 cqkW0ulY J6ro4M8Y8xZPcySxX7UwRtqUsYLYp54dCwmqgbRNazMAXi+SobVwOahXfZAyiR3k18X78ZlZ4qMKDHwnZBXf/1iemGUysTigVPGVX+dvUwXc7iCoym7fmZpQY0zYCiGVAjQFpkUkmwvNCgbbSRLnsUVpg/8P4wRtfJV6hES0VqJFu0hmQqXpXITDgB3hTBTaeNWYJS5c31KDXeoixubLKD90IJlYLNMTjsfT7SpXp8BAXDXQn9+2LXjBDhvZv5NO6ZVZOyhwHs2BTp9FIW6TruktE31+d6mcNyZ3d0CKjIv6DGeKTpXw+4xKiX925cw1HRfc/IF1u6afnvRD63OjDxSU12YYevd8SCsMDF2Cy4zc4d1HM7mW9ZN4vIIW4KEX9dT0XDJgNQ81KKRMXVEuIidFt3dqQSTSzINKlkcZB/V1574ialoOXQFlbFYs4YY8+xCPQ6g1hloaSm0KoLOdh/P1ZOM2hI12wesmz 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: When a dead node is detected, the depth has already been set to 1 so reset it to 0. Signed-off-by: Liam R. Howlett Reviewed-by: Peng Zhang --- lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index b3e5ae43ff8ff..e233f41ed4da2 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1396,9 +1396,9 @@ static inline struct maple_enode *mas_start(struct ma_state *mas) mas->min = 0; mas->max = ULONG_MAX; - mas->depth = 0; retry: + mas->depth = 0; root = mas_root(mas); /* Tree with nodes */ if (likely(xa_is_node(root))) { From patchwork Fri May 12 18:20:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239627 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 27442C7EE26 for ; Fri, 12 May 2023 18:21:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A644C900007; Fri, 12 May 2023 14:21:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9ECB0900003; Fri, 12 May 2023 14:21:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7A2BB900007; Fri, 12 May 2023 14:21:55 -0400 (EDT) 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 5DD1C900003 for ; Fri, 12 May 2023 14:21:55 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 33FE941023 for ; Fri, 12 May 2023 18:21:55 +0000 (UTC) X-FDA: 80782421790.27.F3C2A6F Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf17.hostedemail.com (Postfix) with ESMTP id B78AC40011 for ; Fri, 12 May 2023 18:21:51 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=ziyggmw3; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MqnSuqfs; spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915711; 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:dkim-signature; bh=MMuXGwzfr8FrXvMOM1JZ8fiBmFIW5agQMabZbUAl1DY=; b=Mub04jDEcJac8OCypuAIZ4AolwkQL2DmeyGov3W0W7PdOFSXA8YxulbivVQIdl7dwlxAIY JlolCmyKf7Un20psKQTwM2Aqk2CBYh1tqWdrGg6RrKQ5Ch74V/oF+BdK2VMYGjWshVYhK7 Iamc2Mct6Ad5J+pFLiLKrzjzfUC2640= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915711; a=rsa-sha256; cv=pass; b=7Jwn684h36KxCvek8UmcPcG49+nf+ogz29zxXt0RVzCwLqDaNNzs65PBrUB3IlDaDz8kkb 2jfrUkrC9GXkbvx8E5zmIfLh4O1tvGhvvxnMLHbPznObyme6xLIhbBfRyG1vY1i76O/7Jp tLQ1idnHbqBJ4H9udC8LyPxaV4EU3n4= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=ziyggmw3; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MqnSuqfs; spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4RZE028665; Fri, 12 May 2023 18:21:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=MMuXGwzfr8FrXvMOM1JZ8fiBmFIW5agQMabZbUAl1DY=; b=ziyggmw3Du2LRW8SFWVS8w8EtxGmcthOac+xzdzPrCbs5TwlEDUbmz3Shoo4TKdYqCdR 3S9aiBkn6dvqs5VRa9279Y7awwGr3qLiknCHuUIb08b/CDx49FXy4nwmr42kqEnjIrBx wi2WnfpXGY4KGFDY+2l5bOz01Wv8tEH2DaTcLPcBmT02r2G6JzZdXMaxG1zWkNDvVEeD hBAoCG05leLUMJSdrDkt1nFodUYmOjwhxloU2zynPY3vyXGUC0yJy3pkCSwc1XhgUAmp zLJ7pvCPaddz/TqJ/MboklPE6ZI++loKEyi9DSPnVM7sguGgqD8m9cAfe1hlZCTTLTqd Pg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77dknn1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:50 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH5USE018337; Fri, 12 May 2023 18:21:48 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf77mjm1x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J8rmM28DIOixAHMMLBN+wWGDMsduPd4pZFT8Q3oHWPz0AMQte0jsnvhbl7akL/J+KLvYS/6s/1tWuh7hywtsQ0iDIUfxtOWkq5U2J+lnQVsSNN6cEeoK+Q+OZP7bpvLAlAvc3vGKnad2PEgTRVVJiuj1bijg2jXQMQVRjPRjx7zboS8iJTo+5IWqG0pYIwQ4km8msuYV8MSeJuGGcbiqmwqXrTwQemRf6ENKEz2xvPjHMah/vUxQHmictSEz90gEPHwQUcnucO8o6OPkyo6d3sBxsxUmzbwKU1HXcabOKrQxucpjVKKPFjRlKxng9c4ZF6r7vkpJzbdcr4jI7PizqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MMuXGwzfr8FrXvMOM1JZ8fiBmFIW5agQMabZbUAl1DY=; b=YktJA0pGC//YaHq9zxuMI1DNlkW+dU2f3EdLhGRpDuDZakJ0ilwu3/LyrD72aEaLFpcjvOQIG6cVHBvTp85004S9CXwsD4vUaazLNM2WqS/Yrip2ot0Dmw1veLlh8ykAoapAii4cQsuQ5z2UKS+WHve8TDs8I9tcB0qSv6BzdiMs2Cy2eKvSA98iROnj/vkWD0T3S6gAoC907KjVnvTgdydLFnZvWy9Ta2f5R926YuwtzMjgrWAuFh8mkMWQkZSoeV6JsUtoVz1XDy7RCSfoN+M+HtaIzoq4LAOIW+nX4w2I68ygAAEJlt0R+j8WQRePCEB63cV2L9xN/d7lRirJlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MMuXGwzfr8FrXvMOM1JZ8fiBmFIW5agQMabZbUAl1DY=; b=MqnSuqfsx8iSZCv8zATq0YDjB+jnLJ4D4ctVKotTCQmIJQydrQNt1cmw6WItpQpmhpN7JKBzMB71u0iwdUHMOqwIQq23lz48IP8rgoV8a384iWm07Ju1FMkjUGTBIWHprsiCjm7nFKD+41QN/bJ+X46FJfpqd++3NNv8FVpmDmg= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:47 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:46 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 22/35] mm/mmap: Change do_vmi_align_munmap() for maple tree iterator changes Date: Fri, 12 May 2023 14:20:23 -0400 Message-Id: <20230512182036.359030-23-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0074.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d0::7) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: f425f977-84f7-4569-b0c1-08db5315bef7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uiDGoZhcdaf5GMhQE5WxtZOpNnb5MzKd9p1KhtWpNrQY/NUtxpe8hzGWVHmiWRsNAnnUWidDr9Kd5XNChYJasDNwHAeQgqaUPZ7t1rxnfW87F+MzEf3fOvLuVN2Ve4qN9JR9RM1TwPLBhRrd1CV7NpCh5xroAUFWatkzoacnXQJ8jKEKw8w6oVKkuYDr/OG4IdqUUIy+MuK6NGQsgcxDQ23K5xXjfBpHozYHjukOnySECOdpymxmw44cEFxJr0xVCB7jhTXJ7kja+rUdGeQvN4jvW1f+dVI+CRzXhCZ6IMEo7DlvYmkj4RPSL+b6HTedHNQb3dW/8msxRTNhc+WnvoLkPH1p5W8lYjv1AzULyc5NmPr5m3u18KCx4yPuIF7XIgurMhfE4XgqTSOdgj/Wh4eC1wRseEmBCc+iapsg6F4os4mFc1eKUTOxR72AEA30Ept3ZLBHvjyEEHfFBlyAockvdJ1FLV1ofxofaXw7F4da+eZb/z+xF6btImS6tIltN6WeaNHlX8D1IhkqnFKuuI1bwgxhiij94zTJcBRXVAHWaTbOdv6PomNFfnGoep7j X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(4744005)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZuxeGDFt4oDsdlK8xKhDHpOD5mk1ZdE0tYsC6Z6oHag0bNqDqfebnT/LwDWvNLwh1gOIloagxB+7+WrnFnUfrTSdiKDgo4hnVIPRwG9EDbYDMWHAKGxo3QWZRa1HGRX3z5tGiKNtwbNIpn1+KWdmqC5pjEZHJaNf/efVLj/JE6cFQkIJKradAoGoprwS47Ny/pRAr8NEaQ6nAif9TGYs5/Xdi9IKGdxZVkH3FpUx4zfCSvpF5Q8s6vTcxI0gfpqtVQTeis022AC8BDwQVNUm6b/vAjz9oD8aS7dAe3dFtoauFt7F5uNH0U9KpzGTvxoYLuuc3PhStOHB6jv11s53/lXGUrX5WydMrLlD7l6hFGzMjBeG2H9+l0/mWEbxPqEQpKtAzQzlTvP31JhuzEyg5002TGTqxBNKTKHxr6+lA1Ym/wcqiJLUqRQC0h+bDDcmNo+T1aa06a69shq5x7GDxzy/rebkGeO7/us20be6FpJXj4Xa9nxYVXXNAbj+MQ7Zxf/keVvwaFEtGxuANQ9h+ptiH8W+I7GWHvbt48FIZTqT4sGOFCTbJHy4YBv5Z1gia94jELJAPHHQ5XvC6OHdas0FNTNYcmQai0+vqYxiwwykfmAhKSCHU0KD7yvbQTnbni9/42E+WIeqlfqWVkGUFegtMhRuujsG8R69uwJZ0R3VwxE2macFSeJQoGgE1nIpmui716T7CgbHtEFJ98W5fU8D7ndtPbHPDQSWurSU7V5Y89+XGaT392jVYBca9uuhDFCMugsLoq/R2H9mfo+3Eka7EWu4WJvN+tqIfYI9DEapsyXK4h+vNG573DwKSn76R4gPzDGo1muiI807ORDwjHnIdIoNTlGfEm2pFUuy0YHxe1zmGFXoslFr9mNrSsBDQ2zJD8kPOC7dyACOv2L8pAKUnvzHc/Zw9r6UuDXId191yYH6J/Iyf8ya//bxHFogdFT/wdVi2mTktzbBQdiqVH7QDgAc14mfz8dvs9iyAxzp00fpXEb/tuMuUVEF5SxSfsTBmrXy7sGVooUiOhE8egSpwrL/qTm8enc1/MoY1BM256Hb3pIAGstuye/Gx8vpPC+2J45A280ChLFU6MXleO6FLE7jiIpEnvmXwRCcnuLFevP372LkO6z9B72MKncd8JSsmCRFFhaaSS54pEzw1xawrgjHrHtORGYAnfo2TS8UNW6cdyiIaVnbTHQej3aGseumxAvaivgskjt5INemLFIqWVLHAFFgTh1OOvDnVUNhECRI87JpGz9++0HplivxCP7i0gixaJN8tH/9hk3jctdeRsnd1ZMEEuHqlPVsY6u54rVCtM2lQHdX5MMJ3SHVHZDsbrF+BZF2pqMK9nTNBRVhizhbJmKba6mSKYffKTHopjpUP+8TWCy6a88nrLlxw2QplHh7j794MjuQA18a0Wos2JxXP1NC4YdrVhUXFHoqn1+383/Iy5KM6g0BhmLa9QOkFWXWArLhBjtGJV0xYW9hB7ltrxagYDRGb3oJA2ViO9zKSV8RHMNjkpwkdJei82GICjApaTn9syvZdNtbMnlmbGPIMIIqNiG1tcXXsrV1D7CbAj4XZfhdUUWfN+lWGqoFoaNPg1kNNGGlcL/15A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: X6c64Wf7iJ9ISWmyG1rqRE/3mbTNWt/FJZaygU6vsiP9oBN0HXwLKWntWMebjUMibxsAcWqG+0qhqo89kv6dx/+gFNxIdR9UvWUF4zW1IvvcOwUiAGMlNOyA2B5WYdZm5wsKybvvsA4R0yupmsuQ5hA2vQyGUWYY8T9fUQLLjEEwxmoXattiDeMsRaB2J6H/1i4FjuUkvmF58CFgsr9zYHzfewzXkdrkY7GdNb7CdktTKHBzbB+nA8Qc+WffqociVMVNnANGZgCFcwk/QWkFYQ9YskC2rWBkpu561ImUw35b1zGBlLAlgwK8W5Vi5YS5inpKj4CjXGPPQSj3XgtlxiJP7cncgansrEmCeIGlF4W4hu3++wvbYugTeME4XZch6WQTHI1eDYl6JUMOQl7NV8zhiaEZi5ejDtKB1wdU7DPaiyRqXq8uUKiWNgZ5TxaHFtrglRRzseYtHf97mcMMDT1N7xQNBAsE/GXwDQO5YOZBY+ixC+evCLFJ/z9cNyf9QXZO5Q7YXcrfo1tBbiF+3eC0Brp6ybFshe690kQL6uSW61/0WuVClOyxxbSVzvSs14VHlR+RzDI82L/RFL8lQKMuzNYVspmQOtBEHjsXAbZvhmBI4jDFhB1/ExiybKTjtBFpikAwfVEKZeAsjp60hculEP4mKM0MtFGBg+L315dwCzGXOXeIlUZ+X5SsPvbmUnbj0KfsLH9jnNjyuhhmpN1qXA8oCD5LUbNbY7P0mESHM7jOW5/lIrdFfBx0nDobm7Xj3Ohxf1fCYAE4o//vqXrscf3R90JLGpx0DPChEarda4zBGCiVz8M6nIxp1VpsdMitPLtbndtOwczb4rGGbkDd0yA55ddvoPmQQyeOopofMUNW2/gXtMsRJ1xN9J5Y/ECfc2eWJcZNW0HKr/6rvQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f425f977-84f7-4569-b0c1-08db5315bef7 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:46.8884 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9eWTT8ICBa4rE35mi/tKv8sDzD/iAhuoeqK2jBDtUl/6rw2sDnERpZdWNS5U5LPd84DDJPsH6czaNuLvznDFPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: Iw5rGL0JSCS5bbxnCrzjA4dMGBGe4pLC X-Proofpoint-GUID: Iw5rGL0JSCS5bbxnCrzjA4dMGBGe4pLC X-Rspamd-Queue-Id: B78AC40011 X-Stat-Signature: fmpnmc5zqz1u87z74c9mxtge38xi3ifx X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1683915711-653394 X-HE-Meta: U2FsdGVkX1+oKs3am2FhzRCHupy5dCksFMvfWRMcyyfQMA6TsOjya/1Uk24DXBs5U2yTJgxwy7qXYCFIriMyORfDKiiF8J7Eo+DWj0udhY9LpTlLCuf4fDojonMTMPN2WN5wB3ysn1amu8SbLZwo7pRUmYMtcLQ3dU2lzoKU1CbJ8sPpaVfjHhL09+HipX98OAr/lNK8Xrc+9ZA6A9PdKop7sznOCNlt11QKRddwoDftlOCt3OXVjwAAnd6gJWQgOVr1tyzIwzIlSlW57m5aRhgnOEEbvwKo4yyn63DQc00fY+GTJ13EDTI4h5kNY+jadO9gwKzQAnmM7zaTXGZs4KPPQQjFtPRaO7sF+bpZypZZdtZ42Nj5LpN2fIxeD4b5xp/mvOSJeEZQEpwhtd/JKFizqPWlH46avotUCqK6bb34ZpTzawCBAR9DR4fjwAizjwa2gu3mR2YmsfpKjunyccycHm7OWzEYAnY3MdeeCjH2rPJ/VsOPMQvjpdzmBfyRoOm+ERKJMs3WGFGH5EFwL9Pn93MhzzWAJE1DLRdQvP3uot4tCzJNm0Sdjg5rVeAncYQ7o9/GSd4yQdsEEYq/JJxF3Zllagdu3onF4llmrS0j0VvyOOn1FD1uDvMvfTr4S391O0Ozn2fEFnxiglAXGeLgMZBjDNtzNnpy2/vf2J0ffRKiYegWkZsZjQUaU4Z15E+OU1TV/QGqz09Aje3OUa87teBl2MrPz2zgvgWdwCbPh18tn3hNSxL04wHmLKAog5HLBtu8pyygjqqJzrJFYA4W6b4HuxZAUciafUKlT7NCeLfi8jy3q7x+iz1B1uV8KpswE3Dtfv+Xf1c4RWUoxvOmHqX0uOD9OzEQw4FOXn5JMoSZNJ1/yRLLBEHO+1/UB8J3Z3ynmaestwauUenJKW3EhWVa9eGdsFvXRK4xI13M2Q+sD2b8rd/67Ffja9A+TGt5W7c75iEAAo08ltV 07KudGuB 070q3MEZzJNh8NkZN5mALa6UBMB+Ui8v75DpZmGRZRl00JIsycpUohMInK7zbONm3uhPwFy/vbbPrfK/H3GC7KwKAcCgYPoOEFrKrBCnBeAhEd+U+E/u33ckLY4d2wj9Pq/Xy3cPv07ZbnRIIwUHOf5dPyKMFWBfjF2VFg/mZW9dHMuRTAkNY4/voULjeF/C+z6UCi8horKAhgGYEN7Y4riYhpFUf8o/1N4HvMt69FHv+SBU5VwE72le1iNb0CDO6tSHY4OfzRJ/0gj9F3sY3d3molTp5Wm/BME4KN850ktPMn6LK52E2LHvJW0ckV4BAF7q7TrogKg/wdm0SYtdQKRAUKL3l08Khw4hpmyANhL11mp2IpqizRLgoXKntzpiw92BM8GYBj0M/1SWFPHr6+4cm6AEKyfvdp6AzqZJJ6Vx+m58= 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: The maple tree iterator clean up is incompatible with the way do_vmi_align_munmap() expects it to behave. Update the expected behaviour to map now since the change will work currently. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index bcebfd9266324..1602c854133a4 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2418,7 +2418,12 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, #endif } - next = vma_next(vmi); + if (vma_iter_end(vmi) > end) + next = vma_iter_load(vmi); + + if (!next) + next = vma_next(vmi); + if (unlikely(uf)) { /* * If userfaultfd_unmap_prep returns an error the vmas From patchwork Fri May 12 18:20:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239628 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 6284CC7EE23 for ; Fri, 12 May 2023 18:21:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE7DE900008; Fri, 12 May 2023 14:21:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D4748900003; Fri, 12 May 2023 14:21:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AAF6F900008; Fri, 12 May 2023 14:21:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 865E1900003 for ; Fri, 12 May 2023 14:21:57 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5447041012 for ; Fri, 12 May 2023 18:21:57 +0000 (UTC) X-FDA: 80782421874.03.B678467 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf27.hostedemail.com (Postfix) with ESMTP id C5EE040002 for ; Fri, 12 May 2023 18:21:53 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=HYnCAy6x; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CwyS2FgB; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915714; 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:dkim-signature; bh=3YIlBAFzfGCQ5M2VHn0qgaBT5Vs2S2TInPApujgd1e4=; b=lKaLCdmrK6vOG3kj05xuIu6L1aOOpTjvvHywW3Gs1icxDM02wnqJNCSQ4RbmEScbeCniOs mdUOE89RznpF8Yyp26gxMWr/al2P3KFrvf7bLltIOLKsvpZmRHf4j6Sn5EprAuO9BRggQa CAsIDDGJ+3nA1UpIJRPTxc2LYhbK2TU= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=HYnCAy6x; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CwyS2FgB; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915714; a=rsa-sha256; cv=pass; b=xtV2RZlxnWfsdRXe+D4Vgixt96sWZkbYyQ1fES9yhsUWKDGggrR7BGB/FvanSaXGyViWic hbCE55rjoBH9LIFzN3cdH3yghb0mzQm6KDDZw1afEnP62l3XvPVfgXi2i0Iwlzvl5PoQMK PrwazKl2M/GoJgRkDAhTyspHK04WFP0= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4knv023066; Fri, 12 May 2023 18:21:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=3YIlBAFzfGCQ5M2VHn0qgaBT5Vs2S2TInPApujgd1e4=; b=HYnCAy6xw6XMvlFAc13PDRlmvCVyN5wvF+lASVn25NdL9BbZaDOwqv/MRzb/d2dpTNia Dd6Xie7LJ85uyFLOBNJoDYWmH7EpqXSk19r8DBQFY2iATJWXSsiAv2mrEAghwFUYykRG TWECXrTIMWVx50JTnYk8D2JKoScfGLKuiaKoTE3wEW6h59ci6DgExLMymbDgPWLr8pfx VQblRA1xlpRr7mT+TDg8CpCyEWCszx0uiAeseZmtXQxUykLnDLBUkiqjthGwrKfafx+g Dr6pj7+NdNY+zfIM5M0tsbf8VZzlFsrRn1OTMX67dmFURTPcSnpl/67A70vAzvQ4lUsC yQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77gbq39-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:52 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHnCYu011668; Fri, 12 May 2023 18:21:51 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf815700r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QjNBU4o2XLu6a8L4EBRJ9y6RZCtUz7Wiw59OAh4ldQacYWEH9sC0MXwvWdPAdo+QntXwF9cUfi44L0xtv8P9DyrP1g27zpXtJ1TfXM3TiXfqpGNmOQiCLSSx9XWj+Qb0vh9clm3E5g43VnyLIExwC0Ex9zKv9tP1/JbJQ0ir6DNgOQdFXGHNl23MYpyZUxOHuJKAOS4YVwtBKnQZJqS5QHH6ZajN8RWR/fj9EdHwBs2A1IeXBUqvh/ycq0hFlRsr+Lm2Sv3N7we/zc+SbdwXroAKDELl5AGQrqhffTj22F5x3DdzY3AkFytvF5uOY5CCKVwFg2vpJ4jXCKd/XfVvCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3YIlBAFzfGCQ5M2VHn0qgaBT5Vs2S2TInPApujgd1e4=; b=DxBJDQpbbCaz/zFLoOF6tkJCvCdT+OWNGpIS4ZG6axmNN3ImrgpBcu0/yK3ZXFPmuN8T0Tm8osRU2Y4/mYE5Td3+jqhdE6QWVkUsycSMbysiiMfsSG6/SyamYgS0oXMI8tAN5AK0CU280B2xlW279PkD7IFFpMsLH7wZ4CPkrUOrK4umwgCqvUN7aUIRh95k1sSuAzEdq9YrefE9nQp/ITDJC94erve25qmRZizprmGWyJVC0H2v7kDXaveL0zIuao7zLItp8+nhX+6m5IFa8nWQdpu7CTltSoLe+dYvJXBufMZO6j0wevq8IzBBOpEWhrHnwLLWerusZAl9P+jM7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3YIlBAFzfGCQ5M2VHn0qgaBT5Vs2S2TInPApujgd1e4=; b=CwyS2FgBTYsmDoWA/yy/ZcPd2KGYSc9VeGDTOfAvxb/FH32ZSBfbG1o9JqUYJExIptkDIaWt/+Y6Co//9MbBRAxuTEmYbYWEVtA9R4ysUDqGwvNsoA7MQ9xqh1y6eLK6zzq34sLtdsYkUBnE8WEQHPuM7jUXOOS3HObMTmrrt8U= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:49 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:49 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 23/35] maple_tree: Try harder to keep active node after mas_next() Date: Fri, 12 May 2023 14:20:24 -0400 Message-Id: <20230512182036.359030-24-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1PR01CA0113.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:2c::22) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ef86968-e9ac-406a-207f-08db5315c094 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nrj7KS5gg6U22Q7F0TNNa/5Rz6sJ9xTmQZbaH4Ha3+H49CQnJMm4mY0acTywaYeO6qi3qrEK+VGMa6tziSo1syNRCf1r7GRQfLs5XASPVn0sNWtDzE/n5jOrC0MTHb2qyhBMMDU/uvPl2iXZfw+9IYaYnbpdMuOT3bUnFdIjp1vGfhvoDSAhxwSN5MfldAThMhvDbdPI4rL28gqzn3gNo7Fs4Z9eIcHNE+9jwlvquB0JwYx7+ehq2zw62aFgAzJ27oIsaGkGj7kjq9QxXzLt2M5iOStgj6p2HWBghTZLmVB9ApSX7N/xcFiZ+cArZSYhDPJIY4FdrjXpgN61jE8TVxVM2ynOvN60Lx1n69kcfqp40ab6mEH8aF2zcHJwAePyCRF6P1E3suV4rNvt1aSTgyqNGaImx15WIiGtwbntDgPi77adfrwy5V7Y0HqcfboZ59745SmHtATQlbTBLn0Xx55TQFNygrD9Kp51L9Ou6FYsD+vSwHMnbJejYiMhO0omu3YfWUo2Uxa0//SSeP92+1soHhzP2hVpCVnyYS8rnDaHFuc/QDB6lGtz6zRHzBS7ZUxQWibiI7jm6rLM2q0nFbZ6tbVfmX6C9E0qvUgY/ouOezTIgH8hkMdvrc+kyTorKKdG2FTp/XK/dZ8Cy1NwTQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001)(34023003)(148693002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zceNuZX/tdKXIpwWQXn6Wup9zrYAsUVGPaVCYaEONN/EgFGAMZ1Do0K03sqpnC4eWecG5AFAUqJAbi92XHX72d5nORzhRUcY7agCzAKOq/Ye7vdsSt+R6qJKodukV9BjLlo5t1EeZ9OuidlFiL8d4jPAwOcbaaS4ChnCH6KxcwqeMiKUJGlrUoclgP/bpLyUIMYuKBrlGa2MRELMApNhmrfVZZMLOdXmXdAiDNYxKnm2N/pFanrpwS8tKWZX/bx//rAm7nzVnY/0S+kgfI7gXPJW1dbQfV7PixDfpM4+9uYdOHEaMWsM0Uy6K6EYxWLvVOefvSlD3frDETC6scnp7z6GYN8etCAZDx0FeZHJqJDFr/7NU7XIolDEwIRnlY6tAzVTcLUjRltrZURpvj78qPd9wZ5g77KpDT4AYbYB/1bs70K5kFQf7lil6VPa4xWsHy28MYGU925HJqG2ookyaZPEs10t5zZKzn86uX9/Xt6QlV+Fqzg212K+0AHUnEexkfxEyMH90ag7xuTcjkcVrFy2Mx2CoWig/FzxovX6Pv2roI5gSNblwEIhN/Qy3PMPNNNQ8P8Jx9rlrO8TJkZbt/Qzio9mfNPhHv82rXCAptQgJTjgUTXKdUk7aO2NZcyTD9UiZd7Uuw8eAQItyI9Smck6jjNP+46nsYW3o7rPH6XfsJ3JKplJMzlwUwhfIR+b8C6SRJZfeRaF7R3cydr0zDtBLmaO3UuLqSSUyLkhNr023OqV/bgxbTCg2zR6AgGHsuZbjvvrR/182mS4KRk9dFNujLkZibuw48Ok9cZyXG58ehRKjqL5C23AnaqB8k3lCJ+StFim9VWrMv4x3hM3s98C2lb3jcGsyUWXM8DHBNqigvmy3Y1glgt5P+VUnOrhnkx0nYtqdRA3HMTpCduwCta3M61vt5OelemhqNZtEOEevzvRJuVNMQ9JBYpPgzLZ9EjECfueT99O9ePN0eCM0HLN5HGj7hWBiSEsGfpvh1/3X2ynKfPfDg5grQIpvk7YqhDu56ppi2iCy47PD2CvNigdsJSoThVQ1hYyQHVV/XJkNouGLzemIh5FEptzFFsIg30uPYQu6kWbenRG9CMfTJr5lmyIgLAfAwc2nFz7d4M2YIfDv48c3th4L2DV/m00GcjZO7nVGg4gUZt3PY6SBxKUCmRakGzMhvtx89t7Y08A/lstryTCqiq3CGB3DUS/rB5t9D2LixyZJifj9ZaSGGzYnjJx+9NXjerkLOkpJFrVv3Sw7vPKRUHCADXoXotFP03tfsValXG7QUxRzY39EflwK9sv58fdYg2i79G1+q3GGFgZm6q1pm1LC11GrFME5oQahQJcp+sOweEOWCduS7Zy4r68taNZh+2B1p2o6U7LfWXO4eOFkDrOeErT7RPEixOMhMRRvaoZ532ANDy3dhhOoNOwkz9X3R6kXBCqfZ0/UNJ7xEZG/i/8N9dJ/mwOZalTa9I5565l9KDrPIjRiyqf5ZfwzCzbuoB68tUUQlAAbtMsZBmUghqZWUBkn/WCxKuD+vL0PFWOu3fzrXBRAPrzYlW6J/DPmznup+fQSRySTRRuwvDTzJEU/Ai8r30gOzdP+OXXfKwSEXw9ownDMA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: e4fFV0upExBfoB1ckU73+6rNphfFiTGg56YtzekMmzbjrsDUDTNh6LQ+Xsy6kbkBfn70x4p5PoviflQ8oLZQiX6NjJcK3Em4Ob5fU3eLCs2h2rsTxlRfycoLCgw/300wDS8omG1KdWfCgEenRHh6acMgBpQn3dROkQE4hIhftkWvywIwggClv0NMaaK8Qpv8ZW2USd6WYgwDQQifZmOGb6LhKjM63WZ9Shtz6ktr3LTo8M3pVzJD1B6/xzwHjWynEdrz20Ng7qKIb48FOakBX0e4/F5TEyn1YklpMu/hrchMqeCbnic4kmD6S21o5e4lsVOB8qVGzeGo8aBWPD/MDofWPziWS6tD7tIPOmH/wOCTKUtTjELou2V87xQBqahrkhHuG9UEbgHMveNLbnveYpH6dHj7Yx5/xnnopAnzsf2pCRpr9WLJrMrO9W2CN5mSAauxDJggw0Dov1p8ERcM62LytoyddmuXJwRYwuKbzmxFHYbpxXtCExUpqsIfT6baRL3ubJkt4ABo5guoFEDpUZK9nYFBjrD68Tn0lXCf3g6y05/ZKkmG2Rhknhmvzc/w1mqcVKHgUc0KCDDaLEtKH0YDbrBgMiCl6t5+bu3yJniGjSI1jleKTw78xpjjzyb9AuEiugxw2SjSSxZ/0XLuWbl1qDEfd7HGEl+gK+rCgA4/snx2sli8e0gcyn9z3qJnakYyV+H8glwcS+6nYkhw8b+XlmBXlXt3Xt75KI8Un1mNuqL4PIKJkIS5WtxLfSW+R6CqpHeppRyIZBLnjsJTFIT4+l+myBs2JGxZ/ca97osu7sDVWPNs8tp1eBF1twA/6qZJhvRibaUWZxhyi7EqHgMrSLkaH0xurPtHHMgGo4I+bJd+hk5PSFRoxR0qybG4Flf89RzhBG9r5UH/lF7XrA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ef86968-e9ac-406a-207f-08db5315c094 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:49.4493 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /ejo6fmRijm0fzGVuBWiA8MifLBuiG6nmXr7GXaTSRvQyRS4CdphmFzI9lNGT6gy02IGor8zQw5HWq6Mm7xOig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: y86mGncaSUL0_gSnKgVtwzje2rfbvAwU X-Proofpoint-ORIG-GUID: y86mGncaSUL0_gSnKgVtwzje2rfbvAwU X-Stat-Signature: i7niufemq589d6pizt3zqnttbyjdfx5q X-Rspam-User: X-Rspamd-Queue-Id: C5EE040002 X-Rspamd-Server: rspam07 X-HE-Tag: 1683915713-49751 X-HE-Meta: U2FsdGVkX18jlP8FCAZlWzonF9JK9s3ROfJIAGOilQAtu519AKKlCHFKKUEokOWYHWoThYLwQqS+eozJQX7pE5SwwAXBIlLy/tN6etvAG9PBcKiUT6OLViD+A/d50Pgt4QKse053bCIDtilyzJNuXqo9SCJMEow2/vjGCOYxcGLd1hr6VOpcxV0wk4NSdJNfjeHtw5ZOQ8hos+cXplJfAU+bl8y5MrzanBrIF9XTA4VpAux/4F8BiPr5FyFFYK19QULXK5UgeZ3Nv7P9IbuHSXs0jZiYUp/kRb/8Dwa4IBlFFURS/oNi3gGiDQ68c1RzZMddZ0dg+98nN4u5A7eBl8/GjuQgzYdB1yCCzLxPh/FItsE7rUIJ2ECrWNMVvgrBh0887SvZjQSVUmoZo8ZViOZ2KbgMsaIJLK78Sbt5jaJ/gHBRQVPueOdnzLhmgw5kbpqvUlnYjR1UTG8BZlaBDZuSojYaerBEjEEwd0HqrYvqsfzb+7xcGrHAmBBECMHB7+QoI1E52YCgEwk6MzCSxRDZappA3D5/LPu9i3wOVGJQ5k72ICmPVOimmBYGa5vC27P4Aau4h9HXeJQoWoY4r9zoFxHrQtP+S2/hOAQ7vPQKL5jYLuoutrVRdVRdk/MfCKu1Ao/xa3sgCSTo28RTE7jEmigMKCMmwz1T2ClAJy7iNvwoOA9jKq3111EUZaTEQsN0iLlE0zEg+WXsRwqO4oUt7CHEOnseI52sZbfOzOTv46NsmA0koRwk7k6iRnJZElQzF69eyAvBR3UDXwtRY/MHpxh6Dx7D7kUyaw5kRwUFrF8+3KLNp24zkXsGtE2DDdLPH8+llLda/7Rsvpxe4YfxZe37SdtAiku0JF+44ZYukyiMcAZtwDnCoxzyO1RGhmtKyQFBQfKIr02ntXz1RM2gLjb03pjjnTTaDabdURm2eWSsqYOlEwBJ7ry3B68K4o5KDWHdqY+FZGaRG6O HFvZoJPD ldk72nXHHZ6WORI1uqQ/rLO4BQy7dl+t6IIWA9F52ay+GmL4xR2Au4PRU7vYhdgpRlgPPF2REqKnA71JNH+ffhDAWvtZKiN3y8TfjsQF1ypouKSNtnyWEMOQvNc18KZCQOZOU5au9f1rYlG6PBHWc0C68jZ7WuGE9ZXBVSKPRhOgiMYoBBePxeNCAfrQ6GPxULhf5ACtQz0TH6tNXnAxXClM/fRJR05DQfkXnAyNKaSOa/BomoQvJQCapIxlpIcHL9GVZn3pqqovWlzG9RgdlAk8Pf3XyGleCMpI7jlSCtLp4jSxendNMkqJ6AehtsVvHI+63zik+bRnTFtAv6n8dvE0xOA4eFK5b98w5sAZFKgeemosrx/eBVgVw7SybBNQ8YSzPOCeDKVxiGm+i+iWX3cJ3UZ69sMTeR1vsn5q58t7ocSs= 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: Clean up the mas_next() call to try and keep a node reference when possible. This will avoid re-walking the tree in most cases. Also clean up the single entry tree handling to ensure index/last are consistent with what one would expect. (returning NULL with limit of 1-oo). Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 89 +++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 42 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index e233f41ed4da2..09142af082148 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4726,33 +4726,25 @@ static inline void *mas_next_nentry(struct ma_state *mas, if (ma_dead_node(node)) return NULL; + mas->last = pivot; if (entry) - goto found; + return entry; if (pivot >= max) return NULL; + if (pivot >= mas->max) + return NULL; + mas->index = pivot + 1; mas->offset++; } - if (mas->index > mas->max) { - mas->index = mas->last; - return NULL; - } - - pivot = mas_safe_pivot(mas, pivots, mas->offset, type); + pivot = mas_logical_pivot(mas, pivots, mas->offset, type); entry = mas_slot(mas, slots, mas->offset); if (ma_dead_node(node)) return NULL; - if (!pivot) - return NULL; - - if (!entry) - return NULL; - -found: mas->last = pivot; return entry; } @@ -4781,21 +4773,15 @@ static inline void mas_rewalk(struct ma_state *mas, unsigned long index) static inline void *mas_next_entry(struct ma_state *mas, unsigned long limit) { void *entry = NULL; - struct maple_enode *prev_node; struct maple_node *node; - unsigned char offset; unsigned long last; enum maple_type mt; - if (mas->index > limit) { - mas->index = mas->last = limit; - mas_pause(mas); + if (mas->last >= limit) return NULL; - } + last = mas->last; retry: - offset = mas->offset; - prev_node = mas->node; node = mas_mn(mas); mt = mte_node_type(mas->node); mas->offset++; @@ -4814,12 +4800,10 @@ static inline void *mas_next_entry(struct ma_state *mas, unsigned long limit) if (likely(entry)) return entry; - if (unlikely((mas->index > limit))) - break; + if (unlikely((mas->last >= limit))) + return NULL; next_node: - prev_node = mas->node; - offset = mas->offset; if (unlikely(mas_next_node(mas, node, limit))) { mas_rewalk(mas, last); goto retry; @@ -4829,9 +4813,6 @@ static inline void *mas_next_entry(struct ma_state *mas, unsigned long limit) mt = mte_node_type(mas->node); } - mas->index = mas->last = limit; - mas->offset = offset; - mas->node = prev_node; return NULL; } @@ -5919,6 +5900,8 @@ EXPORT_SYMBOL_GPL(mas_expected_entries); */ void *mas_next(struct ma_state *mas, unsigned long max) { + bool was_none = mas_is_none(mas); + if (mas_is_none(mas) || mas_is_paused(mas)) mas->node = MAS_START; @@ -5926,16 +5909,16 @@ void *mas_next(struct ma_state *mas, unsigned long max) mas_walk(mas); /* Retries on dead nodes handled by mas_walk */ if (mas_is_ptr(mas)) { - if (!mas->index) { - mas->index = 1; - mas->last = ULONG_MAX; + if (was_none && mas->index == 0) { + mas->index = mas->last = 0; + return mas_root(mas); } + mas->index = 1; + mas->last = ULONG_MAX; + mas->node = MAS_NONE; return NULL; } - if (mas->last == ULONG_MAX) - return NULL; - /* Retries on dead nodes handled by mas_next_entry */ return mas_next_entry(mas, max); } @@ -6059,17 +6042,25 @@ EXPORT_SYMBOL_GPL(mas_pause); */ void *mas_find(struct ma_state *mas, unsigned long max) { + if (unlikely(mas_is_none(mas))) { + if (unlikely(mas->last >= max)) + return NULL; + + mas->index = mas->last; + mas->node = MAS_START; + } + if (unlikely(mas_is_paused(mas))) { - if (unlikely(mas->last == ULONG_MAX)) { - mas->node = MAS_NONE; + if (unlikely(mas->last >= max)) return NULL; - } + mas->node = MAS_START; mas->index = ++mas->last; } - if (unlikely(mas_is_none(mas))) - mas->node = MAS_START; + + if (unlikely(mas_is_ptr(mas))) + goto ptr_out_of_range; if (unlikely(mas_is_start(mas))) { /* First run or continue */ @@ -6081,13 +6072,27 @@ void *mas_find(struct ma_state *mas, unsigned long max) entry = mas_walk(mas); if (entry) return entry; + } - if (unlikely(!mas_searchable(mas))) + if (unlikely(!mas_searchable(mas))) { + if (unlikely(mas_is_ptr(mas))) + goto ptr_out_of_range; + + return NULL; + } + + if (mas->index == max) return NULL; /* Retries on dead nodes handled by mas_next_entry */ return mas_next_entry(mas, max); + +ptr_out_of_range: + mas->node = MAS_NONE; + mas->index = 1; + mas->last = ULONG_MAX; + return NULL; } EXPORT_SYMBOL_GPL(mas_find); @@ -6518,7 +6523,7 @@ void *mt_find(struct maple_tree *mt, unsigned long *index, unsigned long max) if (entry) goto unlock; - while (mas_searchable(&mas) && (mas.index < max)) { + while (mas_searchable(&mas) && (mas.last < max)) { entry = mas_next_entry(&mas, max); if (likely(entry && !xa_is_zero(entry))) break; From patchwork Fri May 12 18:20:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239629 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 827BEC77B7F for ; Fri, 12 May 2023 18:22:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0789A900009; Fri, 12 May 2023 14:22:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0020D900003; Fri, 12 May 2023 14:21:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D2074900009; Fri, 12 May 2023 14:21:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id B27CB900003 for ; Fri, 12 May 2023 14:21:59 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 0E17EC0FE2 for ; Fri, 12 May 2023 18:21:59 +0000 (UTC) X-FDA: 80782421958.10.781FEDE Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf09.hostedemail.com (Postfix) with ESMTP id AB918140004 for ; Fri, 12 May 2023 18:21:55 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=pktOGZFp; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="FD/ZM4hO"; spf=pass (imf09.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915715; 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:dkim-signature; bh=NfmDzbq7UFamW91OO64jYrReNxQsH1mzQQLxfjxVg/Q=; b=35ln3efG4wtxNrpH1yDhtQxUgDkiNd3t2WN4+8IWlxIGwoa9fjoBfPUrvrTAw1BwNqWQQ+ odaGJ3fohTSGlhYzxdTC0tAy/7vcNd7lW7AJRfJB355W9JcR0RxYnaA0Kr10XSzpZ+zIvN Zy4lX2a1Exf4ed3dE66Bw1gMx8trepQ= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915715; a=rsa-sha256; cv=pass; b=YXCRBSvPvsQFz19toYLjo3jZM/UOIeE6BJbNJs/Lj8UH648a5UDWvYT4HAqCJeHFvEqiHB S0M2Mz24uRKs8mWKUxQ4ffADW1v7uPwoPUqRcgyz9VJEC0C08nH78Lc8Yx1yJTZVxh9JCH NpIHsBvqtI9rb9xdYdfELdSSdYfXZ9I= ARC-Authentication-Results: i=2; imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=pktOGZFp; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="FD/ZM4hO"; spf=pass (imf09.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF49bC017783; Fri, 12 May 2023 18:21:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=NfmDzbq7UFamW91OO64jYrReNxQsH1mzQQLxfjxVg/Q=; b=pktOGZFpvQyvLvUuJnYI+zQqMICwtUFJTHlN5A1Zh36PD8xw/LRDnCP+A75zYkLNduhs UFF/Y2MJUO9WUe1XK/D1GLVxjZElfpQybCNiNTbAMeHmpxAqB0xrAUAzcEs0NLK0mT46 QpUtZoabbTul2GOxNxCW2oGKiJPzqBr3HxeXjFwlxVE+imyUbcTCQfrOmK4/K7Cks3bw pNVe2pGGq/n6Dnvp/l+mDhKjUVRwlG2Dg264lVSQaVwoto7lTCoV8qBKSxi8WsGoCtmK BX9f3EzvfBl4ne9xV6w2/EYVW7Whia/XQqVvOQHSTYjLPqp4/hN4j+3lQQuES2dfSBHU gQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qhje7j3m4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:54 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH2DLG004439; Fri, 12 May 2023 18:21:54 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7pnt5uj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E4VGkofmS8VoxgYa9FXbDN1tbwLJCcdL31xsgWCKPcJCJ8M0dTX4G4q8OfMQEOetjsqzXWNcPZ1XKfxQG7Z/fuNDJWc5EiYij39rETe1Mcrtk2zvb75PVrhaW8QTyZKxJK5YtEEg9caDStxGNvUIn+au63Ppjs4HuqAsSnoo03H1r/aVrtR7h2442uo2mDMVrB7SzuXxSk/4ImIhDjhheZIWy6uJouU2mq/lb4rBQMi7SIcD0fWtvLNKb1rj7k0vU+tPopngob3/KXX4ypG9llyXTLsrredvFBBm6IRyT/F1kkUrA4pMOgO+M//0U421H2MAyodEY1WGi+nuQmsWgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NfmDzbq7UFamW91OO64jYrReNxQsH1mzQQLxfjxVg/Q=; b=bhntlWJDtZ9uE1V/pD5syxoXlAOew8K9MxCiGc2uTauTV6WQorSum3GD9ZSTSpF3JQzPCq09734dkvk0yeVzvibUXL4QRoCqL5xxjkOQgwXxgDREcPQo5PdOqzn8EXR2Yy3x03Mv8PgAwsoDBwJ3qIecMzH/T3yJ4/PIP+bciI5JManNym+YfsZCOTv7QWsK68KXHLYV+bqn4tflc9muhCpDKG9h8wAIO/s4uwXbg51bs8VTC/pBHdwmYGu7BMXZkAkB8itt1o9NVh733gHjAy4liq7EoTFhRBD59lPjUTxE+lqFqO0qrHcVCFkxXKWHIVaBa6EUpkWgEJRjFTp06A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NfmDzbq7UFamW91OO64jYrReNxQsH1mzQQLxfjxVg/Q=; b=FD/ZM4hOOquJu7M294YQvjkUqQFh3airf6YdJXbe9ED0mcDKRUSRHTMTHLhd+i3emuw+F91CjVIdPRaaUs/2dMpKFt0yFOeJvETvjOiBFI3tYJSrCCFgSHJr8rJYYldo40MsNULwyl0Rw8gajqk11nZR51YZQgi0mIe5U5IdT6E= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:52 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:52 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 24/35] maple_tree: Try harder to keep active node with mas_prev() Date: Fri, 12 May 2023 14:20:25 -0400 Message-Id: <20230512182036.359030-25-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0042.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::28) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 31a0ac1a-28c0-4cca-a6cf-08db5315c205 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7No1WzqyBCIm1ZX9aEdjxMaUIMd6pW5gIrq89XYaVHww/O+owLaYbUz24cTpQVcTsn0k01xhag8otSxC2a2S5AcputV6HoiFkEJm7+UZN6P9lLOVQDYSRghqpA2Sh27WCIY6Th0ugRGL9egCy9wdKgWtLhT0Rs1k26HX8/flSL9lzIyvQ64Ige9hKhVyeEk0ahykpYcV8YhDKO28p6b83VNbRd8fIKcQhhuExfGuqwTry2SDV+XgEl1l4RtzBKyYHZzpKmbnskfMPYxwFqfT80UJYF+Yg3HagLRfSG0BDnfrArsDrTbycKo4wrw99vrc4ELKLdG2H4Uau4TIp8AbFWSmRoNkoKwNb4eHCzv1tmfNbhBXkBW++o4dmRWrwcGYH+NcMao2oUuNNfTtDLG1zxt/bDaU2pNu9QzowqMN8ZZoT5QDQEk1dROm7xm9FA5G0QVVa/sY7Gf40O6qcLF03MSN86wZlgxRe3VTgaP40v/QCqvp26dPHzShT4lkez/5602mXM+w8ZDbhHmKK0961KRuK7fQggjenTFSGrLbzxFGatK6S1gwEEqHcR697juyk4iLlD9SdXQu68dZK+deytcu+5x8ByW47/FHDQZ2mawaVdpS9xLPK58CXbGuocleC/9qKAWZsjOfjysXXUgB5A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001)(34023003)(148693002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PMyQVSJLZNean4os2wslwCMIp+lK9zxo8tnRRpiXHd/ra/wytPuzf+QBf9XFfB7llATi8IIS1Zg7y7VTdrmSUwWuHdCeE4lhvRbMjH40WCbP/5bgqup0N6lNqsWqoolIEr5STctYCn7fbYGrGA+VwALlNqLTAKzHVnQ5W3xwBhTR/HksojJtqd6Gd9Jw01oglv46sPcA3aLNBGBNH6EQky9Y5RsZ1veqmMb2MENFbpbWnDJsWR+D6d9XTx8V0E14kBlklSdLlV/uOAn4h4QFRhpVrbvNNevDS4xhecG6bhj+Ev4smTVMIiDJ2iRRz8xE3lFNQdceVue0ovf5SRlhz9IQRmpsJkJ35ctGDn8og6XjMSY4q9XrGXWXOXuhmgwj96mDdwOzOl1HUVENB24o6rVJj678mUs5B0HOSwg9Gp+6Ynquc9bxPcOFsUudWL0Z5GRLIKt+gN7R2dMMXBQKQtGAwtrN15PSIMQy3G9ivxiwMtkd5lGP7FuFzWJcZtVd9spQDqD3q7nx59BGxybURX0CGSZePx6qbzJJr/5zx/AOO90sMODeDWUXvgLHx6Uf11FtL2R3JZifHuEpAb9w3571P2c/QRjI27XbVDmS38QnXPMqQfopoCdjYBPeiJ1m98mzn8rP7dli6TDt0G33eIZFalEcVco66lukho7tuslv4jPUFhIotLyifTsTXSdxQCFy/KU+3A4FRhUnAp8v6gQNTxJp35kYgTJTkwYM6Kyx0CZNYagi9WgBH0wyturCwdVwQIUPjQEuSCVxaCDr70XWF+VEqtKhLhCTo+2oPz/+jVeGS5XwpFH5FGDAFJCrhM6gF5TjF+q19LIoJWAFS2ccxx2XIvh3r4j7Q7JorMsMEquoUV4Mld1093YOHS0naCNUp1rwymFsMy4d9ZOCHXpZoWGfNr+WaXaCd8fkNGi8mDc4iDoUEl3LTKvHeRCTNiOJJARv5OlhN0haNsWdiQ/LML50c+8v++7EIkFGkTrReheHYi7X95ZGwGVbboqnIYo3Hjen66h5Yttw7qL3sNraVKtFXXkgZNF2uQqLV22KGlxSqdvlp/bv87py5dBBikaEjclRYKMpVWwZM4yL/iqMF7g1gVS0kmKWyTtXHw+Ag29BFJvv1tm4aydEGsxrP42yimYI2xJsulehdSoCNImOz0t+lBgdVPbDkg49fgfeh4XOGLvuLoZciu6WxH7Etj0UONYqg1IUdo99r1fNdnq6mQxmNd0uI1CTCNqV1RcKqQIDo9T5XkSSOaKIT+cQL+BL5rXdlMwyHbBXct/YOTlrV6gMuUyg2bxDUAMv0VQvZntdZRH2AwJkm43XazlV5UIWSfKNaASYXx6sWnUWUV37DeHg4Pe7s3pNlqGR78k003JKQU5zK1ce7HETAYoeNu7hUkTsnTPFasdBQ+QdYHzuZmijEpKRcdl+N/Pf3PUu1ab/eu1kIwZH6nwlpkV7B5LNb+MxxAY1GYlJLv4xxgKTeHidb/vAq2pQgbR59ptIRbhUiPQ0PEvU0QGd2fh3bvrIIbauVh3u+2YYpxTvcfkscsqrmQVBaiH7tyJLzxH3v25vCfkJnOhkj5MrNOewt6fDYc1kotFhN3yryvhsVg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: HsAoCkLOHioLqYE+wV0FfIIbiseVLF70jeh+PhP/TCvr2SuEUUbn6bhvk9utrOBLuG4Hv3aoz0pSfS5GaoickQ124hrNDExvyYjIuuaIVEtPSTaiQskeOYHRmI8sdO7sQNe5dcVrL9RWMIdItafoL5OeYUtCdW6DzvcdZIdv3FWxMV2LpMeuzmyQhYucE8uUX2dCWYjadiWksfyR8t8h88EvujSW6dt8GE48z5cYlSRQz4kmKZQmpGjVup6lDLMWGEHhNVC+Oph/Y4c3eCriyBd3bgtnG5chLg1NhhWJD6yBLXmvy834omlJF1cfZEeXHP3frM2s03y+DtKKdgJFWT00KuyqGnx2Pt6X25PrSogWnspytAZY5BnceR0ABIqChzpQE7Z0BJi/y6UVWRfyEOvJTsqAMtUygMZyxvzKabidMmUeGX8Nw6j+ad1uRFzzAzpC3Cb1jalnCYj6DAyk0lEUfAxljHTh2c7SKz6Yn2geT+XXPvzBACLZAtq4oJlH1WeEnclK+1ITQ+R4S/tXSFrmGzC6FwhGskn3/iLmqV+taWk2AhtwV1l1xh3mFPbeBQLYHGZ+zKLv/3QBBbbOJX+etFE30ZqMWZSJXqbC7ofBos5kAzJZaLoAFrb+GivJCJsdk59nOPU+VitdiboWr3Wk9wQcAfa13AynOc6jVNLr4XyW5w9gVUsnpGR8IAQtziHgt4bYzSy0AjOB9vKEfI3XDvWu5o8bcODEoeFL7+HEki4d/beMGBL12G3qpIM0hqcPgyd+wvKLsX3n8+sZ5cHpYDCoYsERpR/JBMdXGpjSHAwE8m/CDXElhWFk3Z1rEZ76eKXRxnZjyChby6s5yndKQFY6LOctYuvMuhsiWEPTmn3GUBYIq5iE6lUc2AxaHHB18M0p80K/ZEJr0Ltqkg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 31a0ac1a-28c0-4cca-a6cf-08db5315c205 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:51.9579 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oqDwQc0Mro7g0jqWdng/uKj7I2pPHt6khq/gVmhA0qM7nBdspAumOmUnt0VULO8yx+wYFEKLxRCv37M9jeBxSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: 61rSBAJWegmqykld0ybm1eYFSSGD8uF9 X-Proofpoint-GUID: 61rSBAJWegmqykld0ybm1eYFSSGD8uF9 X-Rspamd-Queue-Id: AB918140004 X-Stat-Signature: rh4n34iihe5p1jbgpg9az1fcbhbh5uny X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1683915715-581733 X-HE-Meta: U2FsdGVkX19Xd6qoO9Z6a52dChhoOAbVJRDjYdnbOeZwlyk03Wv4zOZwI0ZHNVEJH2HKgrH13636bEneZ6wt0ZoDPevLtgvS+Zr7Cf5FGYbmvFRtm6D8hYza9xgoESd1MKi6G1ITTzAKiCnGgZZb/XU+6m7lrggGyTsFm/aXB72Xn+rYmTMQlKo7/0d+ST6lx6xn3yvzEMAsj7iydEZX2LWKt+tzStSMZRfwBqX6g6HUtgcwsOwxJjEXuWpP6k+6KUvAYc9GgrnAFj2Pg9WdSUv06rVOhRumTCnItoGNepjp6tb+VB6kf+JnGSCJKQl7OWJQXJr8SQgN6D73DSsZh3mkW4MJdlDc7Duzy7rqQ7a5A3Y8VPR9P3OOH+J7cZvHOCXMS7Uw+3c3mXTimdQhnUtC8/AgUSiN/nI3/Uf6H531fqLu2TrxwEpcK+PKOPXKUx+c+eVhRup4PuDfLk00J/DNNwQk2wg6an67PTpN7V4sOJzd4i9BAnbSOFLr0wXWnsKx1azzysOuvQSFhBtO1gcNnN3Bf2TQ4/6LpBbsgXhxky6nqLz+LOiiW7yUNjXei1jvDTb1Y60Bs3BSl7oETXtYYLQ4yc9O+rZ437MI78L8B+nakkl+FfYshpf9sSaVU9teA3es6E6kmpxgM7nGkzUJrnNo5iq/zNk1KAfCow5xDGNWPw4p5fbaVZqbrHMcuL3FO4b9PnCPAAC//sijofz3fKC4TnfiohzbVTZRuGh2kd6F8hiBGfaH6c5e6gA71TtN0AYqZGP7cnQ2IVsoeOaHCjfA/tdM4PDPAYrw+mqnZg2TXaVigWh5ItZaJkMObRidys+GQOUPo4Jx9CwL0ia7CC/hPDLWUjXt2n9ZC2dQDFlS2FhgUHegYhaWYiwW41qKMfGzJFaPeIUSWKVE5oiK8L43u+cDeDqRCd14JCm4shmCkpxA1ab/JyoEI+J4J9ktWEKB9Enshzt2CVS 3RLw874d GhuusFL7TjwSmiEYUIsoEaTyJcKit10BoBTts3IG4xoRkAtqEnEm5ju2x1nM+VMOV7YBrWbFWVcXPE37Nx5y0bwBshwx7wlmhL4UuuUnirmHmwb42JUtyNJhDBqJ/W7HyWQ9EvHWKcs0exS0RrdlDdtuTkF+96HPs703uXSixjqQn4j73Bo9hdnLuXwiviCmzTQeF/kz1kA/V73vrxhrJZiYzaCBMmP5xi72pMNMQsMaxlWv8lutgbWfYYF3LTcOdXtgD5ORuMdvzGW8lk9LeWxk75GsUbOfIzHZOqtJBuFUVqbTl0RFDeanNKcbOwSoLPX5vgwL0xgbm3lBKWWVPiAZW1dSbt9011G4Kf/Yn0ws2vy09PKN5kJUGvHts7yHIceEyq8p0tRRmTeTAwKPCwm4uV4XoXQq/xTsKIrhmAJZMF8Y= 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: Keep a reference to the node when possible with mas_prev(). This will avoid re-walking the tree. In keeping a reference to the node, keep the last/index accurate to the range being referenced. This means the limit may be within the range, but the range may extend outside of the limit. Also fix the single entry tree to respect the range (of 0), or set the node to MAS_NONE in the case of shifting beyond 0. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 125 +++++++++++++++++++++++++++++++---------------- 1 file changed, 83 insertions(+), 42 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 09142af082148..425ad922bb2d6 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4827,7 +4827,7 @@ static inline void *mas_prev_nentry(struct ma_state *mas, unsigned long limit, unsigned long index) { unsigned long pivot, min; - unsigned char offset; + unsigned char offset, count; struct maple_node *mn; enum maple_type mt; unsigned long *pivots; @@ -4841,29 +4841,42 @@ static inline void *mas_prev_nentry(struct ma_state *mas, unsigned long limit, mn = mas_mn(mas); mt = mte_node_type(mas->node); offset = mas->offset - 1; - if (offset >= mt_slots[mt]) - offset = mt_slots[mt] - 1; - slots = ma_slots(mn, mt); pivots = ma_pivots(mn, mt); + count = ma_data_end(mn, mt, pivots, mas->max); if (unlikely(ma_dead_node(mn))) { mas_rewalk(mas, index); goto retry; } - if (offset == mt_pivots[mt]) + offset = mas->offset - 1; + if (offset >= mt_slots[mt]) + offset = mt_slots[mt] - 1; + + if (offset >= count) { pivot = mas->max; - else + offset = count; + } else { pivot = pivots[offset]; + } if (unlikely(ma_dead_node(mn))) { mas_rewalk(mas, index); goto retry; } - while (offset && ((!mas_slot(mas, slots, offset) && pivot >= limit) || - !pivot)) + while (offset && !mas_slot(mas, slots, offset)) { pivot = pivots[--offset]; + if (pivot >= limit) + break; + } + + /* + * If the slot was null but we've shifted outside the limits, then set + * the range to the last NULL. + */ + if (unlikely((pivot < limit) && (offset < mas->offset))) + pivot = pivots[++offset]; min = mas_safe_min(mas, pivots, offset); entry = mas_slot(mas, slots, offset); @@ -4872,32 +4885,33 @@ static inline void *mas_prev_nentry(struct ma_state *mas, unsigned long limit, goto retry; } - if (likely(entry)) { - mas->offset = offset; - mas->last = pivot; - mas->index = min; - } + mas->offset = offset; + mas->last = pivot; + mas->index = min; return entry; } static inline void *mas_prev_entry(struct ma_state *mas, unsigned long min) { void *entry; + struct maple_enode *prev_enode; + unsigned char prev_offset; - if (mas->index < min) { - mas->index = mas->last = min; - mas->node = MAS_NONE; + if (mas->index < min) return NULL; - } + retry: + prev_enode = mas->node; + prev_offset = mas->offset; while (likely(!mas_is_none(mas))) { entry = mas_prev_nentry(mas, min, mas->index); - if (unlikely(mas->last < min)) - goto not_found; if (likely(entry)) return entry; + if (unlikely(mas->index <= min)) + return NULL; + if (unlikely(mas_prev_node(mas, min))) { mas_rewalk(mas, mas->index); goto retry; @@ -4906,9 +4920,8 @@ static inline void *mas_prev_entry(struct ma_state *mas, unsigned long min) mas->offset++; } - mas->offset--; -not_found: - mas->index = mas->last = min; + mas->node = prev_enode; + mas->offset = prev_offset; return NULL; } @@ -5957,15 +5970,8 @@ EXPORT_SYMBOL_GPL(mt_next); */ void *mas_prev(struct ma_state *mas, unsigned long min) { - if (!mas->index) { - /* Nothing comes before 0 */ - mas->last = 0; - mas->node = MAS_NONE; - return NULL; - } - - if (unlikely(mas_is_ptr(mas))) - return NULL; + if (mas->index <= min) + goto none; if (mas_is_none(mas) || mas_is_paused(mas)) mas->node = MAS_START; @@ -5973,19 +5979,30 @@ void *mas_prev(struct ma_state *mas, unsigned long min) if (mas_is_start(mas)) { mas_walk(mas); if (!mas->index) - return NULL; + goto none; } - if (mas_is_ptr(mas)) { - if (!mas->index) { - mas->last = 0; - return NULL; - } - + if (unlikely(mas_is_ptr(mas))) { + if (!mas->index) + goto none; mas->index = mas->last = 0; - return mas_root_locked(mas); + return mas_root(mas); + } + + if (mas_is_none(mas)) { + if (mas->index) { + /* Walked to out-of-range pointer? */ + mas->index = mas->last = 0; + mas->node = MAS_ROOT; + return mas_root(mas); + } + return NULL; } return mas_prev_entry(mas, min); + +none: + mas->node = MAS_NONE; + return NULL; } EXPORT_SYMBOL_GPL(mas_prev); @@ -6111,8 +6128,16 @@ EXPORT_SYMBOL_GPL(mas_find); */ void *mas_find_rev(struct ma_state *mas, unsigned long min) { + if (unlikely(mas_is_none(mas))) { + if (mas->index <= min) + goto none; + + mas->last = mas->index; + mas->node = MAS_START; + } + if (unlikely(mas_is_paused(mas))) { - if (unlikely(mas->last == ULONG_MAX)) { + if (unlikely(mas->index <= min)) { mas->node = MAS_NONE; return NULL; } @@ -6132,14 +6157,30 @@ void *mas_find_rev(struct ma_state *mas, unsigned long min) return entry; } - if (unlikely(!mas_searchable(mas))) - return NULL; + if (unlikely(!mas_searchable(mas))) { + if (mas_is_ptr(mas)) + goto none; + + if (mas_is_none(mas)) { + /* + * Walked to the location, and there was nothing so the + * previous location is 0. + */ + mas->last = mas->index = 0; + mas->node = MAS_ROOT; + return mas_root(mas); + } + } if (mas->index < min) return NULL; /* Retries on dead nodes handled by mas_prev_entry */ return mas_prev_entry(mas, min); + +none: + mas->node = MAS_NONE; + return NULL; } EXPORT_SYMBOL_GPL(mas_find_rev); From patchwork Fri May 12 18:20:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239634 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 B3F36C77B7C for ; Fri, 12 May 2023 18:22:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 978D990000E; Fri, 12 May 2023 14:22:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 902B2900003; Fri, 12 May 2023 14:22:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6908390000E; Fri, 12 May 2023 14:22:10 -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 4E086900003 for ; Fri, 12 May 2023 14:22:10 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 276ED160D49 for ; Fri, 12 May 2023 18:22:10 +0000 (UTC) X-FDA: 80782422420.29.35140D4 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf04.hostedemail.com (Postfix) with ESMTP id 9412040002 for ; Fri, 12 May 2023 18:22:06 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=zaBG6lF0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aGQlkPxu; spf=pass (imf04.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915726; 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:dkim-signature; bh=cdJ8lm1z/mPh75QcXCutPwSFiLdHje5rsIQEGiQdfdU=; b=OJV8h0zY63svYzlNvzuiKy+a2Cw3yVyi32Q3473I5UuFnaS5iXDhsIjHLC7SMbf1xMPYtO FDLHvIcE+1bTt6nNsxKeDsKcI64oYsqZKCVeDftB5S0zQlA8snaY/feXmM/J0bOuke47Rg aUQjiHD1bWVYwQYpeqW3Rcunh2iJVdo= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915726; a=rsa-sha256; cv=pass; b=InbWoBeGE3MKBtKUqfice4UTtupgccqA8xym/GSS6zZTVa8rlMNJB8UvGBwBRvTysDUjsZ yyWE9nNbDj9Rw7RduDMeCd3glkkGvCM3E+J6DmcXTOK9R7ZXjou8siH00h4WaPVKA0cUZ5 IfnnH8ckIkTU2fhC+wsJQ1ZMDGN0A8w= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=zaBG6lF0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aGQlkPxu; spf=pass (imf04.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4AGh017810; Fri, 12 May 2023 18:21:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=cdJ8lm1z/mPh75QcXCutPwSFiLdHje5rsIQEGiQdfdU=; b=zaBG6lF0dycp05vQaHl5BahZH6WjCklWDMOTgjJcHdAxfiewOxsRfyXrGx7vUas26MmX /6l/a4eFdisbyPSupGSdpjKndXuFFSB1ZEVBKrQhLtDLdnvQCq1SXO5fHi4WvQ7uTmPl IUAPb9tKEYnUlkeMBD9CJTA/F0AkpBBYclfe3+KoPob2wuOxQg5GWM+k3GMivNJ91GLm e9ekaqYLGELbrqyK7Uf73gCobvWS9ZqBf2/68Q2SsacV9CfwspUKCjJvcg+Ih3dusYfm 2IRGRzMHGhHc1GzmH+CrkLdeo16sKmEajgQfrnmkgTZtJpayEI65wjNEkPZ4GItvGvzt KA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qhje7j3m8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:57 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CGqBGf018389; Fri, 12 May 2023 18:21:57 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf77mjm4k-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:21:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S7HicVJF2EdplLxN6JanTWKy8ubJb6DOARK/S9F8rQhq+0pA7N24YLHIRprCoCdxVpzSSIPE1sZ3f9tLRTNdW+392k8oaVCa0G5QrD6PFxvi0yA2fuFRCBAyMOSHWUC2LHhEnISY4kJ+Ppt5WvVd6Qwn7i22gzgknEfLwHcJbw0AWLmywN2DntnwDBPUIbru+C8VCklyrNi2FMempHRysd87wN7VOq4mxhTQTCd/J7c51fgaNN8ib/JANRKEQQKVtpZhJVnuYwsPQn+5QoRsZF1EO1eMBw9SBcYXY597S4om4b0xfC7fyg5zk47fK86z3HOlSEL8kYYs8xuSbXpKdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cdJ8lm1z/mPh75QcXCutPwSFiLdHje5rsIQEGiQdfdU=; b=B1BpcAUa7eVSMX/yXKp1QwLdpnH/g3RM975S+XZNPrqfNh76eV4uXtHHrCq6fhStxt7QRE3foCD3fVahGulXVbBBtYMemI/EnsKaPtM91hE1E363xj6xiyI1NsFy2x9bxbDrM6cjVf/4h5+tRjwiziE5EKG2a1RlW7CE2US4bY6+YYLPu6R/FF+JzNJbuxQtgRyKt/HYg+55JF6JnKCOarl4DbxnYwx3ivSqmIfX55RqY5jkLzFJG194JACkJPEU5LGmXtMr1UILeSqFGrDg5vt8cV501uLTYI3z2TrrmQyJxVeDppm/5UlNbdEpbCM+ikg9pEFP0OxG7w58dj/mvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cdJ8lm1z/mPh75QcXCutPwSFiLdHje5rsIQEGiQdfdU=; b=aGQlkPxuFFwMXn7eHrwC1JhLq77XwforE6y0rUKMnf8ieIcDDKknXi1FUZf0tNnSfc1y6Z3YMD+Gm1IWcEvxH/5D66aKrJs5n1D9bDa19Zj7FFG1yVJ65WH8/S1/XBQzOkfSHrfzG36CKo8K2pJAhGK7Jx4RnTjDNwQO+qdyaGA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:54 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:54 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Peng Zhang Subject: [PATCH v3 25/35] maple_tree: Revise limit checks in mas_empty_area{_rev}() Date: Fri, 12 May 2023 14:20:26 -0400 Message-Id: <20230512182036.359030-26-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0155.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ac::8) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: ecd4b1cf-1d0d-474f-649a-08db5315c3b0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9S+sR4ngD4nQbHxf7+xcHpk5a9gBQUpTbjI0Kkt8K/he08zGTiWlQy19BYi3TUrt1yM+qX/8cP5Y7Zq7f0HVukcHQgm+qlJwGKjnUHPgo7eY2m0rViFr66lPE2tYcqkHnmQOIl5WPraAjp2tVEg4LEosoBE4GKaqYisqu1o4CVQwVE9v9otYjBhWl0WqnA7h/WSD6GxEYu6fUtbIqRoRDH19xLBs2Y2X6cILrboA06D4aKqWVmnoJ82FaKvGnrLOgje4l2txBSxOmd2eLcRPC/fGfPKYQnwDSQPvrmh91beFgdG6JFcK0DVaHAQxctgs+bJ0bqyIRm1WAPnK1Pe9VFaCM9plHSINYOFDU8i3ACU4GXNvW88o9FRTNinEGiPGtSaLGUyN9rmjB9i116h3f4cBKdwX3MTmWYWFzyIlpGW7vHfeWgk6a2A65ur9LHtIjRgb2I54CaPabMoJldxmiHiOL4+Q1RAHtwk1I8s16MVU4gm1dDixsQ0gJY7HKMqIGJno5EIW66DnE/XIDcUMydasqMmyTgh+V+rA2u/I77NVkHvVnEWTQGyINhB9WVtC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(54906003)(83380400001)(5660300002)(6486002)(316002)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: DYtuC88m0Ty4TD6mxKWVd03AVUogQ5AuzodbZ/myXhsyCUFdqZBodHMDRUBaCwc4LWicbG6/8ZCd3LV9V++/Be+ld/82lbz6tvXG/YswwyL//yBlMe78PpeZEmj1GT4qeMMhclTUOmnq+zp1ekbrt/i5vw9U35g0vrs0ooeoVEwEdHPYlLdrkKVNqGj+L+QNVixnLHbK4wFV4WavVCfGS5/VCnhvxaw5/rvMd8mtwc60qHxIiIkFik0BMkVUL2zVTmbfscM7HtvS0ZYUEQmQ0TjCjpcpSw7Z9PiTpKwQDODhuBiyyPxgvsaiIoPckgyr6JALhEUCkZdfzA/N4TYowZviTrT6jA9ZDopYKgoclk5dbL6qFkzktAPoUNkZcPKCMGcby/q8LwYHXEchISIjihLXfC+MiBsiapGkqjZf5pVdDg7HUz4TgvykAxb7BKdXxt6fZNni4EZ6ETmlNFO02PjU2NZxRqUH2O17nx12NIL/F75I0/s2Gh3Ac4TQFY+X7UP5Ot1WuzqxvNHaecWgAngSkZoQlqJsFys2WRCtWd0CZm1eqRQ3nC/tNTd+5/0mAj6KTaMsOctcAGIQ/ArRN+QXSc3MvZ2Yid+QRQNyyrhUYeFEsCtr1CBzkq0mLtmbscPJM0//75K8Zm/ZRxaKbd2/GbgWMQwhyYDbE3MWS+mwJWewucwXUS0D0FT3iHmv7gnDXJEgshg1sta6NSoAFHWNaUEAIz4Cbe8h66AV3wdZxtUn6eGNycED7o1snJTH18/RjbJb7Bg2c6dhrG363FaqcRMmDPJBVEoPRRnVQWBKw8WQtn/79rBjNa/L/RvaXQACxrC1jlxMP5tlhB521QwpzCWNlw9h+8XlnpZWaAyXu9wFOCXoPJXs88hjHT3l/lujdAAw7x5dPAuKTW0DS+960VZP24zfKZoGKWCqNfNkNjEADd0ymfg/Zcnjri85TV8Sz7ybZRxOb6aZp7bfXzKC7xDlWQqYkRdcDzboeA3InoQ+U413ZA4Le1ogsUY8FufU7fxPP5xwiP3LEOfsC52rK7lL5g6SFG+H/GWbom1aJK5rulrLmeimMrq9zHbbl5/Mgp0LB5RqoUVB90Qldn1ples3zFtex1xOAkTzN/Shv65KrSwWGWiFuMIdsLfSO0MCTgyH8jUH0oQFoYtlvxkEzRRXlHY7J5u4D+O96UfzPYM3Bx7EMCpMgmVl6gcpi4/09F6BYV+36yC71zyL44BmKIAAusT1/oOqW82XyA+OsGYjrrqX0pktbKUQAvDCebNSaIOKQlORxhzBIDnm+TOQM/YYpdCLRzrjYC9d0sv8YgfER5XrijZemHyu4uILui1eS/Npd3Koxa5sS2uP+UwoW4VneeHp5YACrnLoKCp5p63fAVZLJEoJ6qX8ixRWyhWuMC7zA5oiSlgT0lfjiKjgYzioT9mTZ0n3G1JeiDOVBjngQTKhC8yTNYyYkmWe3tEX9pyZtBSk0IS6ILnvkSIFdOqSWpaflpdHIzspx0PqPuyM9G5CHp3OfZFORfWfllQEhEukSPQXSR+xRF/EPoOMutLzbuZrRd40t8TArKuFfLbMRKRcZoAilK2mHb2LRVCogxBn+pP0Bo21WmfKFQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: lsLkyzQqGQmtUeXLmjO68IJyOVz1++mgo8dkw5rkjGCs2IO0WDmNJKEI80RARIuSsFVFFsCF4R0vZTfCmgHFYlr5zPPGo7HnERN5uEboKdMU+iLJMjy1iJIKfJQuVtuoFm5RSlcMrp4f1xJ9PvxFDC+pSP+freQSe+HfWmOClNy0wW8YMAxPHNjKaDCmRp6d9v4/XH4PUFG4NmvrhIEo2rrCUc0kfIvPn7bJ3U+FyXFV9Qu/JEU1veI+OE21Nnwkxb02djOzHZ5+BkkfThUk1i19WW3t5h3fLG7ML6LDqtzk0AGPDGARH2svLQ4/9ctWIWKsiZJ4ihgwklTzn94995FTz9AYDi9yGRdQh4z0J3021i+XtzC5bR69szarsYwKjJStPSc7tS0ijEcSE/An4eMsWBvUrNxeSLvJJKOkgA/6glaX3vzKwyFF88MvKN/omOi/zKzDzf45msoDNXNtG+2niabmnGCkHcUDXRSK0wqxsJZYgf/0GVAVu4USDYtR8e3Zgb/weB45qCxAsQ0x5wXOuMO7kvF/5Ode57CCVeFI9n2G81roY7zynS/9JXeJXLkkC9cUDCSUlgFfPyE9V/ZSvXgx0PvGuNaF1OfvGzSy11DfSH4WdnbrVjg48qLOCO22uHDyG1HbWYZZoOz98Pi12TyAIYvqJ3JRn4nlxNC/LaC3TRksoy6iUbJZuescyANO1l4bTBCkifNTGrTdFb94+4zJ6iWv407jkwYdVq8dmtIf1EA1+8YL+v96Jpu3BhPpgkhwRpPGrDLJMXZuOeTtxNo1WhMy7Rqd9Xt+5kPsQrnQViGJAFDvmrdogNTzgWpzugCpqw+r+tjNAfuT8LAyOQn8dvjn+5qZNw6sP8Guky4vmVSb8MOeWle42zqIcsf9qhzIMe6tARMosHuUtZ/ercNfjTobLQ/mJ0mml6856wHQLX1Kli3yjXuBajdk X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecd4b1cf-1d0d-474f-649a-08db5315c3b0 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:54.6540 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 05DwoFBIrORTpFRcoJa3QxAjWeVs0K18dXMJaNRYwFprQnWVJ+C4euRaZN1dgUrfRDbqhOaakoMGNAdr0F2vWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: 0jWGXU2_C1MqmE9UyNMYpqFc_iGqKhby X-Proofpoint-GUID: 0jWGXU2_C1MqmE9UyNMYpqFc_iGqKhby X-Stat-Signature: 36odd56xtxn1jc7sfftfoq9krpxhoa45 X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 9412040002 X-HE-Tag: 1683915726-458491 X-HE-Meta: U2FsdGVkX19xbaFjUhYWZ9AqVosNS+fUj/kQgZwKkIGQRfwoEYHRqe9Igpg/yTwrPLAwKdL0iFkFwQ6XwRD4UQe/l4WH2+jIlYggR/cteMHlKYUwSD/oztAq3Mf4wawA0JxDTMOQMRTfVEmuuNTInpwJkfIUdsN9t03C04fY00GUUv1g6/yZjDsf0jiz3mq8UDM9yCyVKNIDcBlbzaW8YvG35B6jQHL5GuwRGnq1C83o08Bqx2UDKZKWi/myZOdlPlC/e7uBjUrsKFNaP8PAefcDIhyh9Cs9tuF6l/Mjz1wfimV/u5z/nDI4F89O/RFL9rExfWArIwA6ORCwyim3x9MRD4dmsifjimuagjpun7kYHhtTsAET+qi60WItm36qTpJMAVyLGu5WwQp0Hx4X7nUvJqQrPcgKk2TdvKzZ8dbXpD78GxKiKnx+tKkE0q+ahZuokl1l2GFlp10lrbIJB2c+96Kh/6SS4JNEofcoeLogU1co/tdX+vqSyJqzZ7QkDp3U3h5eTT6SyVk0XJ/ysTkZpBokSY2AfbXuVAFtMMshomLb73QcHdHiAaFhJZUFHBOz9ZcMLdkCBiv0dATMWWr1pxbaR+9aCN7KYl3p/7Uvg0CEM+otj6u4yzKAo+TLtexOOh2pI2z1UU8lMgNzVLC7w5F5dKeeQJorVhU6V2U/lqs7tlxxk0mEJtlXHKJLg0/AtrV7ckh0N84ALGOtdWBF5tgH+iiuLVhXFgk6STV0eGpRtapn1h2BRYQPge0lGdjrQ6zGPD4kY5q7fopU6C8O5lW2Mtm54n8kJuQwknY+L/eimw3pswR0pd5bbPUOW3zTTSfStbrPHx7PGCJJBOS7f5ccWtXAQt3Df+XjL3ZXVTqS3PXquHinLVLRjhRN7D44YLyviqz+CYxr3oLd5ZOtUk8vV6/68vAR7cU/o35dtZjdGe/wa/o7jPNyNvwCOpKDhYunVKn7Mjel3Et dE7z2tXU Qsm1BoKK7UWj/xFnpXtiFiLkguYb3s6BqxD0u+t1vo+k6o06NoMB21Ss5fImQlDyQMRg7ephcnK/VaU5qS90JJmQ4j//KqkF5mW9wk7v+un9EM7i20P/8RMFYntfNOcMSwcziKw3DiYSjk/Kio0IIMGGcH6MwHqacGB496IvMWWM8wnXvdIqELqJ9JZqnxI73vcwwIM/tKvWkP9L4tsJu2/w9WM9ofVHRhbbnxNWroz47xYsbwwGBoSiWKDVWqXMVOHVobfHL9Oiy4wQixvIqZQ1V4vMfwKVxUoEdP0Fon/KIH70HqbhHTP3SO04oXaI9bC+FER2jukq0Qg9PwG4RiiuxKy7IwsaLbKgbFxrxzuzMIG+IyuVrg9ro8kWXRkZ/46pJuEH6Hoa/Jl5ubzjftUdHNho8TpR3201R7bQ8+Ft0AB9WqNe2IxrptVT5vvT7Id78wTQRNPpRwjX610zI8tUjUE4WVe8QIq5Vk93Y96Ak1kQ= 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: Since the maple tree is inclusive in range, ensure that a range of 1 (min = max) works for searching for a gap in either direction, and make sure the size is at least 1 but not larger than the delta between min and max. This commit also updates the testing. Unfortunately there isn't a way to safely update the tests and code without a test failure. Suggested-by: Peng Zhang Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 20 +++++++++++++------- lib/test_maple_tree.c | 28 +++++++++++++++++++++------- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 425ad922bb2d6..580310741d892 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5282,7 +5282,10 @@ int mas_empty_area(struct ma_state *mas, unsigned long min, unsigned long *pivots; enum maple_type mt; - if (min >= max) + if (min > max) + return -EINVAL; + + if (size == 0 || max - min < size - 1) return -EINVAL; if (mas_is_start(mas)) @@ -5337,7 +5340,10 @@ int mas_empty_area_rev(struct ma_state *mas, unsigned long min, { struct maple_enode *last = mas->node; - if (min >= max) + if (min > max) + return -EINVAL; + + if (size == 0 || max - min < size - 1) return -EINVAL; if (mas_is_start(mas)) { @@ -5373,7 +5379,7 @@ int mas_empty_area_rev(struct ma_state *mas, unsigned long min, return -EBUSY; /* Trim the upper limit to the max. */ - if (max <= mas->last) + if (max < mas->last) mas->last = max; mas->index = mas->last - size + 1; @@ -6409,7 +6415,7 @@ int mtree_alloc_range(struct maple_tree *mt, unsigned long *startp, { int ret = 0; - MA_STATE(mas, mt, min, max - size); + MA_STATE(mas, mt, min, min); if (!mt_is_alloc(mt)) return -EINVAL; @@ -6429,7 +6435,7 @@ int mtree_alloc_range(struct maple_tree *mt, unsigned long *startp, retry: mas.offset = 0; mas.index = min; - mas.last = max - size; + mas.last = max - size + 1; ret = mas_alloc(&mas, entry, size, startp); if (mas_nomem(&mas, gfp)) goto retry; @@ -6445,14 +6451,14 @@ int mtree_alloc_rrange(struct maple_tree *mt, unsigned long *startp, { int ret = 0; - MA_STATE(mas, mt, min, max - size); + MA_STATE(mas, mt, min, max - size + 1); if (!mt_is_alloc(mt)) return -EINVAL; if (WARN_ON_ONCE(mt_is_reserved(entry))) return -EINVAL; - if (min >= max) + if (min > max) return -EINVAL; if (max < size - 1) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 19b130c9dddea..f167d6ef81591 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -123,7 +123,7 @@ static noinline void __init check_mtree_alloc_rrange(struct maple_tree *mt, unsigned long result = expected + 1; int ret; - ret = mtree_alloc_rrange(mt, &result, ptr, size, start, end - 1, + ret = mtree_alloc_rrange(mt, &result, ptr, size, start, end, GFP_KERNEL); MT_BUG_ON(mt, ret != eret); if (ret) @@ -701,7 +701,7 @@ static noinline void __init check_alloc_rev_range(struct maple_tree *mt) 0, /* Return value success. */ 0x0, /* Min */ - 0x565234AF1 << 12, /* Max */ + 0x565234AF0 << 12, /* Max */ 0x3000, /* Size */ 0x565234AEE << 12, /* max - 3. */ 0, /* Return value success. */ @@ -713,14 +713,14 @@ static noinline void __init check_alloc_rev_range(struct maple_tree *mt) 0, /* Return value success. */ 0x0, /* Min */ - 0x7F36D510A << 12, /* Max */ + 0x7F36D5109 << 12, /* Max */ 0x4000, /* Size */ 0x7F36D5106 << 12, /* First rev hole of size 0x4000 */ 0, /* Return value success. */ /* Ascend test. */ 0x0, - 34148798629 << 12, + 34148798628 << 12, 19 << 12, 34148797418 << 12, 0x0, @@ -732,6 +732,12 @@ static noinline void __init check_alloc_rev_range(struct maple_tree *mt) 0x0, -EBUSY, + /* Single space test. */ + 34148798725 << 12, + 34148798725 << 12, + 1 << 12, + 34148798725 << 12, + 0, }; int i, range_count = ARRAY_SIZE(range); @@ -780,9 +786,9 @@ static noinline void __init check_alloc_rev_range(struct maple_tree *mt) mas_unlock(&mas); for (i = 0; i < req_range_count; i += 5) { #if DEBUG_REV_RANGE - pr_debug("\tReverse request between %lu-%lu size %lu, should get %lu\n", - req_range[i] >> 12, - (req_range[i + 1] >> 12) - 1, + pr_debug("\tReverse request %d between %lu-%lu size %lu, should get %lu\n", + i, req_range[i] >> 12, + (req_range[i + 1] >> 12), req_range[i+2] >> 12, req_range[i+3] >> 12); #endif @@ -798,6 +804,7 @@ static noinline void __init check_alloc_rev_range(struct maple_tree *mt) mt_set_non_kernel(1); mtree_erase(mt, 34148798727); /* create a deleted range. */ + mtree_erase(mt, 34148798725); check_mtree_alloc_rrange(mt, 0, 34359052173, 210253414, 34148798725, 0, mt); @@ -901,6 +908,13 @@ static noinline void __init check_alloc_range(struct maple_tree *mt) 4503599618982063UL << 12, /* Size */ 34359052178 << 12, /* Expected location */ -EBUSY, /* Return failure. */ + + /* Test a single entry */ + 34148798648 << 12, /* Min */ + 34148798648 << 12, /* Max */ + 4096, /* Size of 1 */ + 34148798648 << 12, /* Location is the same as min/max */ + 0, /* Success */ }; int i, range_count = ARRAY_SIZE(range); int req_range_count = ARRAY_SIZE(req_range); From patchwork Fri May 12 18:20:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239632 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 9EE5AC77B7F for ; Fri, 12 May 2023 18:22:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 09F8B90000C; Fri, 12 May 2023 14:22:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0297A900003; Fri, 12 May 2023 14:22:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D720590000C; Fri, 12 May 2023 14:22:05 -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 B904D900003 for ; Fri, 12 May 2023 14:22:05 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 674D6AE493 for ; Fri, 12 May 2023 18:22:05 +0000 (UTC) X-FDA: 80782422210.14.62F72CE Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf01.hostedemail.com (Postfix) with ESMTP id 0B7FC4001A for ; Fri, 12 May 2023 18:22:01 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=0AT4ROCk; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=EbSR8r6B; spf=pass (imf01.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915722; 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:dkim-signature; bh=PRIktY12WJ8MfHPi7O5sGns7YnMuRlsbvHwTkhOWO68=; b=y0Z7/wSWSCxT11qK0epKi2Yky5Svnow4zoCy/ogsKyT6BjaN8Fd4FdyExOvyuNP3nG0+CJ cx0Pp7jGZaiEXEE8p/ukiyPUaGtzcIK8S28YWDRiTO4MpLR6ma4BGT3Q55q5igs5nUoSWN hdTEjrzzpMVaSlw08nGh2JtbziA4hi8= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915722; a=rsa-sha256; cv=pass; b=zuRRbwAApMfoR34tvR0ATvcDUsEfl6ODDBcKKIfveUlom8hPmsiTUBLVX09wtuVcORzGpx M5al3GWaA37KtDBhlO9Rf+dDaJsZWHKEf6OATS7Xx9nYgss90G1IctF3ATUCWwWI0aw3S9 eMeiOnuacTTsV/ujg0Qs6k4zaPledYA= ARC-Authentication-Results: i=2; imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=0AT4ROCk; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=EbSR8r6B; spf=pass (imf01.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF49kG010140; Fri, 12 May 2023 18:22:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=PRIktY12WJ8MfHPi7O5sGns7YnMuRlsbvHwTkhOWO68=; b=0AT4ROCkQGbC5dE00eMRNqWsjuBu9ofs/UD25Yacoxz034fFyQEhq88dXKSm25XLphMH mvURzQDheM6mEFrufJb31SDzHMohDsx9luFJjFp6XL31Xl8ONXp8+ya1yj7+HuNH5DYl j2t0nPRS3+1krJfyAUlfuUB4CZKaxhXAV5C9r2eQd2MiPWGa0PZ/ZvEZ5VB5Sz0UO0eA f4KtL5lzq82EXwPYt8v1wgcp3tJfqrlg4osm6F5aC5q6FNEwPKiRReycq3TJqVeOu4a5 d6wxekb1Alz5pzYX22+WZp7qteGpKyJy+csbkaI9dm6XQvINwkcUyND80Q5knAhvwDOt tQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf776ubh4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:01 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH0vTO024102; Fri, 12 May 2023 18:22:00 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7y8gu1t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B3xswBKZXd5kwHLx14vzqEp2FT9Hyn6cMrI69Pb+crNC4ZZKIYDZ9b9E1t9qMxoCJ7AfxpjStwauZMvYab966menCMxyi+qByvjBcX6RTfLUAwQmAz6CgOxFzGSzjV7MjBemmI4fEjlZftsco9yLaIXMQOhxE59lhiiMes51wz5ujCfO7lcZzzx7+X3uzstzkDBGAB0AwG/8Yv7BRCoDoTqoyOaVIZeWQK0uweO2M6B8Cnahla20UG0Ju2sRaDUFhp54zVZ2LqJztLO6tBmJvZN2F5ys8dwvgXNj7qUZFciZZOzYzWouvKfhf2TSHBMo8XUxPzVeobglr6+UGcq7oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PRIktY12WJ8MfHPi7O5sGns7YnMuRlsbvHwTkhOWO68=; b=RupEpF3mHkcnROpNtAa2/vTbM/z2KvX0H0Ma+Hhs/8l0aFi93xVgiwhsLDgnZEZ6SI+yFp5/mVeB1oJ3UpNIokUvfKxBGG+9HJqPfV+zJGq8jDwzpsvjcvAtbz2VHTZZIJumaaQ4zWOVG2u75gOKk19XdL+bU9mqnrlRAdrfRvywNCqUcKBv+PqYhTGfF4457zihZgHmCwRrVivti/goUoUEGvim0OHQTYGwpq3tnHKSVZ6GFKba/U/1qpAeQ2LOWj2l9j7IDNPa/ImgWOT2rqaeE+zeNb7ZI4Jtk8hTHxGLpNYeGAIaFB/FS1gRij1xJpupWifVDW73avSDJ8yzwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PRIktY12WJ8MfHPi7O5sGns7YnMuRlsbvHwTkhOWO68=; b=EbSR8r6Bsq/PkWez4/SeJfiaRH/saAkf7PtXLKMlKYq5yAcNdKgUlEQ8Fa3PY5vf2UDiI3Jiq3QMrMdZH4000zswCo50iSlczM1ODrQqWRENHF739A5cVOmBU8V3a7qaaZZQdqoFuwZNCJd+jtKuYOWR41pKu2VjW0v4PzrVYYs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:21:57 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:21:57 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 26/35] maple_tree: Fix testing mas_empty_area() Date: Fri, 12 May 2023 14:20:27 -0400 Message-Id: <20230512182036.359030-27-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0194.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ad::19) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: c1bd813d-7273-41c1-244d-08db5315c53c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +AqYyMjyKvRVQ0Eg86mNVJfnOklHNh2so56GJjGEKBFf6VU/myxddZaJmajpZVf+vmPATRkaUUsZIz6Ey6Ba5ck/O5H3cX/sk7InN4lrrutvPgqGhUK4uakAYytqiGT+bbWVyarHtc8efRiH75P3urWMGvqTB2BqNonzpWEksn38WpvHckdD2p5UeIFKQhQnGEIV9k4DppSpiNXBr2Gdn6T3oemRyxRuaPhqm4K/wMKhgjGmxaUb69sdvOX+/Bw4W2COw4eroctpk6gMKKDzncMyUpXwUURNQQQOLEmRqQJZDQgSN07DpoyQ04bIvIZLUs554TgWGR75j1l/OO110s4WpOss0VGTTAuKvjDlgypE23FTcuIcAxtXwRVy1HMmKIuNlZQ/ypNrRN4vulkNeAXTRLwAY8juYVOQ7eFik8uo4OOAbZS7gMTVt/Ts/NpJ6/8P1tJfTtk2mlOE7w2P286fOz+ojJCWbTQR6kLpzfEZ8EIqVLDoo2Jqg+50jL5cJaGE2MIjafIHxcXRnEvmPYyP9Zk+EHiUI7pP7wOUQ3pWcKheLZ/7PtKjrKtBdJFC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(4744005)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XTtri0Nk+smCoP++dNCwuTP/RpUqNnkC33w9SntRyMkOJk8wCRKRr0sIzLPoZHTdne/5anRRHo3/5hOEdaV77pdzs+K3WhGnkBN1xs10YTCpGcIgcdc39Krxm/eHKBO7m0x/LWsd+8lbpnKuMuqhZUE6rrbno7N0H7aJe8aYA/gwhgNjS7AIAYEHYTKVuFTTaWXGmVVeW7QhnsDvzyhVoWSqLpV0+98bGPJ/WqbKeQOY32foCsjOzJKDlXopWFI8tlhNJjBHU2ftmhY3n1bIvhasx+gtfCLUaBfpbloTP7GhxGN8oN4mhZf+PUsQT1ro5zhxUP03zLfBgrlwAOvbXuCzC7cyLhHIt+NIhzwYWXdqeOZUj+HfiyMNhIurb0YL4nWQjsJcfPnUfKxQDpyz1msC2TQ4EBbGN++RCrwe9bx4AIWgYNEF8NnudEIzJ5ETx5txXWDgTwQD2cOFTwwW+upPmfcEan1+lkHF141d+Aq2kF1hVLRM9noinyrdLgJVhxzGDbgl9pl859TZmorsVx7AWte4OKOdqmnNakH0kVHLEB2L4E7xlkXGXjZghR8YvUxn+pmdGD3unkS/pxuZKD7Oe6w/srC5PQvLNMNvcCkyL3k4NkXT9QChLjrgstAmlJXCfbrOfxuj7YVClSRkQJs7wKkva/ESsC0IMZD6PX2dCqlstE+95daqRXf0GjnbPiqTLInV4H81jCxPsdokdkDLqK9w812mNGbfuXwr6InxxISrJF3sG0s5khugkULkySnqRYdjb4w8okkrjILEcubNiNC9UOktFztcjhuB+lUz3RYsEps9cq88+ITBIp6P/e7kc1egEjemTND6APepSqNRrvTTNu8mpdS4tNKJF4XLkU6VZgdBQ2eqASnETRK+0D9EqdyvWkhqznUMhIOmyxGtprpcBNdkjXIRT7NotUkJ4JqzWMfySOjfobAHPvkVsj9QrNCmqLcepjiQ4TP1K39m+SR8F4583N4paoaW6vZjkvjTKfxQvR3jiKz0c4nw8uumJebJnBH8eowirOxMroubfgan+hlqhWtlgd+y1w0/NzfNtixRNtEOh82wqJJlE22HJc+id4Rj7HsqBxlKn2yAMNJiCuEZL0xLDEWCqOVpj9sdtOUty5R/aGxJIJXwVYQRAYxay8ZKO+lHUBCbJjb5fNlkGcZ7GyBcZ1MBACpsy5vHMQsJybBFZ0SUXitdD4zj1BjcqwwRu6WVNvRnfEW0SiLqQrSiO6RH0BXxfshxchNMsgvx90wl9LoWVCOEb0ZEfh+RaxYwvHn5kvjTGwztZfjJDDW2yx5CTHRfBX2+mPWjvnCX+rr03uUzgSHqbbGseoQM3ZsgLqcas6v03z4HUPyj1bfCdRG/LBkL5PazhUYNzqCuTZD29K+orpL1ReoYfjOfJoMP+TzQ1VZpE+FVZozl8kW7Q4WugCEjqtZIGz1s7JxlFPZiaYP29zTlMzJgwAOfYcnx1db2LQKd/O8QB1ASfZlrveZ4dYxqtTIPAbTvfVpvmnm0jr5B3SUnSciQ7sd4rSUFFeqpaOO+tX75aMv5CQGkJWGOhy2ZRvLAFgc1Pt3u3ze/bGn1mdc7az4PQVJQUhGueK5olcwtLA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 6YhwkrOiyAY12er7VsnALcPEHOL1n2vLXLQUWOdKIW9e5D+sNa46prEvns90hjojb4c5OSZ8WxApnSSql9XFw4Vit6spT8vPZe/EOphZzapNle3qJ7CAuo60kntBhn6Py7DYTwwyKKzrZP+YrKONXNrrDnEQInPVIpUx/rCmkb2qL9RHbKcuQLcoMqX7/egpxJMqKus87UDfw+2YeaH+GreoaUHBS6dndmPPRK2CUjF8FBBWMzEEy2IWggYsV8uLZpkvH9IoYhtou7mSHrCPkVxqpPwiLijwRP+99AUZ7xGlIctL363WpZIsq5O93MYDk6MNqDcKmiWiYWIHluZS4vpIsrsX1vuU+zL0ZNJ9By6Fdb6kLLG6l6mTJpw/VOWy2dVYF3GPZcN3YqHebnc4QtNgM8+8LeXlA5jVl/uyP4LdXXv1cd2j4C++hKgpdTsww/mGrrUMPOOFWqxPbYyQJTLjIfnwZliZNbS/HjDADZgHVKQI8tegaJHJL1UnJYz/3wG0u0gDNtvlubUCtbqTaaug8FxjB0EnSuUMbsFdMTfUzUGCLeBuZ7Lxs9jCBL6/hXs0FrLJgQh0QhwFqScTgLXMMxG/vNutedxnBtBPqWYHHk95MoZRmcueCVWmU77fu2NksCpUGUSyzZN77mNWcKuO+ROT8W2pdE5arNb8OVGWMzpljOexDhWfU4L2WXKAZc5WuZFi2lrUoaYh0UyXQEI2xwkfcjUkna4Xq1EfEG8IH0c9n4DqH07bPolxraoDBtULmU+qxS8kYnVlVw/hoSjV3ePAwewHEr0oRJXVnW0HOs7FvIGiCVn2u5d5oWtXrzA0LM21yprwuriOByG36l3ltnGY/e+NeitrIqNvcbn3I96PfgQkfH33gb6VFrm3lUnxO+Gd4OKFw5q5TYYlhQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c1bd813d-7273-41c1-244d-08db5315c53c X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:21:57.2603 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SW9rseCGQqAWatr10Qzizc2nM2kJHC/wwouIQ6F2ZQ8ErXmkYoJmXnEVcEM5SzrE/yldRI0fFwHjn9sE4X6NnA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 adultscore=0 bulkscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: exUI2Z0Qg4bWTLqpJBkMYTzz2EqWlIor X-Proofpoint-GUID: exUI2Z0Qg4bWTLqpJBkMYTzz2EqWlIor X-Rspamd-Queue-Id: 0B7FC4001A X-Stat-Signature: 9sm31ii9p3izpwhqqmr9n14rh63qx3f9 X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1683915721-343705 X-HE-Meta: U2FsdGVkX18Minw/7HLmg5Pc3pCFHCszfNMLZceiVYL5mhg4k2tuPnWpwPCQqU7ZxRgw2vFlOpFqLlzat7I6TQ/muQ5S3K0XifpIq92TsY+zhKJO6EvGahJEulyBREHRgdOqszBLDZ4eHuqVLMtZCQJ0U5IVNEEhS4zarmonG9x57wFRr67qpGu3EAAO+F9CBISA4rW3JGWwZlAhcGUI2ZWbmrJ6t+N6zlaYnT0cPNQsxLrBN/7E3/tuQW1dEScehNUWqi5wL1wYbKjh8CrUGmNBzyOyYL6BQCBSngK3AwmwFhqldM1AJC6zcAnl3jv3pxQu7ES8t71EBuCRgcRvk53z7PEnhzhHUaZQV9666Ry57dpsz7XUl3WcYYEeEw5h4B2IVHauAgPlWcMddD6y01LUzfYHaBI/vVuszi9pB1AqmvmJRN4Fc+RMl8CnSwkKFxyEkaTZWWC9bzv33jgZK0wvztXqcCyfEjQVCjtnvaPTpUWdmloq0xoYjkWgPmB+ZnUIxQHwk47lq/a7EXXitWNPqSIFil2larBnKQHowqwlzrdH8NhHZKZV2vhDh2sYdqmcDQstsCCbBNcZ4PDqs17wOJuWmcqwlRIjFQZZzs9kDuHkZ4+vp6AMhsyJro7YIzGqUn4Laocz/VNHMV1mwdx5faa5flLJjnwWUsVfTXSNfM+r0/Icp3aRs3UI3ACdU5mM59IhIq/qDO1QFpPkwe1fs/k8olSpG8LTY4j2XitG8ULO2DKmDTZxCN/lq3mL5zrLVfjskE2odj3BWTkqMJy1KI95HzP+1oPB19yvAmo+hHQetdSRmzLc3tZ8uMa9uQFsMH2khvB8n6V3eOkrzyLel2a+kPBYx1b8vrbpkbB/ytloN9bhydQpMkn2pcjZhu1GyQkuvepBLfnJo9eOoR2nC59dgo3ynFUN0VLQV7HlZcMqluDj/SaD4zOS+5g4AnnDSoY5gHgMQ/hn0L7 /rHA285u 9xi2CRW7JpgFzeKWAdPl49IF7u/9v8GFs6znGo3Pl3QumLl8LfiO018czviEEt6rfTfG0AJIZaIxYnaXB1Mia6/puOvmnm36rqPUL3/KzWZISkkCqDhqj9M3h9LJ6qutiW+HVZPE3sMoI1mKQTe/aldJdRtx7YZ9FhlmLndWyAB+SIH7WE3cCJDYWM94cDeYH/UaGj4maIPyBgx13QNQZy0hFqXzIYtmbT1eWgJquGVZITwvt9vkCO2EZRv5eqsskZTfKsprCU3gHk4AXHAtD4IPJO0k7q6zfNAC7HbYxzOeNX+RRT1Qs9So7RGHuhgDrUN2Q/WgH68d04Dr2E7jjSQQX3um8BPfl85l4Hm8PTsb+S1C6LTvVxCK/UDgKr8ZCjskenu2VyQUTg+EyF8pamPiaP8ZKeUviSOFaWrphaE/AnZV8ExjaHbYo8apKulWj4YBg 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: Empty area will return -EINVAL if the search window is smaller than the requested size. Fix the test case to check for this error code. Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index f167d6ef81591..d295fdee2faeb 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -2697,7 +2697,7 @@ static noinline void __init check_empty_area_window(struct maple_tree *mt) MT_BUG_ON(mt, mas_empty_area(&mas, 5, 100, 6) != -EBUSY); mas_reset(&mas); - MT_BUG_ON(mt, mas_empty_area(&mas, 0, 8, 10) != -EBUSY); + MT_BUG_ON(mt, mas_empty_area(&mas, 0, 8, 10) != -EINVAL); mas_reset(&mas); mas_empty_area(&mas, 100, 165, 3); From patchwork Fri May 12 18:20:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239633 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 8EE58C7EE26 for ; Fri, 12 May 2023 18:22:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5F77190000D; Fri, 12 May 2023 14:22:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 55827900003; Fri, 12 May 2023 14:22:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2998D90000D; Fri, 12 May 2023 14:22:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1093F900003 for ; Fri, 12 May 2023 14:22:08 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D6AF9160FB8 for ; Fri, 12 May 2023 18:22:07 +0000 (UTC) X-FDA: 80782422294.23.FC85254 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 73A44C0009 for ; Fri, 12 May 2023 18:22:04 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=dCiCxrf2; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ZObDX9xm; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915724; 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:dkim-signature; bh=Zaghmy/7GiJUNSvCefyQrWHFexl15SpP+wZF1jPxsFA=; b=NDzvgUnOhNJjnyfS3uV3C/58lTNGyRUuq9U4l6RVmlU3Rz0fa22kXltnmeik+utMbeBAZA EbYgI1xEMWmVPHVsdFPzR+PcuOXSdplza5Xj/luzvTYsX5pMSfxBVVkNlpnNEWgI6rF3z0 xTFVF5M+uhfndaJd85sLWkfYi8vd7+E= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=dCiCxrf2; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ZObDX9xm; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915724; a=rsa-sha256; cv=pass; b=22hODzerJOHefcvzJwVPywo/q9kLbTui1vjVEW+QJNY7tetCIKFYfpsPwGG8QPT2B1u6cx zim1lIM7TL7iQlx2qkxBQ6stQGhmEvURUMNhISqTYncxXWl+4wBdzdD1sKGB2LSGgUS5Od 4Ujof3SPZFhiJ0GiA3ZnM341lcwDKuA= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4ArL002642; Fri, 12 May 2023 18:22:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=Zaghmy/7GiJUNSvCefyQrWHFexl15SpP+wZF1jPxsFA=; b=dCiCxrf2Zb0gVYto1rYVjtO1l9g34xkUmpAlQ5iQ/k//pE6pt3H6FGomgha3HrJ05S/K zWJuL+GnuSPujMt2POL/uHvImUCaMJSoLbs/gA2AV4Az9BenkSP65GwKzOw/H+C0Cq0i gYmJkVNpizNmStJ82Vw9ZZAcRuE7iQzLuBHurlD7ybqEgcwfE37WLxXGpDpmFVkoofOw fMrrSeVYpMGsWFPGn/L7EVhl1Tlm9qvxY6kBCFrsvtPcg6VcLgRqdi3SgOWRPt8aFFd6 YhzWK9GHOfbx9Lqga0vCzOcJ8nrlcAkPv8hldEhN1hUl/Y2/U6a8KFxJmGtyDNltPwbB cw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bkxa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:03 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH2feh014337; Fri, 12 May 2023 18:22:02 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8316cjb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cndsrkiq5qRyYxAiSn5TZBdfYX7BDUS+XNnxpLCzXn7AlfPD253u5X1HM0z6SMTFpEcFp7Le0qB8OfkVOgOXMIVKQY5IgTecda1fJZ/tEubdhIwXQvw2v4JL/0bBUMClSn13EEIj2ofiOIPmHk9ekKc+RqcwVyUwbl3TGZS8qhlB6cDI7iYImHf8lvQGDAB/wer320a7ssGtTE1icLObrNJEhW0HOTFEp8r1x2RAhkXekrfvvg2fK4VFmotbwAKmD76Q0c3jk5+TB61r+LShziVN+8HuD/2e6tbAtw8Pz9bT2fkNmxQZd3MBTPwwh9n9zDgY3nzxgr0APLnhE2mtUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Zaghmy/7GiJUNSvCefyQrWHFexl15SpP+wZF1jPxsFA=; b=gAG3IR2ZLzo1VJOVnEld5flAXMJQdWmNUMA8Nxodsw30moacRcnEyPDlkHx11HMvrU+fQxEFBEMwp3PPK8DyfMyJvW7o/gwv+1PnndFUZvXlEswXbrC9+doMlYnc8kanI+9IM1vktApTSDPYFB1/OjTdAJK3CmTYrzziyTfcorLD39YzBRy28nZxhIQjD9DSIaeYPj2pzx06hs0kpXt//YTtBuKY8lW6+Xu9T/LebkN1Qc3vY6pSq/ieidGqx8qPTk1URG428O1W3e+toqRnw+TqjZUElRTXVMc04dAG6ZeOWtSo37JlI1TZOvcDacuJYnwUnsnb1eIL0IHVWON6gA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zaghmy/7GiJUNSvCefyQrWHFexl15SpP+wZF1jPxsFA=; b=ZObDX9xmgIJTa9jrbSHzgb39OCPbfdjKhVwA9mUZZgb4dvO8yfaUlxE3WWSPyNqPAvW0PQN/ykJMU1l0G8O2Gv+gw6WPg4CBMdQp0oeCORv5Kn8+SKfIEU6aj14hTmd7wmZfakxWkEIC/FU2vX4DDULaBbBLIaFdRu7lD/G4sUk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:00 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:00 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 27/35] maple_tree: Introduce mas_next_slot() interface Date: Fri, 12 May 2023 14:20:28 -0400 Message-Id: <20230512182036.359030-28-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0419.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10b::6) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 82aad837-3aaf-4ec4-7fb6-08db5315c6e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DBXVrafXLMrqHOnZZ3aslQ22fOveEpr5XBB3x6ekrBU42kNUe2nUdJ+siVmWb3cRBM1PlAFyh+6r4xtd0d30ewk2aMM35cbADBpa2vb9F0vkwYYEy0Y9T6r7uWw2Hm8T11c/RYTYp+/Mu/8f5DUuhXyNocXCKGRYOfbF47evZn0WXeZ2nc/XdzkXv1Wz+dw8zLLYSEQ8K+1vVu30Rw19kFj6FrA9yvBtY+a+QEOkiQu0kX5jw7vKfCUdFAS9aQ4fGsOg4R4DcoQD7mwEoS9SzlSV2E3IFjU8HfKmtuCG8yUXsq5csSPugCBuSUuKyDXhBbO7nn3TSAw+KaXTIWE3F16LVG3Ams5Q5kKtTigjQsIA7Y9K/wi+pIKnJh6kd0zP2VeYfthe1iyjHp58mNTxFiEbqSB5dvwltDcih8LtS+enLTNW8JfJ+GfkujwNgzdhdO0iw6gdL5LlFtZTktCmRq7Hnorp++7iVAkeJ8KPow6EDPd7h2dJQCF1760v4TOD6Ob+U8NLpUXR0UMPQh6Bz1ImbqqyKKBYpib5elpa2VdSwGR/b2q5n+Qay2n+PGVU X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: NNTDp61Wg9yONCwUAHX4ALpVLtnwzAFP/v4c7JKuRUgzDuuOr4j6zheZwR+aPJ4PZTRXQcWJbxgvsStgmQJCZ8JkNj45QGg9goCd79lEAU3Mw0+UHbFcMmruw3Odw3725jnjqr3CpxZXTXtxpbc3OaAvJxPlsbV34T//ogt8QrpllIlnxPSDGkHzsQIRUYyLM7UklUO0F9oUI1vQDnTTEfDroCCGqvCsrfdlkuUu+yp099sqSO3AWUha+rJjCu5r1jJi4a0IglH7homk3Ng/Trm2mlKo/yM6JjCtOBt51f308oSrKlqeZ09yDdVKDvQm2Q1b3xCvHWtwBYEZjrrePb61D/ivpuQUi5VcabRwDJRAzGpWD08Ez+x5eGm+D6RCBTLr5Bmds2lwT0yBXI83HhgCjcKKi74usDYvjFRneMw2mvSCaebZ5eG8zMZPP24037pSdmQyxFTZ95mZkqPPYwhk8Ti42pi0kPs5ycvrvJ+pVMgxWnVH6EvTC3NsHPd8PJ0IzCz0KS6BYTuLySeA7YJo1UWkbkA6gEBIdtlkoaPYAB1Ocu0ETycAFmSCGvQfw73X7WAfJmup14RdHzscSgbA4BdII8jvtdPzbRG/CmP265Alod3yHIfOZXtSWEKQLv2sntjzH7G1/oelmk7ivgOgOjv4m9tpYjR/1QXteAzV1L5Po/sT7a1LH+mbz4UKw/IStd/aKgQnb8fb3TCVy71yIN7EljVnCS0D0yc+0gbQpLVdfJuQiZDHzV99RpHGyWWdETGW+hBtkeThHXHC55scAYSt+la5P3kn1WITYBw+MsZC7jHsUjNnjJShqWtrw0aTWPq+gMh3AJ9/v4ZQvmAeuRcHTYOAd5xwLHFHlNsMmd/t/p1/t9zia2COot3FmA1akssSGKroW+nRGBKT7L4Eci9uPdwyg2ycD+P+e4x3W2/b/7FN31ioC+EQks58fYgRU7LZxX9P9VzYZBYRASWM6g5cKsc/I+0UqoiSNqRn0H7PIKpf+3Vm6I54klVB1ai+pDVfZQOUoM+9K+/SIr5WetYhihi8jJVDOaErc3Y4FqmGpDoH8nKMDP9ubDP6F12tBYeTreGim6ISaGltMNCNo3qSw2svmA0AGOBx4T8sTNuAm2UpEuJFmRGBx/I2r5SZPCXCMKzM4CRaDNiOShipA0EqWj7hQGGwazVQFjWB+SrcLpP9sb7s7fwS793Kt69CMGBE+Irvzkdp0xtpBzNhCozR9NhQaSABBZpYkOR5mPaYwioHf0IoXRNc2SYcTuwyJ1qfH3z5q9NIMRlA/zawmhOY27L5WdkFUSRKksJkCer1Hgf2kkOUEZhDEdd7+lTWLfqbj9X8EPH3LDg2HS5pVPuOMc15H44AS9Tlt57y42hUDITj6gUn9nriTewY9+PGxLZZ0VxxgLvOSvnOfN+xCg7CX4FxTq3LgCZ9VFhFjQnYXRAA8x7liY1rR24Pf1/nOf3rD3v7Dt8buAAM76hCCejbhhElBmr8p3BareVvQH1zl5vFJ99slbbdt1UPjeZxgGMWOA+TEISLU7zdfqxa5nGnfWAwtjGwLgahbZKo4CUgn/DgfXG03fBgrkSqetmvYWPVbf3t+ACQNdNAIg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: NGsaMg8y9spDlKcNGUw6FQp0qjg6wXe3zyKgjSODpj1V/XHVoZgXxjmhV43VF8/bMJ+LzN6eLfmsYOX2X9j8eSaLSYII1kOhiSH5uY51NvdFZtSaUVj+ZMkPyfAAMTdAkrTfdGYBd4ChrNHg9Ps4A/YkG50bhCo3SshQuWJGWXfF8jH6nKvmRz06qCcH4EH+bNLASNwElSy1MwUqGNuKRE2BccXgjqnQx55AG2wCvXNtiw7V67nRxHlKPXWyhI+bC/r9TDTG8GkgrMq9zFvEPRJ9DAyDCjflugkYoxyP9EqA91TMrVzXBAUu/tpaoOTY+i49Y0yseSwSnR2UQ6uTJ8hwDhwIHFZaFCdB24eUqJDKb0AIl/aazpBfFZst62KyfdcU/+DZTiqg2STgwLA6JYReo7FkeCJQI0yIGZ1ZX0fIgFGksF9zp60k5wlnhNP0oMHIOfO/dXkPUUGtVHibvySNgj0KJ4YhEmqVV+w2iHsEYn8Qq8qEYPvFacmD5SD88sqKX7HDWUYx99EHtQvgq8yPj3AKPbKcoT6qQz8tm6QPXVx86QoPjbhMWiTs+l6pKxmNJFSoRyYljA0mQX+foPk5ixHcfbZRGnLXdw6B6i1Hs1O/bJBXk+fA2OJRA/EKIAWzpcZVlZB2YDSDQxvygYZm57TlbViRY0APXkLAVCdGrGPBu2YE63+IWXeUsd7iZqgl4mv4Fi8J/C/VPGKrXEdovHPkwGdmpXpzYJIubEPq9eQTpAL6EMOcLQr7o6ekJxbF8bl4mkZVznbyDNy+Cgwbk5Xr6niEZyXovoWXf8zdEVhbq/gudwRWRJr0O4GccdsaCyWfFmfWsaOB31r7kZnvMMZtaWnZ6l7OyQf1cMbr1b1iwX8cXEjmbknrSUExKC/Sae+xOzzlQOvxOv1y6g== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82aad837-3aaf-4ec4-7fb6-08db5315c6e4 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:00.0319 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uJsi/2/j7i9/udQ6YQl8iCyBKngG+SpUUu2WA/vQ80H2X2RvpGI5jnbuuOgf0lX0pjBci9bdnqgjO3XJiXGUrg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: hfgnpl8smReQiLV3lWdqXviRhjBWw6vb X-Proofpoint-ORIG-GUID: hfgnpl8smReQiLV3lWdqXviRhjBWw6vb X-Stat-Signature: 9y7j9mjfgkemed8k6s5kbredojeb39sg X-Rspam-User: X-Rspamd-Queue-Id: 73A44C0009 X-Rspamd-Server: rspam07 X-HE-Tag: 1683915724-165577 X-HE-Meta: U2FsdGVkX1/2/qbx4QL0xP64VLQlHemQ2oNR6okIF7fx7n2y8CKDTNFzAcN3Vo3MQXECyNCFvl9tvO4A16X/5RHc7DQfNaq6348ePNV4cdLlOIGLajWdVRGGqADqWv/yHaoACaUII8b8PehNUucG6aAR77jT7rk1TpFOxsB19Plg7HMIWqEe3cH6Mo0cLe0sOYkhTzJGGoiKQeEyF+kYFR39Si85u+r2+Tq50V7xBAkhtZ9f9elu8n99tIgixOQRsybY+mABk6InpmRSM0JAN1KmZLwEKoRs3yQk3wMX3qSgYFHTWNKLwfR4d5EAu1JDjA9RS04+PQoki5h+U3i0zn0TF40QHnbcfT2QMTC6a/R+3w86BTA7sbFCVqoOmRR8lAA2yNFTww7e/CSnEnCcGpt0AZ9ZbFgwCrrrgoAI2YkOkCOfJ2zaQaYLfGnPmr7sUa2kl1j5ZRnT7kOUQO/HxDF4Pp5hf6sz0987YGFPOikxZDoOO0ZLRhiUtFQeF0UcQ7qdPOSLj6OLZN2GzeHbdMyq+sDFPnNPKEOyWYdi0LiVYvgjpIhdKZGYk8Z5VuKiI06SBMWslH1YRyeFVIiA50AjJJEhanzxEeJVxzD3XuzQsDRmjQgQVLjIwr6nviX7m34vkebScH4nL98QjlLhDf89cx98h/5Ajh1ZndJdd47GjUHXm1xUrCakqJIGabX2WJaupbgjBzPmziYzux43v7YOfUbAexn3PmPQ9zw7lIhINzDeq13xtqnXRckgGg3ZPqoMbkTTMI0UR9DaHBg7Am1Ywi+t0+uGOPYNwvl/8nKSf4V5Wv4WLQbUal4F58zL5Lw3CyO9QeAezecmxJIRwqON4bZcaSX/ixNdVVUCAqQ1Ns52DAsIh0n3wmBBTSh4h0DLq1yDrhW+/+m4Xi8bbB7qLkzyA70o3dyWEwHQfc6z2kg8ViNBFXookJArg32S3LPX+fs+lkmMvecS3L+ sJCoayOj sXIbldhPt+V/8Fu4gdHQ363gmsJaPMWfB4/2rZbGJNmui68R/5FYHuJb6+I3+iW0TLDl+JFXSrWXdfnbHZ+0CgMOvFIxPXOjEJjYxhQ0Papim+0bdEWkGi87/ADkTlnsV5grTIo2W6CcKuL1V33owWjT0DzDv7bedGh8fy//P3wO47W+3VcMUzID8qoiJGUaenfdAxCESyIkWHSE5tf0NYVHwkMpZLcMX1NEOIJOZQJ7u4k1/iZX0j6VjjPOIuxgud/su+iv2MAvvUWM8660uM3c+RIVzOjeJE6vjyNzwcOhMIv7aL3bkBVtzDy/I62uqTGfNVtKyp161Gr5SL2UwOg3KAiHMiMSzFK4335TPVaqvuJAzzPkfk9p/4ubW1mAtizL44gjlRawZyWMPnTw0eSIHHAbbYoCka5FVR2kcGdrJAYw= 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: Sometimes, during a tree walk, the user needs the next slot regardless of if it is empty or not. Add an interface to get the next slot. Since there are no consecutive NULLs allowed in the tree, the mas_next() function can only advance two slots at most. So use the new mas_next_slot() interface to align both implementations. Use this method for mas_find() as well. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 229 +++++++++++++++++++++-------------------------- 1 file changed, 104 insertions(+), 125 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 580310741d892..860f82e161661 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4606,11 +4606,10 @@ static inline int mas_prev_node(struct ma_state *mas, unsigned long min) static inline int mas_next_node(struct ma_state *mas, struct maple_node *node, unsigned long max) { - unsigned long min, pivot; + unsigned long min; unsigned long *pivots; struct maple_enode *enode; int level = 0; - unsigned char offset; unsigned char node_end; enum maple_type mt; void __rcu **slots; @@ -4618,19 +4617,16 @@ static inline int mas_next_node(struct ma_state *mas, struct maple_node *node, if (mas->max >= max) goto no_entry; + min = mas->max + 1; level = 0; do { if (ma_is_root(node)) goto no_entry; - min = mas->max + 1; - if (min > max) - goto no_entry; - + /* Walk up. */ if (unlikely(mas_ascend(mas))) return 1; - offset = mas->offset; level++; node = mas_mn(mas); mt = mte_node_type(mas->node); @@ -4639,36 +4635,37 @@ static inline int mas_next_node(struct ma_state *mas, struct maple_node *node, if (unlikely(ma_dead_node(node))) return 1; - } while (unlikely(offset == node_end)); + } while (unlikely(mas->offset == node_end)); slots = ma_slots(node, mt); - pivot = mas_safe_pivot(mas, pivots, ++offset, mt); - while (unlikely(level > 1)) { - /* Descend, if necessary */ - enode = mas_slot(mas, slots, offset); - if (unlikely(ma_dead_node(node))) - return 1; + mas->offset++; + enode = mas_slot(mas, slots, mas->offset); + if (unlikely(ma_dead_node(node))) + return 1; - mas->node = enode; + if (level > 1) + mas->offset = 0; + + while (unlikely(level > 1)) { level--; + mas->node = enode; node = mas_mn(mas); mt = mte_node_type(mas->node); slots = ma_slots(node, mt); - pivots = ma_pivots(node, mt); + enode = mas_slot(mas, slots, 0); if (unlikely(ma_dead_node(node))) return 1; - - offset = 0; - pivot = pivots[0]; } - enode = mas_slot(mas, slots, offset); + if (!mas->offset) + pivots = ma_pivots(node, mt); + + mas->max = mas_safe_pivot(mas, pivots, mas->offset, mt); if (unlikely(ma_dead_node(node))) return 1; mas->node = enode; mas->min = min; - mas->max = pivot; return 0; no_entry: @@ -4679,83 +4676,106 @@ static inline int mas_next_node(struct ma_state *mas, struct maple_node *node, return 0; } +static inline void mas_rewalk(struct ma_state *mas, unsigned long index) +{ +retry: + mas_set(mas, index); + mas_state_walk(mas); + if (mas_is_start(mas)) + goto retry; +} + +static inline bool mas_rewalk_if_dead(struct ma_state *mas, + struct maple_node *node, const unsigned long index) +{ + if (unlikely(ma_dead_node(node))) { + mas_rewalk(mas, index); + return true; + } + return false; +} + /* - * mas_next_nentry() - Get the next node entry - * @mas: The maple state - * @max: The maximum value to check - * @*range_start: Pointer to store the start of the range. + * mas_next_slot() - Get the entry in the next slot * - * Sets @mas->offset to the offset of the next node entry, @mas->last to the - * pivot of the entry. + * @mas: The maple state + * @max: The maximum starting range + * @empty: Can be empty * - * Return: The next entry, %NULL otherwise + * Return: The entry in the next slot which is possibly NULL */ -static inline void *mas_next_nentry(struct ma_state *mas, - struct maple_node *node, unsigned long max, enum maple_type type) +static void *mas_next_slot(struct ma_state *mas, unsigned long max, bool empty) { - unsigned char count; - unsigned long pivot; - unsigned long *pivots; void __rcu **slots; + unsigned long *pivots; + unsigned long pivot; + enum maple_type type; + struct maple_node *node; + unsigned char data_end; + unsigned long save_point = mas->last; void *entry; - if (mas->last == mas->max) { - mas->index = mas->max; - return NULL; - } - - slots = ma_slots(node, type); +retry: + node = mas_mn(mas); + type = mte_node_type(mas->node); pivots = ma_pivots(node, type); - count = ma_data_end(node, type, pivots, mas->max); - if (unlikely(ma_dead_node(node))) - return NULL; - - mas->index = mas_safe_min(mas, pivots, mas->offset); - if (unlikely(ma_dead_node(node))) - return NULL; - - if (mas->index > max) - return NULL; - - if (mas->offset > count) - return NULL; + data_end = ma_data_end(node, type, pivots, mas->max); + if (unlikely(mas_rewalk_if_dead(mas, node, save_point))) + goto retry; - while (mas->offset < count) { - pivot = pivots[mas->offset]; - entry = mas_slot(mas, slots, mas->offset); - if (ma_dead_node(node)) - return NULL; +again: + if (mas->max >= max) { + if (likely(mas->offset < data_end)) + pivot = pivots[mas->offset]; + else + return NULL; /* must be mas->max */ - mas->last = pivot; - if (entry) - return entry; + if (unlikely(mas_rewalk_if_dead(mas, node, save_point))) + goto retry; if (pivot >= max) return NULL; + } - if (pivot >= mas->max) + if (likely(mas->offset < data_end)) { + mas->index = pivots[mas->offset] + 1; + mas->offset++; + if (likely(mas->offset < data_end)) + mas->last = pivots[mas->offset]; + else + mas->last = mas->max; + } else { + if (mas_next_node(mas, node, max)) { + mas_rewalk(mas, save_point); + goto retry; + } + + if (mas_is_none(mas)) return NULL; - mas->index = pivot + 1; - mas->offset++; + mas->offset = 0; + mas->index = mas->min; + node = mas_mn(mas); + type = mte_node_type(mas->node); + pivots = ma_pivots(node, type); + mas->last = pivots[0]; } - pivot = mas_logical_pivot(mas, pivots, mas->offset, type); - entry = mas_slot(mas, slots, mas->offset); - if (ma_dead_node(node)) - return NULL; + slots = ma_slots(node, type); + entry = mt_slot(mas->tree, slots, mas->offset); + if (unlikely(mas_rewalk_if_dead(mas, node, save_point))) + goto retry; - mas->last = pivot; - return entry; -} + if (entry) + return entry; -static inline void mas_rewalk(struct ma_state *mas, unsigned long index) -{ -retry: - mas_set(mas, index); - mas_state_walk(mas); - if (mas_is_start(mas)) - goto retry; + if (!empty) { + if (!mas->offset) + data_end = 2; + goto again; + } + + return entry; } /* @@ -4773,47 +4793,12 @@ static inline void mas_rewalk(struct ma_state *mas, unsigned long index) static inline void *mas_next_entry(struct ma_state *mas, unsigned long limit) { void *entry = NULL; - struct maple_node *node; - unsigned long last; - enum maple_type mt; if (mas->last >= limit) return NULL; - last = mas->last; -retry: - node = mas_mn(mas); - mt = mte_node_type(mas->node); - mas->offset++; - if (unlikely(mas->offset >= mt_slots[mt])) { - mas->offset = mt_slots[mt] - 1; - goto next_node; - } - - while (!mas_is_none(mas)) { - entry = mas_next_nentry(mas, node, limit, mt); - if (unlikely(ma_dead_node(node))) { - mas_rewalk(mas, last); - goto retry; - } - - if (likely(entry)) - return entry; - - if (unlikely((mas->last >= limit))) - return NULL; - -next_node: - if (unlikely(mas_next_node(mas, node, limit))) { - mas_rewalk(mas, last); - goto retry; - } - mas->offset = 0; - node = mas_mn(mas); - mt = mte_node_type(mas->node); - } - - return NULL; + entry = mas_next_slot(mas, limit, false); + return entry; } /* @@ -4844,10 +4829,8 @@ static inline void *mas_prev_nentry(struct ma_state *mas, unsigned long limit, slots = ma_slots(mn, mt); pivots = ma_pivots(mn, mt); count = ma_data_end(mn, mt, pivots, mas->max); - if (unlikely(ma_dead_node(mn))) { - mas_rewalk(mas, index); + if (unlikely(mas_rewalk_if_dead(mas, mn, index))) goto retry; - } offset = mas->offset - 1; if (offset >= mt_slots[mt]) @@ -4860,10 +4843,8 @@ static inline void *mas_prev_nentry(struct ma_state *mas, unsigned long limit, pivot = pivots[offset]; } - if (unlikely(ma_dead_node(mn))) { - mas_rewalk(mas, index); + if (unlikely(mas_rewalk_if_dead(mas, mn, index))) goto retry; - } while (offset && !mas_slot(mas, slots, offset)) { pivot = pivots[--offset]; @@ -4880,10 +4861,8 @@ static inline void *mas_prev_nentry(struct ma_state *mas, unsigned long limit, min = mas_safe_min(mas, pivots, offset); entry = mas_slot(mas, slots, offset); - if (unlikely(ma_dead_node(mn))) { - mas_rewalk(mas, index); + if (unlikely(mas_rewalk_if_dead(mas, mn, index))) goto retry; - } mas->offset = offset; mas->last = pivot; @@ -6108,8 +6087,8 @@ void *mas_find(struct ma_state *mas, unsigned long max) if (mas->index == max) return NULL; - /* Retries on dead nodes handled by mas_next_entry */ - return mas_next_entry(mas, max); + /* Retries on dead nodes handled by mas_next_slot */ + return mas_next_slot(mas, max, false); ptr_out_of_range: mas->node = MAS_NONE; From patchwork Fri May 12 18:20:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239635 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 EBF49C77B7F for ; Fri, 12 May 2023 18:22:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0EF0790000F; Fri, 12 May 2023 14:22:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 07B8D900003; Fri, 12 May 2023 14:22:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BA098900010; Fri, 12 May 2023 14:22:10 -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 A1B0490000F for ; Fri, 12 May 2023 14:22:10 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 69D87AEC62 for ; Fri, 12 May 2023 18:22:10 +0000 (UTC) X-FDA: 80782422420.26.3AEA6CF Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf25.hostedemail.com (Postfix) with ESMTP id D75C5A0011 for ; Fri, 12 May 2023 18:22:06 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qfbwsdmv; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RDfrtIpI; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915727; 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:dkim-signature; bh=13GFreuchWmQ+sDqNO0+QXyL2JEdQ/xllgBiPHk5X8s=; b=yCM5XFLErEhP/3R6YI1qB0miOLPtJaUXwDQKuaw9+hFqcI765uz/QC+nF5H8AldpZW4Ka2 GXjNZJlJvoU3ThKY9g2Ieu2N/0R6ifMsjbp5BH/zqPnP2RM40rmNe6zy2GRlKOddG4AVI2 ri3NBkr5LkOLET3jGfGHiQ9rQKixhvE= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915727; a=rsa-sha256; cv=pass; b=hWnKZ/QLV2HKMismZjll/izryxVGsYHcIcmszWTrn3dw4YVcKkSEHOdrYZK6ZpG2K1wHAf kYIV+8MFmsky8nMfpLuZO49S0/6mc+H/j1MvYHUhlgDNHff2FECNg4npunqHvCF6Sjt53k 2Tsbx4T/n6DgJgTuJzM3MhviFntaEuA= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qfbwsdmv; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RDfrtIpI; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF46E2032414; Fri, 12 May 2023 18:22:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=13GFreuchWmQ+sDqNO0+QXyL2JEdQ/xllgBiPHk5X8s=; b=qfbwsdmvMC0FGWu7OUQhwiSilvlV1WzyXYIpy2M+zVZs5l7IO6TOfn562ZwfccegnYQm XvD4z7svIVwibkijcE/E5TAtR3UAoYyMzvWrwCiHBT171dtz2PDPY3wYwLMjYnUH/JC8 GZLHdtR75FgKSBeyAq/jVvhIOQ7bJ3l1YTNSR4LNxB2k86iDPIDlnTJKuRKZzWw3bAgT Vd57gkpXdgx7jVNK8d9PVx9k44CeYe3QxOHGEFz3An9uXEa+s2EfQwCz2cImS7yeF+rz Xgnt+Swbp860jtsSMwo/Oesw4ctzUyHOM/5x50OgGWml8KPFGzVMWtTSaSXPbyjRth+m /w== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bm41-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:05 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH8j5j030909; Fri, 12 May 2023 18:22:04 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2172.outbound.protection.outlook.com [104.47.59.172]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf81jxgdu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JZjxQoVghnZTplb+Hpsy0jifY9hjvt4Kmag1ONsBWuMr3f3VtXCP9oHSq28JLDi+O31RY34r9KHN2r9Mv+YzqMYusTs0wFmSmGsQ4QEZAd96wB32WYfkyrrXO8XR6tQycS7zgA1/AJSyRmvD0b0ClMQ8ULVZ8mdklGtXGY3czX2aTy7gTi6uThnkEzDVrL6oRKRGEtBZoBomGemgwtbBemMDy8DftXStesbuZu6eYbiPR3k5/kkTElhixeGu+IOoSqZdK7thQylWaTN0U0pI3MHL0jlRRg9WQynR+NcYQf4RyCBgOpRtFBnK4G5WaXh/2fdXtCCbomhHlwbpyZoRFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=13GFreuchWmQ+sDqNO0+QXyL2JEdQ/xllgBiPHk5X8s=; b=I7A5IGzPC6QY8l+8R8kEI4Re79hnWmXuBRt80Rd+XBHnnNyUVokPD2zGFaVTkkmZcLNGIOp36yn5pE28bHZHDX1pDm4Xi9z02adz4T5VNLBYcf1BS5O+Z+qQ6YX6nERA6jv3MQ0XXNQTbCOhehxm0F73VqxVUSfMupIa5i45bnQHr5L07DtXFEax5EZJxuUoN5N6k15MB1ucWsHwA+sJLO08fI0xSq8TLiRB8XXVVeTZ4o/ad4ups3+4seS5S/e9mHGEtk4LotyGP5Hs7AG+0eEyZQa43V0O/PMwe18BWFxTdtmEXCa3fuuLBv/fZtSheZxJMN+qHyxidrRfcHbGgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=13GFreuchWmQ+sDqNO0+QXyL2JEdQ/xllgBiPHk5X8s=; b=RDfrtIpI3jauhpT7tZ3b7JBDP1XIQyYeSwGq93H7o2UNq8Tt5olrb5CyObQv9Xu8xFFdGLlXHYjGTggGSrPunCOh0aUi3QPoyxNnOfYVb3SbGulzHATT8aGtFvoQFbrnuhq+6nkdU8w8cahlWTv07tYQdnXkLOy7QslkxH+KkiQ= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:02 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:02 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 28/35] maple_tree: Add mas_next_range() and mas_find_range() interfaces Date: Fri, 12 May 2023 14:20:29 -0400 Message-Id: <20230512182036.359030-29-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10b::26) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: c40736cb-52f2-4359-4168-08db5315c851 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UN+2AWF6lJywoD64bkDjfYZsTsiEbHV5ZvH0QFbVVK60upKhGDYL62aasNpBu8YPKzcnnZDcr8S0L35DTuXGjafW9LcaxuNozG40CjVvWTWlkl4BFqxlVwC8IsKlQ87yQ1a/YGmrxwk3/RfLjRkIlPcOlXf+FURrC+6qYCtxDwXoQmfvq16RM/vDPVQs8sPsWKGurKzm2ssBwtdkgaNq059KgOXkZTRp4jl7lSPW0pVd+WiwIS89A7ztH5rricnUlv325w6lXsmLSxZxIbDpjZBsBVoKXUPdBXYc4GmJWnRjTjdUNyMUGkhlXblj89DvCixcEY4Q8tobLy4doT2mBt37hrzs/fLFhAPGj/kScBXTSXQNKbTxHrj6SZ7usR1bYSpamfg+t/4FyoG8KW6pdFkHYorhQCA0i4hVRUsmpG/lDicI1GiERlnSxfphlGCtL1CpeVWGWybpRfAGi6siRoV6dePjjvVU2OkOYk2YwFKgOqU+mTF/yYZGQE3q/M/cHJQroitP3awuwnLRoh18ej7EJQtj7MP34yZPmUJEEY0lj2yzIOWJ1U4HC+BBMbB4 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: S4AWK/39j9KIS/lCxxntNHTvECputv/NHdjjbN6aXMVixW+SoT15YlSBKmLoZtx0GtwLqcAgr5ZJYghDESNL4IV88ZA8+DdthCrTrE666ZFHlSv5T+eBEx6QANp0xzx9NYCyzreQ6qLoT3KqfWCIyQ7QZXE0vlA6Bqmgsjr83DfJULx4vuouVRG5yu8F6tNG/UAG4mUexCBsTRk0fc/MQgkOUP0yfv8sS2Zswqqk9RUIPEfyBWa0ror3epuSL6npSsTlu4u9K6rnPYbDZu/ZofC4p2ztZsZYhHAuR5083nLVv4ru75Hk7YrMeJ1z/OZOogSyiTmpLRetNuhnJAubdlS9J3Vl+TkpI49gy8BJEGqiSKFJ1BaB9tWPQc7ZfBvIfONm/y1Ua2d6eM3z4tz6FIQfNKMGMFu1InjQlLIdawqGhdaRZgqgHUu7SK8dd5jbEHufUZz/9JMWLWILzIYZ/Qfpmpc6dcU7PSiNib90pHSHXj3sJgSrHHPyvWF7QadHwhydH2tfwJjSR1nhQ8ZwgLwRpfUeoNJVbWhFmQy1pSmesaQeshOluWF9HdzvjdErdZULQwYrXQJD7QHoBdz7Il1yv6LEDSYC14GiRfGeleutp+Wz6c8V2+hXVpmtmusiInLYilZpZBfc66oNGMhsI2+SJAI5O/1DCCibnRj3M98NA5Oi95PJj9dDCcgoWOpton5xRR5DPV4MR333LbscrF/959FwdbDB7wW8/L5VSAxUBQYiEyjQiqE8El97hgl2Xq7KvRIVGPUA0EXJivvKzd2QUhq7gZTxzm+q0fcyqgp50Mmhsw9yEXWs7hOPxbgU831dbq3zSBYkXzNifoin9TYfVZ5+Jhok7wu5aShgVR2HpHKbJ/Oaoxu2UeHd6YYMzB2y3eL2DNGey33UPtaxprjuI4KVlc7qDn3X/ZZjW5MornOp4Mi7K+KZ77kBivnX3csT6+QRqHSuTn0iR+iWJIhT3zdefo9ckrJuqRpz5MGdBeQGZOGOsk4lCQXi9p+ocgWw/ABZ14DJpdQqsZPgPuqQTDmerYr39KB+Afz/ouTg9up/aW8krY9GrXiR96eE/BiUYBgM6OiUprWBf8VpXAl+rFfiLU19wUkFPoSgVi7VKGMBGot/foDtAApL0XsPs/ALon2aSXhm96MVNfCPCkBfnIC054rMdJHPVMoMO1iX5lc9qEd8w6YzRFtA3K7c1hiblgd+PfRUx8RV2R8xM6pAakB8f0Lsdd0xXLKsQR8xo8bszrGgq8HZWlztBGfL8XoLhdCP39oJ1r854qNihYSUGH1mpDpRGwKG7tv47tRqlZTnScXlGyXDcVXSY9c+lgZp2FB+t05iIyURFH6rX62DMpYVrx/1ypCQirKC5MjGWvCWR2pUsDOqKso/6P4Ir1N4W7VFotQVmeqlGTxaFyXuUp7l1JODoJATc79dBrzvle+NauoIWCzC6bSoiNjYZDNu43BjbKYmRYieXcctg0uAiIL+QKFs+CHyFiU0NDpeBWYTX0tNOd0a/vR7A8h0qzwYCEw/X6LBJY2MUKzpCGxCzOt0d53aoZJPSP+HJmxc66HbML8D2iM0uSNqRsUk1sygDME1R8Oh0T+Xe6G4Tg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: iENxH6euo7HX5qe/6KLoQfxPgSiF4pVothv7alz+ig6W8OrCQ0re2SdxnH/U+qW+gb2ZI+vQZ/5bvQMir1W+IsQvEr4rpONpWpLOjBh5gk/6hA/ASZJU+L5xSaYCSXM0vDmjENd2PwB5dTYoolmr4/bL5y76NMzblIqeUvy+y6K1tOPU1htUF628eQe13SS558Ic6yF79J/7dUZMwWkMojVCYa8o+h1QFflqKA9wqp+08K//OYoHyoELqKf1JBUk0ATT9/8+KpIrFz4L/bUmdpZCD+wrBxE3VsOxqZbo+bpeIFVvaGGpcimO4h6bacLEm1C0LAKw++sVsCUIw7+Kr1atU8l2/LjgDrYf467el1BfcTp6ydoF1Rdh/pxV8KYViGk2xJoO4yrrNpGRx+b/EdOvOTE3D2u62wSV0Y+vMALNJ6GwFZb97nYDj/yU++zQHDIBKgAPNAfTtGG5/Uowj5wV66BCB+f+baRrNm7JllU3uwBRLIMP6tfSfBtUhbfz03JWtDwVdRQaKVMVlbGCzm+gtncWgThyyG5/0wY2siq+TFFEeTgQpFkqvbRk91eQclJyonL2XmT0sMiLTMp2/QhI/Bz7izJF5DyS3NDesHevR6QsN2UG0/f3bYNgy+c5gz3HEXuG+Xfc10q4+yNkqI3TxHrv61xYRxIlQ/02bp+3ZYWFGji46+k0uSmIdpWPiWAhytpI9U9U3D+Q/A4HfIcc6Bj+ipJFct5TZwk16uA7j11l5pYaWVuGCpV7c4I+XBKGP3bYUM6DJo+Cmf7lJdsVtIA4oFNrGqeSl00Xb87D8v8G/HOt88Z6wrogZrqbeVU0JusLG69lEU22SSZhz9fYgnOdsBWAENiK87afRv6Hi9jQoYAzcOd2bA2wH9Hfp538V4dtcpHzFXfTFUXQGQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c40736cb-52f2-4359-4168-08db5315c851 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:02.4659 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iXYjMui6/r/L91tvGaYI3zqcUpIIh56UunveqihdzMmfOQ+oLFg5wsy99ddpCHUe7Hv1Eq4KjyXgwb54ZDnAIQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: _oarWEbw-q986hQ63ZHb4881XKyClYRe X-Proofpoint-ORIG-GUID: _oarWEbw-q986hQ63ZHb4881XKyClYRe X-Stat-Signature: qwa3goibs9p3wzyhbkmqk89fiw9d1g8b X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: D75C5A0011 X-Rspam-User: X-HE-Tag: 1683915726-230790 X-HE-Meta: U2FsdGVkX18mfErk/PG2P6Zm+D8eCyHS8aO0GjOdnV/tNBE1qcT+3BN4vtOGYL5wNFRJI0jNFeBpIN/MfzDbz0Ia4tPAKZjvQZV6HMrZh/PvV/o8R/zmXGyeVqesiFiFoxvUe4u8ziTDwdeG9XBBlJNsQMNy7erq7fl/PrCBaq9wxLbHnHTo7zeEcy5OV4g1XNCj1ZWfcf+jW75xAJGnQEhEO8a/QsHLjAhslkwWudhyQmUEdDOOhKr2iGvZKV6RXvo14qScJK0nwozrrM0QSvgr6LgWNgGeZ7LeFXEs5yhP3L1qHCuR6iKWA1raeW7o08k7lZAMfBvh2LrpL6LLanKyZ5TJECHwRiqjAchMdtC+9nzevn6je/voR+ttA/dDkQQDJa9a4Z2/OEqW4LsPmsqqiIou8he3SUaZKJC3ppgMIRsvtsSv+x6/xwNzP47LQURv99MPT7YSm9IcOFwDlPgE+2vByDPixvVn9C76J1t39afL6UZ0Tvo5uL2aJIxBtjZCUoRWXAhx/PQ9HpZaQ4eMJuUOYD2POUwq85rL+VGfpOW8WiWC83Zx+/qw/HqiahT3R0T8stdTrtjdEaOtWwSZBtmXdzc7IWuLd4uTomazzbWsXcKX6gtlBgRecK9FZSIUtO8zxREhmFKJQXrk+7t1MctxESftZRclVrXzo+P9Zt2uGNun8UbgZhB95zaoAAAZwRVjFq9W/UYm7y5ItLmQgLGqyACP1Ew6G3WZ+lkLmWbTMaEA34RXQwXDwer5FOw3vcbBo3tnSy7LdWHVdwplymS8hw+PtM0LYgyUI69Kl606YGsSqvnxZ9A/A6IsKswY0LAdDTNdvhM+16olUZCvW5JQ1uGULqgnDiVpsAtKrwRYZnCblpYwGMqC6smHpSCr3v3htqD/bsbfGV75CvF6dtCgGEpmUQp1ipdm3gAebFIbE7PvXFwMGRiz9Cye/jAdNrnfRdHwBdFbsAh /ZtAmh4D dkTwq6bVktD8uVg0fmJwil9xTDfF5rKzMYHTlPnYHmBxQyEigOdr7GEKBNV3sYhdBfCj/1rrPhyQmTd7ea9LrRWWRQ++/ccLon14SZJdHlxbkZmwU0EsjbuDLSrt9iziSsStoupmNj5x/ynbmgnL8jFNAvi6g6xjCmkfZEdifpv15aGUQlyhEaH+RcRXiYS9Wo6I8ujf5i4MlVIHq6wBXNeKZX0rS4MEvYsT1c224eoGvbhDb4GrspwkdHK2umIebd5z2SYDvuAf0yP4eqGGhSpE1xttPEiLxioq/b+Vslyi2a6irGy38EdMAAf8wyWXZxY8J1lkfLTCFAzT70dNhNmlFPYJTv1K4Tkcn36+n0F5SzxukDj5aAeEi8z5ngejuvgt1fFIPfWJIJgMjNBc6jns1a1uwyFnR0X2yWIZsSqeMMog= 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: Some users of the maple tree may want to move to the next range in the tree, even if it stores a NULL. This family of function provides that functionality by advancing one slot at a time and returning the result, while mas_contiguous() will iterate over the range and stop on encountering the first NULL. Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 15 ++++ lib/maple_tree.c | 172 ++++++++++++++++++++++++++----------- 2 files changed, 137 insertions(+), 50 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index ed92abf4c1fb5..a4cd8f891a090 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -455,6 +455,7 @@ void *mas_erase(struct ma_state *mas); int mas_store_gfp(struct ma_state *mas, void *entry, gfp_t gfp); void mas_store_prealloc(struct ma_state *mas, void *entry); void *mas_find(struct ma_state *mas, unsigned long max); +void *mas_find_range(struct ma_state *mas, unsigned long max); void *mas_find_rev(struct ma_state *mas, unsigned long min); int mas_preallocate(struct ma_state *mas, gfp_t gfp); bool mas_is_err(struct ma_state *mas); @@ -467,6 +468,7 @@ int mas_expected_entries(struct ma_state *mas, unsigned long nr_entries); void *mas_prev(struct ma_state *mas, unsigned long min); void *mas_next(struct ma_state *mas, unsigned long max); +void *mas_next_range(struct ma_state *mas, unsigned long max); int mas_empty_area(struct ma_state *mas, unsigned long min, unsigned long max, unsigned long size); @@ -528,6 +530,19 @@ static inline void mas_reset(struct ma_state *mas) #define mas_for_each(__mas, __entry, __max) \ while (((__entry) = mas_find((__mas), (__max))) != NULL) +/** + * mas_contiguous() - Iterate over a contiguous range of the maple tree. + * @__mas: Maple Tree operation state (maple_state) + * @__entry: Entry retrieved from the tree + * @__max: maximum index to retrieve from the tree + * + * When returned, mas->index and mas->last will hold the entire range of the + * entry. The loop will terminate on the first NULL encountered. + * + * Note: may return the zero entry. + */ +#define mas_contiguous(__mas, __entry, __max) \ + while (((__entry) = mas_find_range((__mas), (__max))) != NULL) /** * mas_set_range() - Set up Maple Tree operation state for a different index. diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 860f82e161661..10b9471a80cdb 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4792,13 +4792,10 @@ static void *mas_next_slot(struct ma_state *mas, unsigned long max, bool empty) */ static inline void *mas_next_entry(struct ma_state *mas, unsigned long limit) { - void *entry = NULL; - if (mas->last >= limit) return NULL; - entry = mas_next_slot(mas, limit, false); - return entry; + return mas_next_slot(mas, limit, false); } /* @@ -5885,18 +5882,8 @@ int mas_expected_entries(struct ma_state *mas, unsigned long nr_entries) } EXPORT_SYMBOL_GPL(mas_expected_entries); -/** - * mas_next() - Get the next entry. - * @mas: The maple state - * @max: The maximum index to check. - * - * Returns the next entry after @mas->index. - * Must hold rcu_read_lock or the write lock. - * Can return the zero entry. - * - * Return: The next entry or %NULL - */ -void *mas_next(struct ma_state *mas, unsigned long max) +static inline bool mas_next_setup(struct ma_state *mas, unsigned long max, + void **entry) { bool was_none = mas_is_none(mas); @@ -5904,24 +5891,71 @@ void *mas_next(struct ma_state *mas, unsigned long max) mas->node = MAS_START; if (mas_is_start(mas)) - mas_walk(mas); /* Retries on dead nodes handled by mas_walk */ + *entry = mas_walk(mas); /* Retries on dead nodes handled by mas_walk */ if (mas_is_ptr(mas)) { + *entry = NULL; if (was_none && mas->index == 0) { mas->index = mas->last = 0; - return mas_root(mas); + return true; } mas->index = 1; mas->last = ULONG_MAX; mas->node = MAS_NONE; - return NULL; + return true; } - /* Retries on dead nodes handled by mas_next_entry */ - return mas_next_entry(mas, max); + if (mas_is_none(mas)) + return true; + return false; +} + +/** + * mas_next() - Get the next entry. + * @mas: The maple state + * @max: The maximum index to check. + * + * Returns the next entry after @mas->index. + * Must hold rcu_read_lock or the write lock. + * Can return the zero entry. + * + * Return: The next entry or %NULL + */ +void *mas_next(struct ma_state *mas, unsigned long max) +{ + void *entry = NULL; + + if (mas_next_setup(mas, max, &entry)) + return entry; + + /* Retries on dead nodes handled by mas_next_slot */ + return mas_next_slot(mas, max, false); } EXPORT_SYMBOL_GPL(mas_next); +/** + * mas_next_range() - Advance the maple state to the next range + * @mas: The maple state + * @max: The maximum index to check. + * + * Sets @mas->index and @mas->last to the range. + * Must hold rcu_read_lock or the write lock. + * Can return the zero entry. + * + * Return: The next entry or %NULL + */ +void *mas_next_range(struct ma_state *mas, unsigned long max) +{ + void *entry = NULL; + + if (mas_next_setup(mas, max, &entry)) + return entry; + + /* Retries on dead nodes handled by mas_next_slot */ + return mas_next_slot(mas, max, true); +} +EXPORT_SYMBOL_GPL(mas_next_range); + /** * mt_next() - get the next value in the maple tree * @mt: The maple tree @@ -6031,49 +6065,41 @@ void mas_pause(struct ma_state *mas) EXPORT_SYMBOL_GPL(mas_pause); /** - * mas_find() - On the first call, find the entry at or after mas->index up to - * %max. Otherwise, find the entry after mas->index. + * mas_find_setup() - Internal function to set up mas_find*(). * @mas: The maple state - * @max: The maximum value to check. - * - * Must hold rcu_read_lock or the write lock. - * If an entry exists, last and index are updated accordingly. - * May set @mas->node to MAS_NONE. + * @max: The maximum index + * @entry: Pointer to the entry * - * Return: The entry or %NULL. + * Returns: True if entry is the answer, false otherwise. */ -void *mas_find(struct ma_state *mas, unsigned long max) +static inline bool mas_find_setup(struct ma_state *mas, unsigned long max, + void **entry) { + *entry = NULL; + if (unlikely(mas_is_none(mas))) { if (unlikely(mas->last >= max)) - return NULL; + return true; mas->index = mas->last; mas->node = MAS_START; - } - - if (unlikely(mas_is_paused(mas))) { + } else if (unlikely(mas_is_paused(mas))) { if (unlikely(mas->last >= max)) - return NULL; + return true; mas->node = MAS_START; mas->index = ++mas->last; - } - - - if (unlikely(mas_is_ptr(mas))) + } else if (unlikely(mas_is_ptr(mas))) goto ptr_out_of_range; if (unlikely(mas_is_start(mas))) { /* First run or continue */ - void *entry; - if (mas->index > max) - return NULL; + return true; - entry = mas_walk(mas); - if (entry) - return entry; + *entry = mas_walk(mas); + if (*entry) + return true; } @@ -6081,23 +6107,69 @@ void *mas_find(struct ma_state *mas, unsigned long max) if (unlikely(mas_is_ptr(mas))) goto ptr_out_of_range; - return NULL; + return true; } if (mas->index == max) - return NULL; + return true; - /* Retries on dead nodes handled by mas_next_slot */ - return mas_next_slot(mas, max, false); + return false; ptr_out_of_range: mas->node = MAS_NONE; mas->index = 1; mas->last = ULONG_MAX; - return NULL; + return true; +} + +/** + * mas_find() - On the first call, find the entry at or after mas->index up to + * %max. Otherwise, find the entry after mas->index. + * @mas: The maple state + * @max: The maximum value to check. + * + * Must hold rcu_read_lock or the write lock. + * If an entry exists, last and index are updated accordingly. + * May set @mas->node to MAS_NONE. + * + * Return: The entry or %NULL. + */ +void *mas_find(struct ma_state *mas, unsigned long max) +{ + void *entry = NULL; + + if (mas_find_setup(mas, max, &entry)) + return entry; + + /* Retries on dead nodes handled by mas_next_slot */ + return mas_next_slot(mas, max, false); } EXPORT_SYMBOL_GPL(mas_find); +/** + * mas_find_range() - On the first call, find the entry at or after + * mas->index up to %max. Otherwise, advance to the next slot mas->index. + * @mas: The maple state + * @max: The maximum value to check. + * + * Must hold rcu_read_lock or the write lock. + * If an entry exists, last and index are updated accordingly. + * May set @mas->node to MAS_NONE. + * + * Return: The entry or %NULL. + */ +void *mas_find_range(struct ma_state *mas, unsigned long max) +{ + void *entry; + + if (mas_find_setup(mas, max, &entry)) + return entry; + + /* Retries on dead nodes handled by mas_next_slot */ + return mas_next_slot(mas, max, true); +} +EXPORT_SYMBOL_GPL(mas_find_range); + /** * mas_find_rev: On the first call, find the first non-null entry at or below * mas->index down to %min. Otherwise find the first non-null entry below From patchwork Fri May 12 18:20:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239636 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 E94CFC7EE26 for ; Fri, 12 May 2023 18:22:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 49B72900010; Fri, 12 May 2023 14:22:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3D4E2900003; Fri, 12 May 2023 14:22:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 20704900010; Fri, 12 May 2023 14:22:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id EA53E900003 for ; Fri, 12 May 2023 14:22:11 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A4258120FC9 for ; Fri, 12 May 2023 18:22:11 +0000 (UTC) X-FDA: 80782422462.16.609C5C2 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 3C91018000F for ; Fri, 12 May 2023 18:22:08 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=eE9768Ik; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ujMYm2TW; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915728; 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:dkim-signature; bh=hgPz8T1WANsIM3jiTasywPGcohQqXRj1T+Dc+8WldZ0=; b=66EAK88Ivls4rucmYMcTdh68yrCPT+3RtCLzwPhGhb/McqEVonyVi0r6vW8ZSarPCFMa8c zX+lHSg6LmCQtybMguaXoBLl/kND5J7dMrfi4oRMXhK9CAjffNNh+uZ2wpvGXrjAy2T99I OjTZTGnMxWbvsc+WAwE9UDB7/4bczBY= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915728; a=rsa-sha256; cv=pass; b=j3V3Xgs82Tl5+Qs45hkles8hrlZqujU95XUnWUraRvCuEDveLrhwFfAgXidisT9kyAZPJ9 kNQD7O7hLxXnzbwg33gtBQ/8uQOB1xc/wCYr/Z3npuqUwcw/DrjKHNYozxfJz8QHARR0s2 60y4q0MYx7agnMrY0M6BmbA1b7QecVU= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=eE9768Ik; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ujMYm2TW; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4BOM002662; Fri, 12 May 2023 18:22:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=hgPz8T1WANsIM3jiTasywPGcohQqXRj1T+Dc+8WldZ0=; b=eE9768IkQLA67MoY+zYeuuj81UEV/AwHn9G2vfQpeQCPQPx03D8hzDQ7V1mZaZKfOst3 UCc/GZqUCRq2OlE+Gedcto9sIgwu8/2tO2nuvgrJnv9fSy89WOMTSNWHaaFaolS0HZYP vZ1up8jZ3/4CTo4G/MhrWe+U7gzEG0aHAx3ehA8y1zuf6Tl/JoquAO+PT3wMcV5UJi7d +5Wz40QNYPiz3oV6KZqTSBVyl3gMo+D3gthHUEt/B0c0F+6KkE9HfxXS9BO5sJbcT/4C FRaXyw+LvW50tCCQ0Dc/bXF+zHMB7etGurZoGtUiTVvB/33AgtYaiRmA9nN0IC8/q+VC SQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bkxf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:07 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CIBqZg018147; Fri, 12 May 2023 18:22:06 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf77mjmca-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dhgfXATd3qU1Vm/p26haEATcJmRdqnKgoIn/AZ+QrsjMbIZXOP6h5V7Gm5lNwnpLx9Dr/6e9jOqfUB6nq9HoqLkxY8bRziZzT005NzJi5p7dZdiCSTTfwh8bAnMF3gAc23SgeWg+n0wy3AOD5o7vQPGXzGSXLAYPzzL0KlGNX8fl2Acse77N98o+hmzA2ViUt3hZ8JNjwhoVsr1u///cB6qQckr3Ij/UrP1YoYiT3KQ45fEaTlI1Oy1Y/ZmSZFkHOrP9XyAsNVloaX2+P3t8mknfxtgmLg4RNz0UKlk22rwc966hjmhZ4UMQ45eF23fN+DPMVIQDhkqpupf/6AqcTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hgPz8T1WANsIM3jiTasywPGcohQqXRj1T+Dc+8WldZ0=; b=hgNjg7T7wuDGP6/CkAxlm+TLRk2fMqSkqht5gyKXaZZZZmX/ExzwcD2zAuNrJx85CSQw3sgtuocewXMG2poL+Fx9hlmidFa66pt2IgJg7T2Xui5xePx3D241bhEHI1ZzZoH4olbcfuRueXksL+uIVDCxPyP+0KA43xebZA8fQxkBBNuL/9V99j6BJ4u/fy0glrRbv03wAnPw8Wd08Boi3yQ9FGjVxA68f1t0XOqXe+eF916p3WisuVtt/Fx0St5Ijm2d1zGZyhsGn6yxOG2Lq3X9PHKMH/yxCG/IdIMc4Le+r7eysEe/pzkucVFg7nLeapjHBu9tw5F0l4+77Uh1jg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hgPz8T1WANsIM3jiTasywPGcohQqXRj1T+Dc+8WldZ0=; b=ujMYm2TW9pk/rA4l9kTprU36KPEEJu91PNPeMDc95iUh+BE5tN20ZLEIHp9AP4qMiLKfEtimbJFzqx5ataEURY+b1afe48w1R5CqpFvRpJ46rZ8hbKxchL8u3gknJ4OT4H7lSdtAZmh1mmdW3P+vNZqy3hQIMleeFoetESX8f4o= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:04 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:04 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 29/35] maple_tree: Relocate mas_rewalk() and mas_rewalk_if_dead() Date: Fri, 12 May 2023 14:20:30 -0400 Message-Id: <20230512182036.359030-30-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0348.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fc::10) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: baab5718-671b-4955-1788-08db5315c9b2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zBrDQZVjwlvdp6GDcwXVKhBhzlVyu8/3/tD0An6IjMGl0bsGGQ/JY4y+RTN8kMnI0TjzFHr40DEEM1ltxQinCbkTU/mM8rbQqpHCdQ2mNxP2wWiPseM6Af/jJNt1eHBt3kRnfPwfxTgoildEr42V2aOK78pZv45c6GA8XUGnFPHxZJ8SbVSfJbRZIKtFclkKoN550GAvll69K7pW0/9WTW2hn6lUeRFpbE9OtizESWWR62c7dL+q7juuH6LBHf/OocLiTH2lyrgS7s7XquZoosODUPJAhKpHp0HgsP2yk2/d2vmcwPHFBZpkTHNsKgvn84CaCpnXk4sWOJdMXc7BHlHfhWqRxa3QLNT5frWsVFyO0qnscYTEdZmNxpz5s9ZV6KAXlL/KFVU0/eIIEL6qaCtyFtv0S10OcIGa/+BvRGuj2JQ+kb9eTWjAYl1O4/cyXtFBRSSDuUBozEOWXBwmsZ4bJJAFLqJtChexynN7UFWdWSSAYWVZB5BXsqMsKYtZP99cabLHVjHtAWFDfYEtui9cpZgM/9F6hnzfAEl5nwUxkiJQ4eGSxLUZiwn1KEWd X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gJJO1CfHOir5z6LqIB00TrJQ29ljAMoNFPyCnotCshPLPvwycjGxhBWRi2wruQGMQw+Aq05rSXkv69F3Yp0/cQb9jJJwDQsOfbtS+kqtwpAklATV/bK+XbDuSrn3COk0PUc84PPOyK9KT4UiFXjEv5vxo/yUFKKmmKgLgg6+bhRE1RFDHISrFnqUy+697Moei7sZU18vgLHpTcswYOjdtgIqYN8CjwSDkhtWoe7HEv7QoWArNCIrP+jl5pjSg78+sPzF0VUA1OVtVD2qIZIPcRq6ILEfymMoKazeZY14lm+p8hr7oPpxFy7uQzAWWCT4cas/PhB7cu1GuJhDx77EVGdM73/K6uZV7MNTvQXP8JXD36Ds0cW6MQ2dJLHwLyGukU1S8+dDgSXxNeLkgniLfBdySRGie/+Xi+ztfC5Xm8AlI4ZV5tAfKhrFs6m9PdNfdAKlK00ev6voXHuqG+01NXNfkQhv7oPp9amdEPhH1c0pyxpZxswA45Ca4JXqyXzFL+OOYRfsqB/E8lfBVU220yqT/EvytzEx++NDrLlGvwGNvB+IXzMWpKrXoRukQYrM59XXIC/iDEw3SZIWhOa0SJ9IkzlxG50I4Pi0qLxfrqg/1QHvVCSLf4SVKaEVC3ZUEPVna+t38yNE5lAFoX7uGDex+BnTM/57hTitffZyP3EvFgO/aiokSF8AubPoyc4PLtsUMeM0M8wBeANAwWSdgPQpKi7w3hawXLXaUsnhH+omFbiinLW5I3WoyXz39Vjo+hE392jZVQuK6PyMGarrvGniNxa0ZvUpU6zX9hjDW7InS5FopEOHhW6L6oWn9F0WhTi2MCtmY2Pt4heCgL9HbdyK2Sc7SJzBg2yvCWvB9fFPQw4lMZY2kSFHVEGzcSvxzt1PaNYpzva9b5War6w2+u+bEKMTCq5OCjH5nO+A3zG4Gaudf0XoVKRHgI6GC1U4VdSrtGkzUmY8xA55uQLsFKZfvclkl9HrZeQBA7vXF32INLRu5Q+KYRg2HYurJAYyXqXA9GD8ScD+9z6vENXXsUfgx8KlNTz7cb4ITJE+J4YxzP4X0V2URt3KjxQ3VU7X7eEn2pg6zKems3MFNs6D0pW3wrdMIPEY5dEdIIFG/wCwBUyUiNUeFuGAAoYvoyk3JkPrAeN+DFL6ZZv1iIFUaHswjJ55Npi8xsI5SX2cCyH7sxKEfGvYGPDCSi8MJ4PABY7f3fWOIkEwYy2Gsr6hOWtmp0h6/N3Gj24XljYJcmRJhySMG7WQ/6NROuMKkc3vvriXQOsjNnGbA+EPzLadqaR5t5bfbd+rgJSc0ZBXeiKiQsOS54J7dpq7fom0xPdWFfpnH1c1QC1nFZG36jF8k5FEdDebsnHbJruepdCilOBh0Eu+6ZiRRWpn5QN61HGcvJ471qjH53BcWKLGWZJjjSn0TFXdU6wqg4YhCVM9F1+shqPw2InmNAeVPc4Pra87monUgKirLMmfOH72+HmuQitPFmnFYk1to+eapRVTkbagftabm7rOiRNoOLeOqP2LTQhNr6toH0aD5iASzK/7k2BccL+zlIeqvOa7u2UmE4+Uc4gLwaI23UuXpj70Hu6bLJFroC3yZDxMRsNI882CXg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: HjLvLo2iwLM8dhOBk5jB6IFnzvIWFN0K/TMXMcJEJz/CkDMKIfZH+WEOQZ3uHRfkJ5Z2VK4i8xb4JoamMgEzNbbssJci28WtDE6Yutyo0XgZ0EQs66rQGrhGr+KKkuIonOW6WeP6HEUoNgGqE/o1O2G8UclvaRyJuL5NUjQV1InANstT/ud0pWulH9wmE2KwZybtiql6iKgK0U35xWff4vfR07nE8zyjqkRDkrgCVF33sjgJqO11PXYIn70ZRKYAZYpsiJFyVvvsaoIqIpaIvzOJk/f519vXZjFqc5a2CnWfV1Ca0GKUdpR12J7ZGtdujusRo2+u1lzHCkIcKYWgZP4vt09cIex+wwtjbvBLrMQL7jZsARzFMvqgveCfGj4FgW97n86pBFRZm7TUMBgIVc87s+AeUemlHxET3awWlSazxFP/S149g0D+dz+8QQughZGmjwkDCuL6+Qfrrt0dKH+R9rLUGFObcMCWlJp494DBJpbKlEamuXkkrKM+p42jiuVEPNe/8TA/y+0U16hY2HtNZBROaWk4ZUIcKmGlLYS3/yl+izqBkj2YkWjvz8z7STwEgKNtd/P7SJnMiwwChjDZBguUP6H311+1+pjPK+mHzdsfxvkW/v76lF869zCf9KCO/jgsuZyQB2LCEIFFSbW/lXJAre1Y/mzvom1GRit0Pmd661SY57C5NK1dSvvzftVt6fpodbGU3Oj5+o3BuKxT23vi2KvKDZGBzdLtJnQP0xi1LoOCnabWBW2Q8Tepp54ZYKUgpzhGc0NWlrXd1Q00lTUdXZeZYIDLs+BdbMK5+z/1X7CUAEtkzon7nfayTKhWa8K9RcaybK77GwaHXknl8wnNzOgd4jcJLWLdn8qQi5uUr688+PwvcULacxJs0DP2qO0BIyQ4yy6bHQtuJw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: baab5718-671b-4955-1788-08db5315c9b2 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:04.7946 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aZwji4qVgGazXVT++eVgpfvcxmKgNushUMGV8UHe1ilbqykXq3lB3heqPTdap0sUN0fTGkygi41ieCs8cQatWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: qP5PD0-t1bzF0cOQdCVGGfgbTd2gFRFa X-Proofpoint-ORIG-GUID: qP5PD0-t1bzF0cOQdCVGGfgbTd2gFRFa X-Stat-Signature: mdfyebez7ukme5s8ugrfqpefyh1dwrsh X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 3C91018000F X-Rspam-User: X-HE-Tag: 1683915728-674926 X-HE-Meta: U2FsdGVkX1/JqwW8QTXAT3G748hbq5R5JTFguWriP5hsLsm7eUW1/mhz/NUtkfgBaYEL0pDpFW33Ltgobg1qFKUNkvkIYQnqYlYV0Gz65wDhwRNrfl/43yY1ITjcZ/7HADGBMjQGQVA7Ia94ZUusDcQnpWrKoEN6jKMInQbJh587J4GOeJN+KEGHIz7v5knnVmHYTIzohjAgsEkm5ui694nTUzv4UWpCIlbR0WaajVvdE+yfen0xLScIi0NZXPkpOYZ+tqiVGUD3nlRIn/B+GqP304Fra1SJzWok6CCXVfl7GsJbKwMUOUHzairyK3dzQn+trSOFXDMl3Og96cIa7HuU9FmG4ztTuGZhXzIFauPxGivdZcdpBW/zzhVK7KRhx9Sax5vqbweZmCWXn1ep/hqUnX9LPvLSELePq3x58qx/pqjCy2DSJzTDd5hAI1BBIp/yLAa0AmCbnih/um9MJZO16sKZ1NoBUKCZXCdcSJ4W0p0svqsSIfMio5+Z5Fmpp+l0yiQk2+0A3zJJq9KfTFU5AZxsnnAkCuHC337oCp90PHSAl2F5w6oW1rhukgKHEX+6Nuv0yNFbDtZdFo+tQcRvQRhi7syR88jLZNLoVO69Fkdw8ZcR46QfrFcjvKLp0XNpOFC4bCMGi354QgIqna75me022gzIoiBsxbDtDZ95h+gpW8KJzmTWLnGAGs9Q9pifCkH2JMZ6v+1Q/dp9ArdFkl4LW0/41L+NUvKqvQicmBpYG33pG6LaiJLx0ub1XObM+3pA7+mqf/H45sjp5w3RvHALuCn5FluTGHmO3cfmIzBGwi+IBaBCaupycxyolTiTNtNc8yOPqKjCZ+ZTPbVvh4+1mS1aBc3zP/FINqscokG78GPE8ZdbD4umDHJrtB7mDWzqAEYGb66wwS+ODdXcMl2DpE0jv1CEIP+EKp8yRmBgq+82LauC6BPIiVI/BcTqKBKQJzwRr44loYQ /2mjlGz5 R3B611GCX9T68C7VBg9fB8HusQk4x70+HY2sB6NX3tf25oGjb/aTv+tA7AT/uDfqdbAJ9x6mOM2ZqfYMXT0n7QmMImv/tWvFYLlXwNh+y3gLvRYjTtSN30poxr9l3gUfyoSYo8AgHtkfcFSfRLkMbnQ8n0j3d6M1ar2F0i2xaBUE5zBrGetBhRi0d62bQX07SXkNHtz7QvWkSltYi39jzFjAiw9OLIbwbEZERrxuP6a37chHldYZ93AH0YL3xSZG2oLSsduisDmHHWU8pzIZxTYP1NQHgXsq+k4bihxEB1nD4Pwrvxdgx2hEPfWxbcTKvd7N0WBiD4VgW1hPB17IlRoWrzQZZgAVOxSTJFXplKmLESp2GL/APDMRu5fJLX3aJId7vyXwbkI6gOK1n8CJT9G/2f70pCHGJWSzTYekXKf1yzzI= 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: These functions need to move for future use. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 10b9471a80cdb..c69418b120179 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4497,6 +4497,25 @@ static inline void *mas_insert(struct ma_state *mas, void *entry) } +static inline void mas_rewalk(struct ma_state *mas, unsigned long index) +{ +retry: + mas_set(mas, index); + mas_state_walk(mas); + if (mas_is_start(mas)) + goto retry; +} + +static inline bool mas_rewalk_if_dead(struct ma_state *mas, + struct maple_node *node, const unsigned long index) +{ + if (unlikely(ma_dead_node(node))) { + mas_rewalk(mas, index); + return true; + } + return false; +} + /* * mas_prev_node() - Find the prev non-null entry at the same level in the * tree. The prev value will be mas->node[mas->offset] or MAS_NONE. @@ -4676,25 +4695,6 @@ static inline int mas_next_node(struct ma_state *mas, struct maple_node *node, return 0; } -static inline void mas_rewalk(struct ma_state *mas, unsigned long index) -{ -retry: - mas_set(mas, index); - mas_state_walk(mas); - if (mas_is_start(mas)) - goto retry; -} - -static inline bool mas_rewalk_if_dead(struct ma_state *mas, - struct maple_node *node, const unsigned long index) -{ - if (unlikely(ma_dead_node(node))) { - mas_rewalk(mas, index); - return true; - } - return false; -} - /* * mas_next_slot() - Get the entry in the next slot * From patchwork Fri May 12 18:20:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239637 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 B2661C7EE23 for ; Fri, 12 May 2023 18:22:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B270E900011; Fri, 12 May 2023 14:22:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A8CC4900003; Fri, 12 May 2023 14:22:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 83E56900011; Fri, 12 May 2023 14:22:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 68E49900003 for ; Fri, 12 May 2023 14:22:15 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 47A7980F4D for ; Fri, 12 May 2023 18:22:15 +0000 (UTC) X-FDA: 80782422630.06.AC03326 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf06.hostedemail.com (Postfix) with ESMTP id C8903180015 for ; Fri, 12 May 2023 18:22:11 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=AC9vkotL; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wKbTWKhm; spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915731; 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:dkim-signature; bh=XgTAEgOBahmZoVkTBhCJQdosI4AXXEwWd8kwuVIwA/8=; b=Dsl6gPBatu0shzmOB22jT8smeifg8etgf+Z6UP4zHZQtPsrhaWHd5Lmp0yG1V/IJPO+sGG rUcDNMYMwj1fKS893MHcuRldkhwgMSL/GNwS7P99zUFS3SGFm0wWc+Fb+NWhc1GmUekL0H J2+LCWtVO8aZFtbppQagtd5TK5UNfhE= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915731; a=rsa-sha256; cv=pass; b=p6/hYV+wqHPW8O6ccasEoUOw4+l+7z0JxvRqQOmYYkbjci7mu/PlnYAEY6D2y/I8RLCDmQ AXeB7qV0iWfMHVHBNtYqHtZjxq5+oRIOdLvNFyll1crhnuEuouu7KAxaFG5E1en2yZXovm eGq+OFC7BuGzWYxsp3HCGNNcWvRH26I= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=AC9vkotL; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wKbTWKhm; spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4ArN002642; Fri, 12 May 2023 18:22:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=XgTAEgOBahmZoVkTBhCJQdosI4AXXEwWd8kwuVIwA/8=; b=AC9vkotLHXQHdzHJbPcD7wcC/5+f2n1Be71PgqHwUZcTC8Kmx4pOWW2XVxW+mPW1NDfK FOmSEOV0nlWFUb5ZNcxSSTv9ZxrluhgmjkT1d6LUxBmcJlwZS8B6Fsc94iVncCKL/aVv gDcBXtZUNLBf5XpBFuELjzW9rG1xHfaZLTuGZm61LHQZFt4IGVcYg294ES/VxURkc2zH Mjc+UrczsdV/kk5t1vCPlnsl8E8BROBicy0tI7Yt7s9kDheETyV9o5OULXLbzcH5uxUN EYjvBAExZiociAr9AtPc4EciktucqHjmwsaidcWIkhrIJULK4XHB5dcIAB6EHjq3Qpbn 0g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bkxk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:10 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CH2mTv014331; Fri, 12 May 2023 18:22:09 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf8316cqx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lGq5iUdhVaF6YyTzu8Xhz1oWNbNm2dAU0jv9ndDpuJPhefwuJcaRvXc7zVog1Zur/r4C2Vj0eKB5PmtPeR7eAlpXfM+MRiVelyyTQEupXr7UIJK/hoPOoSe6UaXpgKS4tBErYqZd85Ty9hLuBDMWfsUTFbEjHKxdzwqavf7KM1dDJKCXiNGGXvgAxyI674m9Fg4kcVpqkRhdBW3YGkcA7gvo2Ail9G9ckrORHCH8s/fd6zhvA5ouGd6/l5CsnUvZT3PbZGSmusZGwxposq8Es2DQYIpZ4N+6kEuayhSz3f33qvNfNoz6OnN1xmTRngn1SPDFyYtdEnp8OjobEQWgqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XgTAEgOBahmZoVkTBhCJQdosI4AXXEwWd8kwuVIwA/8=; b=aiDtqf8Rc5vNhR+bfqjh/9Hk6jW/VrgXeeGuXf1fiAXGu1NOnvXjryhNwfkcnzBLIAmuXkxrKoUl/cc3e5DJsc3GkPx8XhIO8KJzhL7G+hgc+RG/7+7vNSWqyR7I6RVrbxIkSqiiOWrbPjKWxmLg9g2uo8ezhZZk3e8PJk1lxf3sNvDUIJtgohDn3e1Zw5UPJjvkEmw7o0LjnSrr+Lw65CQ0nLm9UMiHCk5flemNwoSzCs28teOnYbVA73cZjYzIptLkgWlTOVtDhJPLQEB+acsjTMBY6I3NJd1L5c1BWmDq0M3sguwCnv9S7ZYkCGv/kQxX+/2ogt7nfi9jURoIHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XgTAEgOBahmZoVkTBhCJQdosI4AXXEwWd8kwuVIwA/8=; b=wKbTWKhmgMi9UXxBhfrGx5YWF0hFdodmwPPa+RdZP5J1dPWfooFrIEhfFlxDDemBLyM9pKV92RbNk37Yf/cUtr7C7Klwf21hMYLxm6DMTighvgZRpjEpbGRls6oSsc2xcWHZpZ46LHSgzgqiHh0AEpQwXrALq/dOeW70Duwncxg= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:07 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:07 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 30/35] maple_tree: Introduce mas_prev_slot() interface Date: Fri, 12 May 2023 14:20:31 -0400 Message-Id: <20230512182036.359030-31-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0094.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ff::8) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: f59aea67-cdfd-4c90-ebb0-08db5315cb31 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vefVbKiND+3Atd4rc0XEpjAXGgbJ9BIxiykvzFvCOEiSIYiO1PS4IR3/eHa9WSeWPG9FnEAF3U3HpI/35IjS7DQUFDOmmXKZPQHQnLR1dIPs//Jvdu3OSL3ooeNTbAwzoPNdRai7I/rdiGokE7ostnwBJItkDME0DlV9n3+e6p2QFfN/YCWrgOFE4pKZ9AtI8RWYDakevepxLWa6s3J3tnjX0PoKiejL9DhQJrG9BqzFxmoAfvmzfFn2HAOZex1kSvNDn2JYDdBLvecp8OD/86eq2AKq9Rnxu9JOs7thbFYGNFmMA73BHBiqTsNnHC58iIFobUqs3gkHoK+88VC/vjBhlrTkV9lOQJ/xyWxoKpn0VSlkkDGI7E7W3rVtSKpBGnUlJF+FFe5aseaP5MdfGGlGnwoGev42iaZMFVKi4DPdV72Sb48UYrkxQbIpfRjC9GKWCVCNAww/DdVkfarF/WrGm9EF77s2ciIwd8zKq6L/7TGsZOGZQpdkNo0Fv0e1AdnqpWQ6z+WsU/ulaewpfwLyF239LKWBZ2dsFgwwhWzoXKzbFsXJl3bptkJikXVW X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2inNoTtFt0hBm/bV/HtzONp3Mpfscgcouggp6HcOKnxd/70pIfk441hx0f9b7QHbEKtFPdJE49cb2DzStYnffVcoan9Sdz/5ofwZh/kl7xJoce+6/CgJwbd2Wzb1imSGY+f+qobn5ss9l/9Z553tcJwZP0o4yl3230/3m3Ov0RwpWl+BZdXBRCRsRjRMqRwhGhcepVgJLOGY/+uHMuS1xV4yb/SAVry7uKSg4VHosxe1eFliWupM+YBw91zjXlPl4vB0NL5Q3c5HYiS0PnYLnIhavngOf96Run7CoFAWLqOzXHlxasHpPlqm2M+kZP6/zm4HYwOMUE0Ys+s1TMGvhWJwVt13gziPxnVY3n1elTp6OwRjNvoKYOga6C7ix9Ixgjja5W1ARYuu9NK+r+qytg5m+RPlBjAWhtgwN9dO+6KnCvn8P9dqGRdilDVXpiOzlmHNq8hl3bj/uTlM571GKEtfBGcvobqyLeITOileQOsL4TIvF33AylJADxlQXCpRiDSrTrSDhtWZVjMeLBJ5/YAdES+uIep10BuK89B/L31sy9pKdqpTR2BCsRgc2T9f3L98DqTP1zH6fI634Gu3wYMIenkG96+qHBaKfEl+NF6l57Tu2Au/JOBgoJsGsY7DKOxG0LV/mS39+it8VXJDhE+MPSSQUw1swtsDEHZwLwUDTFpYK/HDnXOyJ5OUjh7qNySSP1I4rfAvi/7nP2MKfDCsW4KoSFCe6htt0+tZIZhIX82DaLMivv2gGeNQb/JRn2/JugBoleYvJT1A3ejZWvYJ3Q2QcgTd2HwQXhaV6NgCd+j4jmz9XpMMkEhh4FHd1zp9vMEfvHZAapJUfVKPR+6pb3edHTNKbnLwZXCIYn49lPpWQQmH4gGHvxdsNDRKqSJkiRWftR4FkrdqbmbeDSFb4E/URU9YR5yNPxwDOrxDXQNXlNvrYohd+CiJVAHM4aiKZfchV4ogy5DLlDu5TeuRaYqmQoLcjxFvDrozltzJgEMUBtiDqxSEGsbUbQRaX2SVqOxFhyY2WkX5OeLMglSATcuV8ux075fYasUg0yxsAh9U6dSu8achvOai1WA3GqNpOTGikJOUcUNww25iANzSI4bgfVbUUSSjxz7tRWpDwfjnAHHpCRszhhc+W2lKR/3ZlSyE6jtYgpUPhFg7fS/qtExRDfrG+ibiS7Xjte4CIFmVnSO2+6UZc7PGC1mvKNotpocD5cC3jB1bG+e16HNaQAQITTmsM6INACmTXlfxbc27FqrCrkz60wYxG0EaRnv0d/V4o8FrTi8PICuVHvkVOmt5kq6PcBGhSSKyB1xNY1GOjVgIk1BFYSUX9+pf6FKGjvJdIN/lDy8ZPEHXFCGfkBlxjeKXTkt0kzMnPB40FyPEls3jENujoKXXQgdWx02If0dSjMtYQqetw+B3e9UIpf72SO4u7q08Rj620CaV4MOxvwvDXcJv9X1wTNL9cVdzBV0+MvyiIoX94+AuKCW1CrUNGxb8H5GF03rOSn9xYlGA5w9TmzTjKvsUeNo3YnSl4rc8H2i4oBYxyrajnJVfILRTBvUEHJ04dg7K6RAvKqXM2EvSi+ZB4jCHwV6Xd2f7B5PJNN8GdmaDh4GirQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Apq7z+y6OtuIKhm6wxaoQWRwBXj4ReStswUhko7GVW+h0983R/jq1iVtUFKKlD+APFDvsnQCMoAQkeGFVqG+sd3Dm3cyHL6jY4JmpouobiDSESeIVsfH6rtaThpXYS2+6aqF/gywtZuRpMdRrcfFwc1K6xR03gJK94t4odzvjOQUznzjnsxsmWW6qJi6MgPgd2GT+cgC/63pHyvzOw64wWVM+0/kkdcyru1fUe2sTfAfeCIhgQNj1RiRcsJ1QIWp9EPdnjYU13ZlmBGfudULJ4e1UHnuQVZhyyp+ipvtffWYVGfBXAH86Q7g2k0EuSJaIxSY8JbMqPDSOppNahfaEOUy/5Azulktb7JWUHRiAJ23ZlFJSh0axBLH+AnSx4Rtt/W7xPmKg/HdvIVyGM3iGX1b8mHtsysZOQn9cfjHlDwO6uEcUs513FURfpMCUmzTWv/LtniubFQ3iFUUgFGnzjRyFAU8PNe9Q2bbYIibE076e6jioAoKH2X5PKOf5mpYCs4XF8jaRUtuw98hc6gD4bJD8q/KZWf2Kmm6NkMQoEqOOTpFl8X4w+nfkkdpaYGFLs0dse2b2lX8SejXF2xrna8CyXH9tjkZRSaZLbzh5TZT9Rlrar3nJyhnz9q21TfIfQb98Mtn4DwbCqWJK2MEPnPlmBp8x/MExV9umPYUlDqL9pgZLuhmI+C0ph9MnTxBKqc5aI75qY12Z1Y/UwfxEfS/SGoZ2wGq2v28mAfifyuVo12tilQZ/5wpysKVvoetT7O+Cz55K+uf88C/3MkKAMpNGSpkl1YpqPOZ8qGIQDuhQllq3ZpU9QwNjyuAwR51wWuEkR0Ri5aNm4zAI1nxUOu46QminKROthl32BhgvsJ9S6PrB5YLahPLHzsdamKoI/x5FZXD9LrVUyC8u4TBGw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f59aea67-cdfd-4c90-ebb0-08db5315cb31 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:07.3604 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yXH+R8BBZpvlWUX3bChksYNRJra/bdyrwjliu+74vCdV+sQoQD/iGG/YLwmYn1jUv9HxESomsYtTafiohifV2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: Hx6wEiZWuaReDwrQEyYeIAZ1M5o69O83 X-Proofpoint-ORIG-GUID: Hx6wEiZWuaReDwrQEyYeIAZ1M5o69O83 X-Stat-Signature: 41qimm183ahex9kfshoa3nxdr9cif7dx X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: C8903180015 X-Rspam-User: X-HE-Tag: 1683915731-725220 X-HE-Meta: U2FsdGVkX1/XW9g3hNuWRzO7FIyB6zzq2bMDN/LCRjn2xSaFP6ZIYZ1epUBY+W/9+zxW4Oevfjil/+IuawB81Y0/v0tl1EeB01fw/JBw0bC2/QjDPcQxNoEPXIr7djS2aMwRFYNmEVLwF8MLjCNT2xXUOHjLEhV9Mg5GYkU+iADU2K0lTkcO49a1eQ0lK5J1lRazpmJG0woxLGtx5TutQSLpey6A8BbgyUDnQ6u/WPM1Ia0jTMGJVij8XLPKvwjvyQbLSY9auRgPcGRurglVsTtHcUz/E7h7HMevEgvf/CEyNODG5gHXk8f9xvBBY/pDSCTrg/Xsd61Y7yA1iaKBxdWrSRi/c8cQVf0vgkj72PV2VMzHDL3Fin7sXgPP9PwVlkLwgf7KaVCy8RjSJOhigEaGZsU9UQ4d1cpRUbyqTjKRxP6VBt3G/OFf6jDk+8skONFLhhAvPdVqPVNwK1nfPwTcuAv585OqHpTYJKwbZ+bhZQNHqoZ3AkABI2+n40eqBIlSvCz8EW62CNQYoDs/fNf6/q5e1VCY1gPmdsAztAqfQjxaHJb9fEvJ2h2CbvxIMbZTxQMNggjk4gnoSW8+FS+i6mICP2bKI78cBl3fHofV2rBmqq0YMQhWawwB+unaPN9+U4Op+QuNJ+VWMtNhoABDb63J4PsXFLJQpXdyFsEvx+IvcWnYqOx1O7LDAvo5DihP1xDqsWHWCe3XVXkUZxPnITJpbBcAx+wNExeaRXgSGPh8gq+H0RefDOaCZGTn6nXlhX473avtJPs0bgkIRySVPH2psLUDzYpvan8PuNez4uOF94Rd4vv8T8w2feQnZd540A35FmHSb/ovY4+dSIuEIcEAuMd2UsS298f2ihrwM3RBf+qTqNvH4RF6XblCfoE95MPvtxGmK7i1LUFruzP5Q/Ut5H3euLE/WGlU61aWpEvnFosDaf70J4kkIHHQR/ojIKct5jHtBmeL2yz Bw/dTp+E J0lrDeH4hJRnkciINChHdKet+xHCXjmhZwl0m4U3Y8RmqNJDiq1H4kPDxHh1ktexleumV/ZY+F+bJDqQdSPfPFr37oOcefpyZGH4h5eDZvOHvHbn042z18M5/Jhf1OhALZOeI1tMSb5LxzcBLhVst/oQLX5nKIAsanV5jDU6ynqlUtv3Lh4awxqpV+z3EzJKiRpS0EjoUuXOuHOh8Uz53lDloUjPtrB/2Wy9y6LoZKo2yFHNQeNTp18YjTBHrTCfRAMdmCtLtKq2QSNB256vyh/LYjrWEqFZIDjnZlQVHVifxews84priJvjUwu4+KOju3i6noFU4DeocLjyRosLQEjp80Yif63SJtw35UikR7MK4b+X3MDHyPWapBsMvX1HlUiJMvY5GK2rh+9OQJQX8PHhexmfp7KygW3LvTNtDIQjpltQ= 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: Sometimes the user needs to revert to the previous slot, regardless of if it is empty or not. Add an interface to go to the previous slot. Since there can't be two consecutive NULLs in the tree, the mas_prev() function can be implemented by calling mas_prev_slot() a maximum of 2 times. Change the underlying interface to use mas_prev_slot() to align the code. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 232 ++++++++++++++++++----------------------------- 1 file changed, 90 insertions(+), 142 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index c69418b120179..f88c60f43afc8 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4531,15 +4531,19 @@ static inline int mas_prev_node(struct ma_state *mas, unsigned long min) int offset, level; void __rcu **slots; struct maple_node *node; - struct maple_enode *enode; unsigned long *pivots; + unsigned long max; - if (mas_is_none(mas)) - return 0; + node = mas_mn(mas); + if (!mas->min) + goto no_entry; + + max = mas->min - 1; + if (max < min) + goto no_entry; level = 0; do { - node = mas_mn(mas); if (ma_is_root(node)) goto no_entry; @@ -4548,64 +4552,41 @@ static inline int mas_prev_node(struct ma_state *mas, unsigned long min) return 1; offset = mas->offset; level++; + node = mas_mn(mas); } while (!offset); offset--; mt = mte_node_type(mas->node); - node = mas_mn(mas); - slots = ma_slots(node, mt); - pivots = ma_pivots(node, mt); - if (unlikely(ma_dead_node(node))) - return 1; - - mas->max = pivots[offset]; - if (offset) - mas->min = pivots[offset - 1] + 1; - if (unlikely(ma_dead_node(node))) - return 1; - - if (mas->max < min) - goto no_entry_min; - while (level > 1) { level--; - enode = mas_slot(mas, slots, offset); + slots = ma_slots(node, mt); + mas->node = mas_slot(mas, slots, offset); if (unlikely(ma_dead_node(node))) return 1; - mas->node = enode; mt = mte_node_type(mas->node); node = mas_mn(mas); - slots = ma_slots(node, mt); pivots = ma_pivots(node, mt); - offset = ma_data_end(node, mt, pivots, mas->max); + offset = ma_data_end(node, mt, pivots, max); if (unlikely(ma_dead_node(node))) return 1; - - if (offset) - mas->min = pivots[offset - 1] + 1; - - if (offset < mt_pivots[mt]) - mas->max = pivots[offset]; - - if (mas->max < min) - goto no_entry; } + slots = ma_slots(node, mt); mas->node = mas_slot(mas, slots, offset); + pivots = ma_pivots(node, mt); if (unlikely(ma_dead_node(node))) return 1; + if (likely(offset)) + mas->min = pivots[offset - 1] + 1; + mas->max = max; mas->offset = mas_data_end(mas); if (unlikely(mte_dead_node(mas->node))) return 1; return 0; -no_entry_min: - mas->offset = offset; - if (offset) - mas->min = pivots[offset - 1] + 1; no_entry: if (unlikely(ma_dead_node(node))) return 1; @@ -4614,6 +4595,76 @@ static inline int mas_prev_node(struct ma_state *mas, unsigned long min) return 0; } +/* + * mas_prev_slot() - Get the entry in the previous slot + * + * @mas: The maple state + * @max: The minimum starting range + * + * Return: The entry in the previous slot which is possibly NULL + */ +void *mas_prev_slot(struct ma_state *mas, unsigned long min, bool empty) +{ + void *entry; + void __rcu **slots; + unsigned long pivot; + enum maple_type type; + unsigned long *pivots; + struct maple_node *node; + unsigned long save_point = mas->index; + +retry: + node = mas_mn(mas); + type = mte_node_type(mas->node); + pivots = ma_pivots(node, type); + if (unlikely(mas_rewalk_if_dead(mas, node, save_point))) + goto retry; + +again: + if (mas->min <= min) { + pivot = mas_safe_min(mas, pivots, mas->offset); + + if (unlikely(mas_rewalk_if_dead(mas, node, save_point))) + goto retry; + + if (pivot <= min) + return NULL; + } + + if (likely(mas->offset)) { + mas->offset--; + mas->last = mas->index - 1; + mas->index = mas_safe_min(mas, pivots, mas->offset); + } else { + if (mas_prev_node(mas, min)) { + mas_rewalk(mas, save_point); + goto retry; + } + + if (mas_is_none(mas)) + return NULL; + + mas->last = mas->max; + node = mas_mn(mas); + type = mte_node_type(mas->node); + pivots = ma_pivots(node, type); + mas->index = pivots[mas->offset - 1] + 1; + } + + slots = ma_slots(node, type); + entry = mas_slot(mas, slots, mas->offset); + if (unlikely(mas_rewalk_if_dead(mas, node, save_point))) + goto retry; + + if (likely(entry)) + return entry; + + if (!empty) + goto again; + + return entry; +} + /* * mas_next_node() - Get the next node at the same level in the tree. * @mas: The maple state @@ -4798,109 +4849,6 @@ static inline void *mas_next_entry(struct ma_state *mas, unsigned long limit) return mas_next_slot(mas, limit, false); } -/* - * mas_prev_nentry() - Get the previous node entry. - * @mas: The maple state. - * @limit: The lower limit to check for a value. - * - * Return: the entry, %NULL otherwise. - */ -static inline void *mas_prev_nentry(struct ma_state *mas, unsigned long limit, - unsigned long index) -{ - unsigned long pivot, min; - unsigned char offset, count; - struct maple_node *mn; - enum maple_type mt; - unsigned long *pivots; - void __rcu **slots; - void *entry; - -retry: - if (!mas->offset) - return NULL; - - mn = mas_mn(mas); - mt = mte_node_type(mas->node); - offset = mas->offset - 1; - slots = ma_slots(mn, mt); - pivots = ma_pivots(mn, mt); - count = ma_data_end(mn, mt, pivots, mas->max); - if (unlikely(mas_rewalk_if_dead(mas, mn, index))) - goto retry; - - offset = mas->offset - 1; - if (offset >= mt_slots[mt]) - offset = mt_slots[mt] - 1; - - if (offset >= count) { - pivot = mas->max; - offset = count; - } else { - pivot = pivots[offset]; - } - - if (unlikely(mas_rewalk_if_dead(mas, mn, index))) - goto retry; - - while (offset && !mas_slot(mas, slots, offset)) { - pivot = pivots[--offset]; - if (pivot >= limit) - break; - } - - /* - * If the slot was null but we've shifted outside the limits, then set - * the range to the last NULL. - */ - if (unlikely((pivot < limit) && (offset < mas->offset))) - pivot = pivots[++offset]; - - min = mas_safe_min(mas, pivots, offset); - entry = mas_slot(mas, slots, offset); - if (unlikely(mas_rewalk_if_dead(mas, mn, index))) - goto retry; - - mas->offset = offset; - mas->last = pivot; - mas->index = min; - return entry; -} - -static inline void *mas_prev_entry(struct ma_state *mas, unsigned long min) -{ - void *entry; - struct maple_enode *prev_enode; - unsigned char prev_offset; - - if (mas->index < min) - return NULL; - -retry: - prev_enode = mas->node; - prev_offset = mas->offset; - while (likely(!mas_is_none(mas))) { - entry = mas_prev_nentry(mas, min, mas->index); - - if (likely(entry)) - return entry; - - if (unlikely(mas->index <= min)) - return NULL; - - if (unlikely(mas_prev_node(mas, min))) { - mas_rewalk(mas, mas->index); - goto retry; - } - - mas->offset++; - } - - mas->node = prev_enode; - mas->offset = prev_offset; - return NULL; -} - /* * mas_rev_awalk() - Internal function. Reverse allocation walk. Find the * highest gap address of a given size in a given node and descend. @@ -6017,7 +5965,7 @@ void *mas_prev(struct ma_state *mas, unsigned long min) } return NULL; } - return mas_prev_entry(mas, min); + return mas_prev_slot(mas, min, false); none: mas->node = MAS_NONE; @@ -6232,8 +6180,8 @@ void *mas_find_rev(struct ma_state *mas, unsigned long min) if (mas->index < min) return NULL; - /* Retries on dead nodes handled by mas_prev_entry */ - return mas_prev_entry(mas, min); + /* Retries on dead nodes handled by mas_prev_slot */ + return mas_prev_slot(mas, min, false); none: mas->node = MAS_NONE; From patchwork Fri May 12 18:20:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239638 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 B3E86C77B7C for ; Fri, 12 May 2023 18:22:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0C759900012; Fri, 12 May 2023 14:22:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ECDA1900003; Fri, 12 May 2023 14:22:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CD4C4900012; Fri, 12 May 2023 14:22:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id AA8FD900003 for ; Fri, 12 May 2023 14:22:18 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 83E831C706A for ; Fri, 12 May 2023 18:22:18 +0000 (UTC) X-FDA: 80782422756.29.2D6C953 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf01.hostedemail.com (Postfix) with ESMTP id 00B8440009 for ; Fri, 12 May 2023 18:22:14 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=drhECTdy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FdgvtUKf; spf=pass (imf01.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915735; 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:dkim-signature; bh=fsyQwfTeDy5ayKJkXFXTOFKtamH8A+PUI8fo/saIhX4=; b=wT6/J/jZI1dUZSkwJzm4tyQPVPfGn2VmCF0VPghSozsubRJfulDqO4VwW9TgKFYBVoVeN8 LIl95BupzHcwpVQL/ItFvguzPD5sKjfzDv4wVQkVLyRUVdKo8abDohO0QLvhrPZlrswSyM xn1cPCa4X8K6uPiL1W7rtf3ArPqfeSE= ARC-Authentication-Results: i=2; imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=drhECTdy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FdgvtUKf; spf=pass (imf01.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915735; a=rsa-sha256; cv=pass; b=jh4KWhkQ+Z2Etk8DxiG8Wc0s+bBt8NAkZ7CQM8KNP+o4FBZ1iyt1qVt5j1bZykJLq3zqjb aeb3nimZt6pajacucBT5kQtVeJ9h1TOnGLU0tv+1UXuHH3+mJ+7edrZ8tuHl+b6N4rXGfl KMxnz7LQIdrB5AVn/YyW6qxOGlbXr3M= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4h4I027772; Fri, 12 May 2023 18:22:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=fsyQwfTeDy5ayKJkXFXTOFKtamH8A+PUI8fo/saIhX4=; b=drhECTdyOlQSrOYPNtSa5Luy3B8rjVG2Dfx0LHr50+Ztm4FcuOqIJ37EXWH2IwJfw6GU DZE2kDCyHqrE7dVACS851TCRNcCrTMIdtdsHRq9YARs245tB8JJsprP87oTT2Jlmfcy6 hnimraL0TjKOCP/mmq5AroqlgWW2WhGz1ES6Wdc2XV54AZjcf9uL5icrzFhflmLwpeld eh9uyt07o8rsF9y+cA2SbLZvMhB9qLFVo8LwUEBJhm0vOrp2be4j6ZO3PAUY3wr/Xttl y0+m8IodP/RnpLDpMG140mv5Dk59tyVN9re3UQLk8DL8uYd5rqrYTSWXop6UoOv9VYWz Gg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf77cbpxh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:12 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CGbZDm011613; Fri, 12 May 2023 18:22:12 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qf81570de-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WrtTuIru4xhxYSrhW9dN4oORgZIxbacnJpqasAj52fMTuFUaETghlU5BmEstyx5TmfYWaSZpq6VyGPh6tMRhHXqiZ8/4BXH7c2tnhTvt15pK/n4IuGT5ZrTjqM8X8DE7GoYythItUn+Ny3ffyLRb5Sw2g04SFMU+kF0j4Wb6dWjHXLPvk+bhpmcED0bDgx6nibp2HyDpa+zmZ+Fq2MibIInnLbHHq7jG8RiVAU1+WEmVGW+GeJiYHKtKvJuSlbtTssCNIz3LesvQQc2RJAQ4B4cpnpdQaWkXYNAZtQmSa8VidOd5028kzcgpcKZQiY+ITTAyyJ4Tx8uKuW39B73ScA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fsyQwfTeDy5ayKJkXFXTOFKtamH8A+PUI8fo/saIhX4=; b=B8sxJh7mU2hMlFlaRQSjIUz82Y/uTrF3BfT64Y0XqQx+nx9kKZCqI4kR5Sn7hiJvETjinZ3CGBjvkgx/cL1jpRRY90aK4uWd1xVhZO7CAL/9hma08Q7310MfB8T4OWZlJt2WRa8y/UoqHhvDyBTZd8+zjlW6nHHNdDLfqP7rrIjox98eX4SIhoAs0TlzRhosgI6YVe53Q4RsAbil6KElnGTMTrM2GF4o30sw6p38VHILLVff1jcd+FknjjGyCgFUPh5nmxNIWgFQuR/g1uHmbeAaaMHSrqfAXhGI21+IVMkJ3GMaiG7w0k6gGuxuwjibgsmmJgcBBKaleXQ6tQaufA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fsyQwfTeDy5ayKJkXFXTOFKtamH8A+PUI8fo/saIhX4=; b=FdgvtUKf6Bym2z0tlRwpW1ibEkyx61wJ+fFRQfeIjwA+GYGmleQK4xYsvek1Fvc46t1fQHmiack+ltTri00bZsWDJEmJ4LCV55NRIW+0+QcBWldzR6Xf4F6Hm2uzRo2i9UlRWFc6mO0WRZt/ZmVPF0/dPcRFtaWmSCCsEz91EdM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:09 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:09 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Vernon Yang Subject: [PATCH v3 31/35] maple_tree: Add mas_prev_range() and mas_find_range_rev interface Date: Fri, 12 May 2023 14:20:32 -0400 Message-Id: <20230512182036.359030-32-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YTBP288CA0016.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:14::29) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: c4c38b07-bba9-4376-e8b1-08db5315cc99 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TqGMdrtbSBJ3HQrNsDxTUm5/wJSzX5Cw/SyBk0obokkLnzquvyzJ6sfmXJXWVm67980xis7hU37YN09xL1CnxFT/Ww1OmVoN0XQ0bRGB8cWDyO4o8uEHdQ3MtRQT9yr/DuPsZiPenqBBlc5kF2hz6zOktGnPP9FRViBFEZY4SHVRIX+fA4itkaq726grKna2YM2CHWjkSGM4QrqGxRGKcvoZuS/U0jJ9ohhRzvEXwNvwzyGug5qWT6dJl+XW68gSiOVi2k+fqx+e8QJ3PtLKybwN5IFBZT825mZQk63erRAcJmrwFH7KkUgKPq1ZJG5UHi64fFvBN419RCzpwj5MOih1w2Yw5M52LgYV5gU9qpCslAD9/2KsTYl8l0FGkS6purEGYFZNQ0HFjIvhF1pnQs05Nbj5tWFJrJo6Tv3U4rK7unnf/L3tix+aDNmOOz6K9vZN9ocI5zxLIwi999QBUJ53SyKJ8u195yXRPUlBoSRl/hLkCBk1rg9f7+pDaA6TS4SrAf2PdijMNloEXAfuCeJppmJGovIWaymQzJDOdLHjk8pE+I9DbMx1pwCp6/Gj X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(54906003)(83380400001)(5660300002)(6486002)(316002)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oIpa4+C6m1WFdbJRp43wJ45rKc7F4ma3Vb/VlkAYf0ypRZ+JZkYUNzM8Cu0DVDOFMV18IaWGaDf2FcOwQYj9u/ZCk9RziZ47JXJ8+0NtiPdK7JE9zi8jHp4p3wZ8b/1rVsq+QsZUAjq9TctabxdCXFycqKN3Cz9XlAROQIlCUp4WJkht8fmmMraSTkcg9DLPKMHCTZPhlS3j3NUmwIend+grKHUQb3/sWoNTvY+XAR2jZD10D7rnPwcnVYoLkDml2P7ds8zTTf1SUoG+uB9ppqs+jf5FFZd1SzelMtOD+KOH23ffR2jHV8p/0mbXfa7E7ooGb/UPJJ17CfTrQyOVT3cC8jLAd05Vt3hdpxsjUHfEXeMn8ZrA5F6HAqIpap0239/zlDm4sOvrDng7aFE3RrfVCIoxhMWnmlkn308Gfy9/18Jdd5XD+zoF0f5of6tMe32nmZuZFvEhGXQt5F8gU5Ou9RDaBweNsdyl83IUVXRp+SR2VdBMc96Gg3KQyVJbuBTcSKWPxeha8QJtxB+RO9pTy6QV9Hh/ISFnjbg38WptM+NFbEIg36gv4EudmkiUw/lJ3xu2oavX+oFaoNejrMifxCDrvLR4vlbo59q1bClSYbqaqjOznLrR+Efl9tz62EzB/yqK1pixAtUwJbOpXQeT8i7tcXKjlBDrrcEDDamn8kzz/Ub9FIdCTSL387LrGWNZgQjRhlIGox0vsTlwPlCy0zgJl6sE93KnumIg0N0AD+kOWEbRWlsi334B7UNv2PKlW7024f0Czom0uoa21c77RirVUz1Pruz2ZuWKbHWRBjBQGJFs6RewDwzh01lgg5nN6F6C4f7zopBPxrZT5YPEBU3xJiEXheRVzDXky1wxoN8+i66wxKSaoyHU+Z1Zr1niKP+uBdXVkh0h5BoQlJUtJN19E4p1kzqXsHuKeMm5+ZEK/8J1Q7LeJl6WDwwNrJcRdgSfU5FLA8/BRzH5JKFdX3z0po8DYkpkoO7jvStK7fJ9VyFxHVARTHmEfnnzyfhd9o/ZJF1SnxQVrQ9fXIVQ1VjnMuOHdVC2BWc6dvsEkbVU5s61wwgeAycvFxbwGCx3sZs17WY5ED5Hjb/LEKTtTw4jCFZDjmbc90eqa8e5mQZDztKx1l0LjluYWYvli9p2hR9xMcFH4Bm7aAw8SXmi7f6AysDdmF01Ek53hrT4YMSWII607B/yijmZX0B6Z8wIv+OIkzTIRiJAn/UfEJQFlcLt65DxdoZffIO5geehVPAKW/FxKRU83J38ODycN9MroPOjzHuLnKSShVLcZ3xUgHQIuiOa/VZC03Gv1niuuyQ0Ddju17rz/CiCinNz+enxWJU4twB9LmpJhcs98vOIsGOpZ795DburfGBRoviZdc8JDltXZw+bPz5Nt2tQPXhtfjwGii7ZtgwnzXM3yVR/s7kLZDyY3SrUaKRq1cf09jC43+4vWK4GOwmcAVt+deks+DysZOvJgEm6fhsEr8KtsEf/sz05fUBRZmk0i+jkH/Cz//YW287WbhBCvRhT6b2k7213wBDDsEmJkKusyoZVLFcJabapnGwpbekaa7fQm23FKNDpSr0rIwq+Efi5+t5KSzV9xoCAtsp1vwMZeg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: IK++kfRjaHZtIr+lgNp3AAzhEoRmNKUa6cvjUsp6TU0eOnwEJ97Q9Loq82yaY7J7E8AT2oQPLm82iGCuS9naGHJ89/BbXuhdMPR3up5FDev6aJs+fy7ForAspeWULHwYqkCdlFzUscl3FK4kMvW1i8XfE+OYhbwlSDYltbUIEmgRz8vCw41SuQUrwCaWPAslkuFU6rryGQFdaD/TIM6qQVmlOOrnhNtRaLwc9IjkEgjRmBBGsrrMuzh+voj3/x4bEnnHPMeFkT+Luoe2WCia/shq/BjHHefExJUNG01AhYNYhswmJ1fLj6DS+2nigiRoo0irbWlOncr7gLHJmHmGPLeNFsXdZjRNbXQ7diUmcN02LLnKXa37lcw+eKAXwkmbwCCM6tZi/WL/EdRFtV8j9CLIXLF+oz60RnI+iWeHOcQU9ZuKzJnu8yJdgmGeEbikPi0CsdiF7MKK6n0202fzsZAyV7gmXsEN14Ih/D3O/9/ddoikeK04M5cBrejxeqtqhodBOrOQsJ600pEictPRSaN09+kd4hm5QfTTSanaXMnVRSbvH+NvF37HgEYKHuJ/xF8MKqtohzQbrcU+RJ7Gyrqc1y6apzvM3EQAhCN9zKh6fPCymNOOrUNvUYmfF83Oz+Me/iXM/q3Wa11OWBvLu3vRNQAklR3Zsnj4KosSpKUvgVDybOyirFoRtY8M3hQUwrpx0M7xjWw19PCckCn1/S85KmrmZXz8OjDn16FuBsX1RvV8gZiB4e67vTnxEPYdX6VsL06bRku9rWmbJerpo3WhVbjWCMXqx0LgFxn68DfxyEOz4H+qvxD5ZzOENp+X8vVfvoesU6oTINoeFVMxIcb30Z+PjwTqjPA2NzFN2B9eVFNppMwME9Rb5g1Mw2f/KIEuAIJKbHXMoUr6wym3qfiI/cc/UJWS4i5Th98zLNE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c4c38b07-bba9-4376-e8b1-08db5315cc99 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:09.6424 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ky3eZwJ8zRM2zejQPcQr/BXAp0e+XeXdve12VlkAQcWYYjs0ia4U7/BxFJofg98VJndSsiSzf/K5xwlTxNvUaQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: BH5HRtyGJHJSKTh_ErAHXRcob9nmF5it X-Proofpoint-ORIG-GUID: BH5HRtyGJHJSKTh_ErAHXRcob9nmF5it X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 00B8440009 X-Stat-Signature: h8tsz3hdn4hfm7kaf3mu5d6eyg18j3ji X-HE-Tag: 1683915734-30246 X-HE-Meta: U2FsdGVkX1/zC0LIxxaV785Smbok5OPaHg3ktnTG5m91g5V/vs493/9EbTNFluvYJwe60R+BwrMLD0ayaDLUmbAX77x0nbJllAc17D91BqGoR/qudtwEDLTVZNJajvEOV0TebWI07+x9z7L/f7YM1BiVcfy72G/vpUrmTFhmO57lKfUL5XnTk1j7TJ7S9ATzXsd5htUf3oCTLJ2ljXs/fAXN7WhzG4oKGnuxBhtXU1MsXDQtoqC0qnGgZNoocHQQbid/z/dhw8hMbNkLpnLhysfuOkHtyGWJm+gA4wB8dbvdPxYAqBwNsmZ6C67oN/6O7m7FeRg2K0+ZHZw1rxfIyPMeq/myMEQMDZKtdZ3STg8U1ZYDqDLYno1AWyzfu1/5sAcHKjX5YB0H9QyZ5turDcXvslT5pvGSOb4LpRDf9TeuBYrsK0Xz5FwCHqNO5S0F6yJiUE3oX0N+/fJeQQCfCzXl8y9U3yj4H1JvFmNAVZURbiSv19yBYbH8vVWR2ORgbaD+7eh3pa32lQ5EIiK0EDoylf3QxN9g8o4cXBp0vSGU/xwTqCJuMtDBJaRy8QyhqOfEQ/EUa+nuB2KxKd/ZXdhYmJxytM7DuURu+0xivFzKkWX5Q450KerBTXxFX7OW6UWepLvptoV9UH+je7pOBnThLmFsUpC9IdTiq5Z/xcon/uWZidHK7HRuLNqozm1aENcjWTkHb6TTjADoJ59Eg1uEFVoHCc2xIZ/X9A0oqr20k+iGP4+/3big6H5fx3dOE4v3sRMVohRrLUTKA6l6cdixwtF3I2GGwDxexRhx9/FLFJhL4WkhHijkHTGzBZnK/0noet2CJX89LmxB+AhW3ItQmUcj9mC4pJh/NZ+xhcqHXkpKrfUjkJoLMEDGXJgBTXajaIVL+vPptXDQ0NJZ9hs0eobr+wnW71nxX/+QUdFvF080cSyYnEgYoj6HBe2cSU5cElIYci3xxyOQjXE Hdf2Wds8 YfW5TfKlYrH7YE9UxoYKopLYcQ/0M8FOLg1FfCrFJHlnbZODHRgUfUwdW4fKQw3MFwFd8V91+6kOlnzXe8QB2lARWdDTWL/Br0nHnS0N4Ztkg1VWsl7KPKEpriw9VmiGdtGeJprZqC7DrL6ZK8yGLL9vZwsEANiJeL2OiZFEyGWVVE3cB098UfLNKb9t1CGZt0ukffk2OUJ1S51xOOyt6FrGcdsqqbRDg09NcmY30OTL0Un6WCDyRar06TTOBsAvnLLzCQiLPJTd7V1tRYJe3KJAYQIeEOn48+47WC944VMBFU6jcS7K9DRuaDjljBlmJlUfqRbH5180b4vhJfvbmbp5LCXD5dc9GXkkJtsO2THceYxv77FsSIDVj3ncUCu7p4sEGn/rIFvkNQqr1S4S6oStD8b4z2FGUQGQaOrQJCExuX0Et86VwkhjEDakCjD4vA1Xg 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: Some users of the maple tree may want to move to the previous range regardless of the value stored there. Add this interface as well as the 'find' variant to support walking to the first value, then iterating over the previous ranges. Cc: Vernon Yang Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 2 + lib/maple_tree.c | 163 ++++++++++++++++++++++++++++--------- 2 files changed, 125 insertions(+), 40 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index a4cd8f891a090..85559a34a0987 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -457,6 +457,7 @@ void mas_store_prealloc(struct ma_state *mas, void *entry); void *mas_find(struct ma_state *mas, unsigned long max); void *mas_find_range(struct ma_state *mas, unsigned long max); void *mas_find_rev(struct ma_state *mas, unsigned long min); +void *mas_find_range_rev(struct ma_state *mas, unsigned long max); int mas_preallocate(struct ma_state *mas, gfp_t gfp); bool mas_is_err(struct ma_state *mas); @@ -467,6 +468,7 @@ void mas_destroy(struct ma_state *mas); int mas_expected_entries(struct ma_state *mas, unsigned long nr_entries); void *mas_prev(struct ma_state *mas, unsigned long min); +void *mas_prev_range(struct ma_state *mas, unsigned long max); void *mas_next(struct ma_state *mas, unsigned long max); void *mas_next_range(struct ma_state *mas, unsigned long max); diff --git a/lib/maple_tree.c b/lib/maple_tree.c index f88c60f43afc8..fd4f9f766cf23 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4603,7 +4603,7 @@ static inline int mas_prev_node(struct ma_state *mas, unsigned long min) * * Return: The entry in the previous slot which is possibly NULL */ -void *mas_prev_slot(struct ma_state *mas, unsigned long min, bool empty) +static void *mas_prev_slot(struct ma_state *mas, unsigned long min, bool empty) { void *entry; void __rcu **slots; @@ -5924,18 +5924,8 @@ void *mt_next(struct maple_tree *mt, unsigned long index, unsigned long max) } EXPORT_SYMBOL_GPL(mt_next); -/** - * mas_prev() - Get the previous entry - * @mas: The maple state - * @min: The minimum value to check. - * - * Must hold rcu_read_lock or the write lock. - * Will reset mas to MAS_START if the node is MAS_NONE. Will stop on not - * searchable nodes. - * - * Return: the previous value or %NULL. - */ -void *mas_prev(struct ma_state *mas, unsigned long min) +static inline bool mas_prev_setup(struct ma_state *mas, unsigned long min, + void **entry) { if (mas->index <= min) goto none; @@ -5953,7 +5943,8 @@ void *mas_prev(struct ma_state *mas, unsigned long min) if (!mas->index) goto none; mas->index = mas->last = 0; - return mas_root(mas); + *entry = mas_root(mas); + return true; } if (mas_is_none(mas)) { @@ -5961,18 +5952,64 @@ void *mas_prev(struct ma_state *mas, unsigned long min) /* Walked to out-of-range pointer? */ mas->index = mas->last = 0; mas->node = MAS_ROOT; - return mas_root(mas); + *entry = mas_root(mas); + return true; } - return NULL; + return true; } - return mas_prev_slot(mas, min, false); + + return false; none: mas->node = MAS_NONE; - return NULL; + return true; +} + +/** + * mas_prev() - Get the previous entry + * @mas: The maple state + * @min: The minimum value to check. + * + * Must hold rcu_read_lock or the write lock. + * Will reset mas to MAS_START if the node is MAS_NONE. Will stop on not + * searchable nodes. + * + * Return: the previous value or %NULL. + */ +void *mas_prev(struct ma_state *mas, unsigned long min) +{ + void *entry = NULL; + + if (mas_prev_setup(mas, min, &entry)) + return entry; + + return mas_prev_slot(mas, min, false); } EXPORT_SYMBOL_GPL(mas_prev); +/** + * mas_prev_range() - Advance to the previous range + * @mas: The maple state + * @min: The minimum value to check. + * + * Sets @mas->index and @mas->last to the range. + * Must hold rcu_read_lock or the write lock. + * Will reset mas to MAS_START if the node is MAS_NONE. Will stop on not + * searchable nodes. + * + * Return: the previous value or %NULL. + */ +void *mas_prev_range(struct ma_state *mas, unsigned long min) +{ + void *entry = NULL; + + if (mas_prev_setup(mas, min, &entry)) + return entry; + + return mas_prev_slot(mas, min, true); +} +EXPORT_SYMBOL_GPL(mas_prev_range); + /** * mt_prev() - get the previous value in the maple tree * @mt: The maple tree @@ -6119,20 +6156,18 @@ void *mas_find_range(struct ma_state *mas, unsigned long max) EXPORT_SYMBOL_GPL(mas_find_range); /** - * mas_find_rev: On the first call, find the first non-null entry at or below - * mas->index down to %min. Otherwise find the first non-null entry below - * mas->index down to %min. + * mas_find_rev_setup() - Internal function to set up mas_find_*_rev() * @mas: The maple state - * @min: The minimum value to check. - * - * Must hold rcu_read_lock or the write lock. - * If an entry exists, last and index are updated accordingly. - * May set @mas->node to MAS_NONE. + * @min: The minimum index + * @entry: Pointer to the entry * - * Return: The entry or %NULL. + * Returns: True if entry is the answer, false otherwise. */ -void *mas_find_rev(struct ma_state *mas, unsigned long min) +static inline bool mas_find_rev_setup(struct ma_state *mas, unsigned long min, + void **entry) { + *entry = NULL; + if (unlikely(mas_is_none(mas))) { if (mas->index <= min) goto none; @@ -6144,7 +6179,7 @@ void *mas_find_rev(struct ma_state *mas, unsigned long min) if (unlikely(mas_is_paused(mas))) { if (unlikely(mas->index <= min)) { mas->node = MAS_NONE; - return NULL; + return true; } mas->node = MAS_START; mas->last = --mas->index; @@ -6152,14 +6187,12 @@ void *mas_find_rev(struct ma_state *mas, unsigned long min) if (unlikely(mas_is_start(mas))) { /* First run or continue */ - void *entry; - if (mas->index < min) - return NULL; + return true; - entry = mas_walk(mas); - if (entry) - return entry; + *entry = mas_walk(mas); + if (*entry) + return true; } if (unlikely(!mas_searchable(mas))) { @@ -6173,22 +6206,72 @@ void *mas_find_rev(struct ma_state *mas, unsigned long min) */ mas->last = mas->index = 0; mas->node = MAS_ROOT; - return mas_root(mas); + *entry = mas_root(mas); + return true; } } if (mas->index < min) - return NULL; + return true; - /* Retries on dead nodes handled by mas_prev_slot */ - return mas_prev_slot(mas, min, false); + return false; none: mas->node = MAS_NONE; - return NULL; + return true; +} + +/** + * mas_find_rev: On the first call, find the first non-null entry at or below + * mas->index down to %min. Otherwise find the first non-null entry below + * mas->index down to %min. + * @mas: The maple state + * @min: The minimum value to check. + * + * Must hold rcu_read_lock or the write lock. + * If an entry exists, last and index are updated accordingly. + * May set @mas->node to MAS_NONE. + * + * Return: The entry or %NULL. + */ +void *mas_find_rev(struct ma_state *mas, unsigned long min) +{ + void *entry; + + if (mas_find_rev_setup(mas, min, &entry)) + return entry; + + /* Retries on dead nodes handled by mas_prev_slot */ + return mas_prev_slot(mas, min, false); + } EXPORT_SYMBOL_GPL(mas_find_rev); +/** + * mas_find_range_rev: On the first call, find the first non-null entry at or + * below mas->index down to %min. Otherwise advance to the previous slot after + * mas->index down to %min. + * @mas: The maple state + * @min: The minimum value to check. + * + * Must hold rcu_read_lock or the write lock. + * If an entry exists, last and index are updated accordingly. + * May set @mas->node to MAS_NONE. + * + * Return: The entry or %NULL. + */ +void *mas_find_range_rev(struct ma_state *mas, unsigned long min) +{ + void *entry; + + if (mas_find_rev_setup(mas, min, &entry)) + return entry; + + /* Retries on dead nodes handled by mas_prev_slot */ + return mas_prev_slot(mas, min, true); +} +EXPORT_SYMBOL_GPL(mas_find_range_rev); + /** * mas_erase() - Find the range in which index resides and erase the entire * range. From patchwork Fri May 12 18:20:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239642 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 86620C77B7C for ; Fri, 12 May 2023 18:22:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7F39E900018; Fri, 12 May 2023 14:22:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 77C3C900003; Fri, 12 May 2023 14:22:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 50BEB900018; Fri, 12 May 2023 14:22:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 37961900003 for ; Fri, 12 May 2023 14:22:28 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 179C71A0FF9 for ; Fri, 12 May 2023 18:22:28 +0000 (UTC) X-FDA: 80782423176.14.BB38AE9 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf21.hostedemail.com (Postfix) with ESMTP id B4FC21C000A for ; Fri, 12 May 2023 18:22:24 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=uLuFfe3V; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UtGJCmvL; spf=pass (imf21.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915744; 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:dkim-signature; bh=P0YADHiyGIKZCSFs7likwCgMY85GQ9vKOmtp2jciIGE=; b=AnCLc4cBGgQvgCPns6wfMHRoVsSsKJ3AB5KBdEFvhuwxp6SfpDUDcSYpmRLSFwm9PqmF6T z/ScoqSi5q1xHKC87cKtAxU4bSq+au6VQCK/3ZJI3oKzsUVb/jSqm0b2Hq+xLTvaMzkth7 jKOGLm62aHuqvnWgPwsQ5x2Ck6sebqs= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915744; a=rsa-sha256; cv=pass; b=cZjZPhn6W5LXK48loL4funCdyWl0hrDzGPG1h7XWXQexE6e+fH/mQUdgPsaETzzrUx981s fh+8kxogwzo7YQalIP9zif7/beaTwmlXtEoqN+nIHoFcMe8EpFW+vORoMS7Mn49cOZ0MjJ MlqeuBtvbViqEztHmZrH6wnxW3Jdmjg= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=uLuFfe3V; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UtGJCmvL; spf=pass (imf21.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4ArO002642; Fri, 12 May 2023 18:22:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=P0YADHiyGIKZCSFs7likwCgMY85GQ9vKOmtp2jciIGE=; b=uLuFfe3VXVfQw6NaKFZdObab2uBHYbv44qf0fI7vuv+nUpKp2ojvtD2GVFZU0ML6Gmdb fvp2S3SnAMn4H55b0UHypNk0/ePXYtLBIYHbJYhhhF/X8HttFRt7dCAU6ZjWRuksMH8h dobaewibUdpOiYIs7Luy8YKqGb+taT3gmkksehxUJb9BHI6arcaUu0BVtozb73V+zAnx QuOUlETT2cO5U4eO+wRpRipp1t0UP5bnBMfFOh3lAenSm6yrj3hQvVL7dpFYH4KwcmCu 7TXQMMD43dGA4/y/D89+0zKQw0D0QfIdAtkhxLZ87hJUWmZKl+JJYmOhyEUaJFZgf9uH rA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bkxs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:14 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CGhMOQ018122; Fri, 12 May 2023 18:22:14 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf77mjmj4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=evknjDmA5+ABufeohnVltdbObitAkQ9auwIhZJB3jb69KxujGmvCfgufG4F8rVtowhIVG2BwL77eae1C83qsgQvG0S+PPGrNGvNP8OQHoUzSCs4tuBVSwGp2Qd//2UvPDEjtQWdRFLLmjWQtEraIaKBiCEQ6jt+1dSgxQ0h/0neWaPSZtnKie5om0A0R+KQz1c20M2MQwGtIjP+s077s/g9HZR6MPHytd3+hcEKQxxRSsMuuPReXLwJOfw5MenM5rQWh6fS9f0sWqlod0+ufSaDnV7xxkfCHPIr9sHMHKShwUtv+m6Z9VRFEkrjXnQOKWIuRW2RYFpI48SfB3r7dpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P0YADHiyGIKZCSFs7likwCgMY85GQ9vKOmtp2jciIGE=; b=OXyN8LT4PdetWymlJsHC609ZfW85CwqzlytzQaHKewZ4mQroDdwkZN5teOhemj70hAhQuv12sN3o9KsptB5o6m343M06tsC/MpJ8IvpfdchDvXFIVF3msevo/8ZR33l7MHUDLfVyQ3bWQmWwzQCSGahNeoHGxHa1+fw2BGfqVwSqFdt8it8nVJCC8POz2ip2OhPXdvfZh0LSvkWiaob0uCYbTaQNSpvoaBlijMZRINf5PTrsyEMArpD1/tBc64Jz9SKh5Gf89K/4a1cjyZI7ecsUOLNP2BanZ7nQu0/UmG8+1VuoBUsANBapUp5kal9nBZ9FvO2JYtq0/vqu1gjhaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P0YADHiyGIKZCSFs7likwCgMY85GQ9vKOmtp2jciIGE=; b=UtGJCmvL16Dj7vJSko55Lhu+aRjNbY+3X56cX6g8QuT014k1PRDBnZNswE4eQJYKjzGzDGtFFNmNzY9aLDUsmDb24z2UnqSndHurm1a9Zwd4oaruXJIdKxcUoyHg4vCP5T1oe6fAgRrWxfkVOvW8j0Iwg4lFLlDASFlPlIgjMps= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:12 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:12 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" , Peng Zhang Subject: [PATCH v3 32/35] maple_tree: Clear up index and last setting in single entry tree Date: Fri, 12 May 2023 14:20:33 -0400 Message-Id: <20230512182036.359030-33-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YTBP288CA0025.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:14::38) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: c2e0ab98-647b-42a5-d15a-08db5315ce0d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WVmPDy68VSFJOkWaOc7FIOIXG7cTJHHAhfQI+19Wqo65HdBBIDS465fIXHCerFbSOQ9XI/1qB4lM2SZPaSHsvGOxP9et3guBBD1bVQ5Qc7elbIPuQ0gwJ7spxzm+St5TP81juYbR0embVCH3I6ii4oNI2fHOFMiZlbwx8HiEM4/OJlMJG/yGnGnkKiJUGbqedx7TSK5enpeEnBRfmj1/5X1iCyYakMpl1Hg79KvLx5LQ7A4yr3nlydtvbYCwbbdTMOPjRYMJ5qyglQgFR4UJmiNAjofzb4hlUu8E6+AP4z0M8jgBT4sEhb6B+7jCcTpeh18hWpuDAyfPDicqKsyBOyqGwj2FgW0bchTtOZDHYR/xIhK7Yw0jpyElhjVPcOD485i1tIldJ0USHKNq0dpZmH8XhPwSdgWEzuLlDFra078O+eE9VZ638n7a/2vSNwbKqgFrKzFdyJW9E0hFOUUhw2GqXbpSKwidMZ35CgN2v6AEw96KKganaNo4dnLl4l8+hxwhP9vNlZOoNCtBSJnzMQY7MEIj1hO9reZdgHmKlb1JiuROohNRWki5Py/QB/ul X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(66946007)(54906003)(83380400001)(5660300002)(6486002)(316002)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +A++nQUB1iFGap4S8daDXiVf2ojLcYTiAlBBV68JWjysaRnubuyM4MgZJO5y32FLz8HkTvqrqZvZlTqxkJoaF90s1tk8imbL/yFnYQpz+FSYwAxNSG47mAs0lgjEV+MrdLBRe9jki83AzXW4+QZA3YPPNBN0ZIT0dBqF+6Un80OFQOKq2iq8YiQ14A1ye1876w/7aFFAPUBD5CcVgYhRE8yj9weo2AxAnAxZ0KPErfifmBIHEzAYkJ+h3Z9Nx847KqESihzkx7G6pTe7D8kNHV4HdLijNXCrQxaUX7qObQEG7toRbVTD7fF/KZR0T6gwM90iPDJNuCDm95FrVXeyXa0GQFZesBeEP8R+UA4zDqdJFPIPsxdVNJKeqd8h3IMzHnYOlBR2tlJufXa3WmFZBa+gHn4hYUL+CmCssoTUn8h3RbuwTOpIn2pcGDMjFA7J9UfIOmkBn/Qo5EGkillMy4KlUbKpVey9s8/ezRQidNrnggZ/sNXINsEWg9TtOBSjztPmDKr2F28n3frzBJZhhgKazVhjXHUp0Dy6Pg14+qH7qtRyYaPGOMu2yw3e27qIQB5rs4hwPcUCh5s3nB4UHsQpTvGak6+UBh23RQY/PEZ71SAPVazClrm669bCxFcDcyqXQw54t1s24RTX5/eMMcPUDVvshIU/r8krwi2/DSPwv32IW8Slj16wktjj90Z2cwE2tqK4GWu1tsLEQmKQlpCksuayxy8SLOfZ/EtOiIzbwNvI1OAYnfMVIFYf+ZbSgh2QFAokSMFFU2piOnJXQ35xI4AD//IVMfmeXm2AaXKmK7FztTP+EVV+9YQe22NVbms+a0n9HL366MuvGDx33ChUSwi0U+qttGdJ7nJWJkgE6nzG3d086sKt2f37b6+M7ibmVXEEwC7slJN8gn/eaN4PLU1j2QhSq3ov/y5TdGvcSu6bVLQyKKhHyPDm3eOrtZM1VRG2eEuD6w0WaTo5LjlxafHshDxli+MrqR4byiKc9yssZ6i5gMoe+wX0lnv+BsOa0mBoAvc1Ra1fIm49n4+mjKNAdlDpb1OZ3kFMLuMmFCKg25tcuItw0H9TtHYUN477OVjbEdzSkKclurL45M8kBRWepxVcr+zHbDYLiRRVW4iAN59/hCdlNkqQRNB/uVNZHIHa53ch909tHNdOahtCk2KRm9SuDiXi1YwxLXVwQJaNjbFcijXGuOb8TUINIT/cGshwXpeml19bz4pqufS8YaQMzs1DFWubNEgjHeyE3aicFQOtpEMIqZ1KoRI1bnGxGFW6oGFfF2RED/y+A5yziZNVgNRqVor08lM2nA3REnYeZ2jWxZHSQyYvuoqNvUxU7LNPxxvhrh3qfWKdGV+LVn4VFoGgjnYa66pGZ2228MhQMEI/c7umu7RxD9Gj2phh3bIPZ31vRCIJ48dVtsmUge4OhT2ZwKzbxWXjDOUlbFzagu7uLtm1Bndb7uuAaO91NkMoKNFTQyDPtGBv5Oi2RnZ6xew8c5t2q+2BVVGmudduLFSX8W/Htr0hfvC/28/0OXRFCqfk75FR6HT4FXGqE0tx6TJetSyH29cpN06k1IpwSv3R8Np8WUKsTUX0ttl4wsVFYKhSNpd/NycuAw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vtB9Wy1c5ZbE/1a+sYQrwGCIZO0EU71V8laZp5pfhbfaMcOndbXbYhi6bTy0RtnaFt9qO0D/tvcPnWA+nLp1zybobvqOLG0ipekZbfj/QFUEFHUb/Q3ySboUuHWdei2eglLPNA+OztE3LHvM5GzE3VzS9YKoYokfNJ6aehRlPEUN7RY/6Xg3163B9eyx+Gn7BgvoABAy6Er8OcFr9rHeK2pHIz66wRKqbcUBRwMuTfP1GFaC0EgJ+tmqeqpIhaVYcUAlU5bOY8m9oBV6Tkg2crgn6tq/oSXxKFnKzsnTiLvgPVtblyH/al71IS9o2HBAmP/MsSZrvpkvXxuXnstxlFZUveemeYJyH49clm84fxsJiJnJAHRjMQCCE/ECKpnRrF1Zip73owyJFYqZsyTTHEChH6i0tNFotqe33BVaXB56KqezP2TH7t3eUlxFUcQGPYkwyAp04uK+nUJ03LLuF8HslLmmNLWlzV+Fq4mB4T8JmbuF6Jy5MRvBakjJh5dgnqanBf7ujjmTV2+9LT6Dhl4vQ2ZFf+hIHNaTdYwKLnn2wczEL8Gp8eRR3/rwJ0PJrMebcYT942wvNtJpG6AzKqWJUsZVAF/mOpQbJlxupYPdnF0aICdyeSZbJo9oLcXL8HX9Yn9r8Svs6kyWZXnpC2HS3FMatYKEK6JAKJCw1SFAa0ber/bZ8239Efat8U36ylx6xd5kMFoeEvqh4chipJuigfLBmRxRHs4W4sXRAYBvWAd8j3WS8ustoe6UurPfirToxS/PqKF3LpTIuh5mWoZgQuGL2jKXtlVpalSxgjiao4N0grGS/FsQXxzk4UUjw4Hdz5WYeHox/M1HGkz0iIob2LKQsmNrfVAncVqix3xipsfjFLl/L/ks0Cuxt6ZSaF3iset57wkmAXvAOqv7MGDWvB3hEiXjaUiOJDYNIg3izSFcg4pxCq0CP6bQLfJ+ X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c2e0ab98-647b-42a5-d15a-08db5315ce0d X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:12.0464 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: C7TYYJ7yvW9YHIy+KjENPuxEWhequXwiBO31b9YUzTaGlq4X1+U3LMpzEbRVX6SyIzSj4szSInbH69pLUGRf0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: nkKDdgHHZ4vCy6gzgg1hRUReXDTwaVyY X-Proofpoint-ORIG-GUID: nkKDdgHHZ4vCy6gzgg1hRUReXDTwaVyY X-Rspamd-Queue-Id: B4FC21C000A X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: ynme3nshmuyjt5xk9bumgx4e1s66cmhy X-HE-Tag: 1683915744-824085 X-HE-Meta: U2FsdGVkX1/lTR5S6BPPvYe99BGhkJKlFQ0C0MNKDJDtKcnUbbXh7Mv9e+Pd/MJXmGXPudGlLYl4mZSIR2lE/j1vX/zBDbCCu1DpXXZ9l2vc1MSArEWnZGEjhqxA2B3lofWY4u0DMl57DeMySBDP/CdFjKF3qaBZf/95ANeY21ss8MgHxApMFyTDVyh5EFt6x2P8PJ6DU5FTTtyqYEnga4lbKEy8pa0+n4auLEUNlwxOjS9zt2wAGMkiEkyvWKnvDo/mNKnzHA1ZzHyd5z7yaERP/k7e7uNLNj1xIyGoHylM3tUsoDMNu6QRzridoiRNR8NuadL9WVcp7sWMJJjPQcMm8ffr+WRzbBTXnaUrccx0efHQ5CB+WvKjPZrsDtv+qoRXdhZSvrvXmF4mEqJgOWCr4Jxwp3oFMwNj6DwRcLUJ2XAT6gHb+nCC2juQhx75PfXKGoDbOW8P0Sit9k05QnmDxTS74/xsJET/eJwZq/TguQxubBL6WDfT/qVbeYJPpfOlOMoh8rsgNZsxjpYNjnNtZrIi5JPCgaJMCE92Z82cNAOPJCNyu350/vmL3NZgTm5C7l7vRixAny4G54I0ymcXICZzOyGtjY/UUkUG+CZotFW4fSHQK1pKwYmzyNnGGStc1S0XOt4xoR71Gy99/ZNRX3M6qZMTN+gPfNiwfkTHv+E1Dyp+xMC5tPilyhArwJA+TPp6ngpACblQTsDyN8elw2LCb9qqe8huzVduS0IvctLoXK4fH5+D4LdYyQo7BtZDQARuODgcEVARStbEcxX0+Hp6VjvKP8bp5mmwUQQOfLnE+U8B9ORq6VM1yyXD37abA1Vd7J/dt+q2S0P6vuzQHf57gc50Qkyb2odlt3LZHwS+qURGHmfsC+AJQCvU3+suaxbLUS7y8VXAyjdjPhqlvW5uUHDn8xpVMJxPcsD/CFnqQ8MofPmKRnYSR/CkdE+vcmBqgHVBU/llsPb eHKdnnz4 HmZK6x/EmQ5pFmUt1a5cSVsxLXGDbj5D5C1iH+sA5qzl8S/yZwvdhRFrAHLrLCRZJeRZyhffQboKzaob5kDMhAhNlwrmvaJNbAXbPYEMXoN/GDpomcn2+gS5IsulfntVC74xTTOQlXD4mJhdCVR4jjgVkcMduTLg+CsRbG4UgvmxDXfIVliPLjcJnDIGXZEcMXu28ccIUo3Dwt43uwau65IwFQPrKC7DaJcSvmMpoORvotDA/sxrnNLzxEZQBgI92BrlMJn3D2wxBMU7PNETXvgRZXHoQwGN6rDszd9dwtXU1rpaPHlyiVZWKG8jOMmjCiHnke8f+D0fAUkXk/or2pS65u3JL2VpqdYzLykqEJ6cwWPY4V1w6chpnOfWi7lu70eCX5IPy7SwvCk1v+4lQKF6yodK16E1wIev2XiPmIMBUGN4KxPxQZh+MgBhsYQUXfav5oSBxgKbiM1hl2AHi13venTKTxkL2y6RC 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: When there is a single entry tree (range of 0-0 pointing to an entry), then ensure the limit is either 0-0 or 1-oo, depending on where the user walks. Ensure the correct node setting as well; either MAS_ROOT or MAS_NONE. Cc: Peng Zhang Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index fd4f9f766cf23..ec4285e141d53 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5022,24 +5022,25 @@ void *mas_walk(struct ma_state *mas) { void *entry; + if (mas_is_none(mas) || mas_is_paused(mas) || mas_is_ptr(mas)) + mas->node = MAS_START; retry: entry = mas_state_walk(mas); - if (mas_is_start(mas)) + if (mas_is_start(mas)) { goto retry; - - if (mas_is_ptr(mas)) { + } else if (mas_is_none(mas)) { + mas->index = 0; + mas->last = ULONG_MAX; + } else if (mas_is_ptr(mas)) { if (!mas->index) { mas->last = 0; - } else { - mas->index = 1; - mas->last = ULONG_MAX; + return entry; } - return entry; - } - if (mas_is_none(mas)) { - mas->index = 0; + mas->index = 1; mas->last = ULONG_MAX; + mas->node = MAS_NONE; + return NULL; } return entry; From patchwork Fri May 12 18:20:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239639 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 7DA7FC77B7F for ; Fri, 12 May 2023 18:22:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 113C7900015; Fri, 12 May 2023 14:22:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 09D17900003; Fri, 12 May 2023 14:22:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DBD49900015; Fri, 12 May 2023 14:22:22 -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 C2E8E900003 for ; Fri, 12 May 2023 14:22:22 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 87D2BAE2A0 for ; Fri, 12 May 2023 18:22:22 +0000 (UTC) X-FDA: 80782422924.15.96FE4E7 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 22B6CC000B for ; Fri, 12 May 2023 18:22:18 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=gqnklfIP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hikbgOyZ; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915739; 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:dkim-signature; bh=Y4ZbLEM4kDOHNEOeYFcsm3MLN017hWG4H5SM40i7zJ8=; b=y9BtjuIBvM3MxColUoX1rmswHvt7jwMd2jGXoS6z7jZRbXR17WcGg3JZFWp3aMmcDWt4LB A4srr1T6NiEtwr9RSh42NFavhCtT7faDXnYBOyJkRiUCOWAIHWDhlS59YUNRPomdv4OxuB AGtXSib6qcI8y4uFHrjbf+sLnK1w4rI= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=gqnklfIP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hikbgOyZ; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915739; a=rsa-sha256; cv=pass; b=7T4bTIxa9Vz5MnhVRwyf6EXtxPtAspNBhGsf7oF/nyCylk4xYvxm9iIqhxHOu4Qf5w7fr9 pGPY+09GKJjFKf3eEhDsEVEY8UwhBMRc3nCk10q794ISKB0KvFFMn0Z3Sder+GEpVfgwGL EyRSaQdMR4+ZS64nD4eRxgNuKw12M3s= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF48h8032463; Fri, 12 May 2023 18:22:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=Y4ZbLEM4kDOHNEOeYFcsm3MLN017hWG4H5SM40i7zJ8=; b=gqnklfIPbSqcYT4jnm4BFzrXtem/6b77bEacqWwBQfb/jDGhgYL2puFddsSEwuVyUC7V A/O3/X3rNpRbLuCawSKp2CnoAlBjVbe1g7MzbexnTn03IUeqdSHsHZj6yLEbNAtsBe7D xXbW+dtEIdB9/O3EknLJsaxbnaHI8I59rGg0rXueFM9w7j0CyhtdCouVOS0ALGwOJDwQ LMdS4JxTWXw3+XnYgiK5JxMQ/v1YVxQfbm5y7XZwkvtyo9anj2BHxIrp6tkKPRWbxnLY M/HHKBfFE6S2wkqHe+GrM5jj19iuFqmh4JsQj5Z+j/MP1GPZ8yGizaBXiTjnG85PuAZz pQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bm4q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:17 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CGoFFd024387; Fri, 12 May 2023 18:22:17 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2172.outbound.protection.outlook.com [104.47.59.172]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7y8gufd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U9KArgcefeskMEoT/CFlwQNr5/Ah/HroQtqli1YPEIIyKO265V0TQvGijudK3L73KoVTt20lKPVE9uHs/ieVZLcG77C2vdRBkzesrOHEqWB8ceRHXLOntwif1wNb1kUB/YVNJw6iluHrUolDcaePLqZIYX5GF43H12ocMbFhW8P+CW1TiDxOvn0CzXMbWiLjpyRdZGIxdJQTNHKfEEe0v9p/+CYI3TDwCA20P2TppYQrQUhQWpJmWu5h/bN/ttf5k4Oe4io420HZeIpUL0AyeZZYts0Ix9iDXiuXVhTWkvuVRA0PhaqQcNXLbPnMHiV21uxDKEEzmdEehXaI1xMLqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Y4ZbLEM4kDOHNEOeYFcsm3MLN017hWG4H5SM40i7zJ8=; b=MB5Q8hPKhHr9agqi4KsQxbGktI6/JmfaSQQWa+aTGPVh1j2jahU7T9C+mwrxSh7aTzcHZwUP3m3/hDWQ/xde2EXdvZ4VACH+ky0ocrOrDe3iFLNpVOzWKJB1pzJtHi0B8UhPs0JT5DLJL6y/UqI+xhuuDoNJXZExEC23iU0NYKVc3uFfil5MzeDLNshjqa5pwLxxdk9eVyD9qYO3ZIwWkeVk1vN8AX3JA2CWsh1cDV9OB6j0/NQzKwZpwr9l9NoHfSfsxHHnyYuKh/7gO+DVnojE/wEZqD2wFzBmzfwdzYI3t3ilZyfaJ7put7yg+Dh8ECMSMYIO8jm0L7/5bsTugA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y4ZbLEM4kDOHNEOeYFcsm3MLN017hWG4H5SM40i7zJ8=; b=hikbgOyZqCFg7S5bLttXAIPA32T079Zv+TKZu6GUVUYHqPCjHAv/bejOHGiymLE8vb/pdhAIT5vF4cpq09i2/gkfD0ycXT+GVcKsRmA1nt4Ou6GjZJAzEPW9Lf2rI+4mJ6x8ILwStOSx3VKztPXFUEWejhkYAt9+FdiQiVNQFwg= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:14 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:14 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 33/35] maple_tree: Update testing code for mas_{next,prev,walk} Date: Fri, 12 May 2023 14:20:34 -0400 Message-Id: <20230512182036.359030-34-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0037.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fe::10) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 8a36f20c-3442-4124-6a18-08db5315cf92 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Le9EChzxOC72TICqmLJOXxvfCGgYEvtMnxrw7kEPboCzCMud+5RMEOnYxY+1SzFyh1qKgmQnXKRXFJcCm6uD3HeOUU9Hhu5EGUVrVbjQRNRvJ+zAMUXlE4GZxZDH9D0n6GZCzKNeDX5aei9uOkvLibETyVmN9U6UAdguHb8QpspHR+Uf9zFpDKs4nb2o3otV/yJ3WDsIX9+2nUK6J0mm+QyziUy/B5ZLUpOj7NPre8CEpYEIkd4pB/y0EiC4vNUuOApwYA1Lj+1hTf6alLoYkXVpyiwg6JrJe1R9suTbZJV3sdAbW8nAN/uSR8M6SwyUos2xu9fh6iSddfu756MuYI347e7kJOKlroleeLLQtPl06CdClGooW8hV805J9CyoYZQDb2D85cXXusn2qlvbcHUeDzWgHeaNo16V841/xmx2gg5Wx3t5gcodT8s68P9BZGIaNhSgr68+EY8prwG/vmHUmv3w+Jo3mF5oB0Lelz+j9n5elZ7FRswF3+3BYnGxaIIsxKviJ8ezcjMHNLVwlXeUqAdJUNY1g/pmMFRym/bFfmPxSjwCqyk3Ndn4z1s6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(6916009)(30864003)(15650500001)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?yppDqrhOtWrvOHnnnOyYk6TC6n62?= =?utf-8?q?WKDFWoRvUpGkFMYoHdUIbDgDNfgF26XAcXzhDyjSgRUuxPYZTYInpW4MMogGckFvm?= =?utf-8?q?zVYqnvOpmCkCjuRGNH5qo1XDwwW6eVn7JjtZ3Gu3hP7AudYf+deCkSqhK5PEX0z8R?= =?utf-8?q?2w0xZNDm1ESoZeKh6BIqaO4XA+nSzgXBYeTFzsB/1fE7eTN0crZnQxjBpTGNoUmWd?= =?utf-8?q?hcGpkVlhYEqmVJpQkM2tYARXEvZkArz9v6/GPfei9RA5V9uwoiR1s0Ch5hFCHEOzt?= =?utf-8?q?wZkAcdsbzsmMDUPgTI8MDj8Vnxpd5qQcUqEt1Rw3I3Y7r7h6pyKZNNiMtkv+nNyu4?= =?utf-8?q?YEpifor7MuQA5o7RlXOE3y7V2WJPaIhB/GeLTTCJpxRnI6Rv9j/AjN5xx9ugI5l8H?= =?utf-8?q?8hnAEkIdmac9MDjbs5Nug0/mkqMMxN8Jr1Ph10cwen0rm0VePnMmXtK/gDRIZazj5?= =?utf-8?q?HskVO1zxLHLuQ9jncqY4pia457rhuYCRjPQnd6lnzwsUME4tWpEI9N35tQNsvhEUH?= =?utf-8?q?CeWIUNys+mWdiQZqbIYavvW2yeFZpGsYADmnY8EpWwmLeq5CQ4kUuT6Myp3kDhDxu?= =?utf-8?q?78tq6RN9L/jAzRm/Yeo7mX4K3gAcHR1bin1awgOmS6rAc2Rg5radE7T4FKYbcJBIw?= =?utf-8?q?wXJ6vAgLIbd1LwOS6ik/j2II0bJPssGL5/SFZCgAdw/LxREfMOlPhk36b08pteYE6?= =?utf-8?q?jJyNqAslZA3KDah5yI3/wT1OUmil6U9o54taNvCIEn6CUIurkjqTC9TW6Tk7LlELd?= =?utf-8?q?PrcwqDDTBryD+zlt6tdIEvbsymbb/ugkliXX1ekSb65f241eC8hqxLMdzObDnAnC0?= =?utf-8?q?k9nrmz5LBN408/O1zWLBvcq+xLwMKKmhqIhBAGd3+JgK+XfRhpaLsJKXizPgXTxFe?= =?utf-8?q?5YenCotftZLavCYEL3+2gnUGuJVgFdf3zX80dY03A9DUnOXISjgs0mpcoPwEcNCxF?= =?utf-8?q?8wk+XepfgNi2wvJUaepwBl57X1uupinnzlE5NSI7wO2RkDOGYC2n6TEiN15/l86Ay?= =?utf-8?q?c7DfpZGPHs2VR1aJCYCbQlE0bV2new3u9RJG1tKi41oBE8+mROiApQxHqFggaMUHC?= =?utf-8?q?E44s9SmLzOTxuGNfpMTueh1EfLq2qwvLP5QcWUbAbHzkfGy3Fl1Z9kYdTvntyMIzI?= =?utf-8?q?p7rMh3QtNX69PLq22slOQX0VJrgKAbOPu4k9dCIhM7hcm4V0VgH3VKL2MugRvlZd/?= =?utf-8?q?J5bDrXjRetYPy6YRbVKvuu6nWQxCZEsyxNe46MGqk5D2dL0kngrUI5sLjm5Bu+w69?= =?utf-8?q?5RNrHgVKn/yALkI2BrpDD97cTybnwvMYXbnU23hT1RcRQqZXbD2RBI7tDOUxxGezg?= =?utf-8?q?FG97M8oohJ1PR3EsCnOOb+FmzKgfCWPXXoi8bwEyVsqulx6W9iqWeiOkbCfbAILop?= =?utf-8?q?g9VokXm4HmaKJM3OptI7t7LTYpbwKQPhz5+7BQWElHrBUkemBaH9TwMZ1EUpNVaSK?= =?utf-8?q?hM2tjHb7Teq1R5NFe72TB9Llcd6J1+/X+JzMWw1fGL7RrHqlUncNJaX8Tlg33J/BN?= =?utf-8?q?UsrErSik+Uyml3AwgHO9JtJMF34gbPmZFA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: BVo8PZbdvrPxLmcNR9KXq4ADrZYt+n2L0gAxOYN++eNCRO+DDLJPqV6NuiX8bQvhyvMdItuPkqkRTrQTNwOQdIhtohCHKm45K17f0eBJKwcCpI44xxQcfWHoCtmWVrXTVlVmraerf2owCtW0j+S4xZQkqnmoDD6L2aMYTfEmvO1LahEXrLNSkx8vLFH7/p7uVuWwqyVrp1x/9TIgPvNRE9frmHqeNC3T811mr9hahAccAhMqV8DSy1ksGiI9JFVYz8rxazyeJPY4LPFwV3lFs5rou+1DLWsjVB3uMAkxyDQBUuPaFNXpc5KwD0Sd3otZ21yZIghEC2yu0ZRP5Ob4e7uTbV2EsRzyyblR+RAYBlPjg7I9nFtGLTyAwUemJJXn18COG69l6sLB+z+o8jFJa/DnC76KoRoZ5ab8DxETscA5BevdSDy+nNZszv8Sv3Qo0AsWrM53WPEHZa+jXfDIJncPfQb7gci2wIhMWXum7z8iesYV6huwBxk9LpGYT3tA1DRl9kCw5FawHiksHr4XeHsY86g8cgdU5RCvV+C8/89cUSU99mlFyxlIdsfMv5M0QZC/eZOp/+bjDrV3xGyb78HboDAqHYJLNWXgk0QoyW92l2IScWlNtb5qvKDqR83huf67S55dBu/r+U5oQ/wxxR/f5sqRzaHajWzlo3oWxOa0dBLUMNQqNmSTbsbFHAj22QOpUMKNbXvMYOSgdBYJRBC7xHGRXGccNVUONsSRaPq3OBrYFanAW3NcrQTz70uewC14oHf6VBC+LOXVjfK84HWeA58tg9LG+FyGk8zkXze1no2tdr/A51PJOf6J7O6IVOivcFnyHEJmJc6b2TglBRJO/DvTTkbg1ew+6bgu5EKQtNt6T7bU9WgFWVlpS/jRnn6YrSTaX21D5oDGyMDjPQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a36f20c-3442-4124-6a18-08db5315cf92 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:14.6838 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DZRwC3okNpvESvc4Aw1RMLtSqjgPOxEIMCBYmZW5kk/o24XOGtY9cYkTZSWRRE08fPVc0op1tD+6l3ZcIollKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 adultscore=0 bulkscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: t3i5xZhAahXm4x8oEC-VbYzBOyQpa_pT X-Proofpoint-ORIG-GUID: t3i5xZhAahXm4x8oEC-VbYzBOyQpa_pT X-Stat-Signature: mni7gy3rf1ugm5agu87bgauze31ynq8z X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 22B6CC000B X-Rspam-User: X-HE-Tag: 1683915738-650875 X-HE-Meta: U2FsdGVkX1/R22rkWw3thJOA+sdDU10+DngmE+vmAivt21Iop+vLvg0Y4ded33895ATUUtEhBODG8slvEqEgnzz5kndlETcwBP6oN+gnL+AA1H5vqBVTPL/mh20qYCzSjFI4rntw6OKo2JrFIun71K6bgZaxoFzkktvsjOcvh90QrA8rkx+rXXG+TUCxYzmxzcBgxaOtGUvlUp7lr+3aezujIvaL4s6bLyXrebOQK1HeByocyb/QPCNePGXMp6t9tMLKSIF0e0F6vKMpapHiBzI3CjZHPpdE4MnpITHXCBptqb6wAdo0xUvK1dYbU5XJ3w9XpLYU5XwEZiIJWK6AxPUrExeTL1j2ABOvPff9ArEQxJ5RTFicPzbx62xqNSm2zLwqSxQtPvgDirVJ5VGMtq7m9RhyUpj1XHU5Hzub8VAz2Yhjn0VMX3pgVVdz7woqjZvy2ubpfDLk97fPQfNrQeaTxc0xl6biK2Qk99EO7fXxDGrxtxTR+hwg2uIdxz+yzmXDmwTgD1GXXoKZV0gK7DX6WjCW7IApegvjN6MOqGG1Uac+Y+bkQR/NfoyEr/Z3RZeh5jcW6oL5EvvmOOZ/sCenOHLskXtLtESeCIOgCv/leSBqNkXnpeo7TYTSEG0LqmKJWwNz2DbJ2q3ObofICB3+j8Snpz6qqNOzbg4b51eTGdcmVcq/uW1FQd4aovOualYMlA8uglFkK8CpqtbRfkzMb6mLjZ8CYhKrhveP40f989uio+jZcVPt2LEcZbnIMo1smtXiSS5oMZy6F6hOZZjTMDac3diTnc8FirThrlJAMw5Nbd8NhL0dFdfb+R41OFBTEHDQ19BbYCAhUEQ56p27g4iTmd0ZH72PV24nbwAV9RXu/auDhSkRnlEFSdm9fkvhYZXdtNzVdcqJwnV4mKxB5wuxfGAYMg/cgdsw1NyAy5jH+6MYKo6iYrERF9TNgQCT81IhEpGz/aCo7P3 y1B+NQlP KzsSFScwjS+XfQ11EECB5lR2xqdUnl/bgK+F6DofYSmQiUwPnYtQ1N7JRf/kddyxdZXurx/yEl74aSxsmEqvRJB3Ag0FBnLYFzWKkCyHYS2vJy48nYm1LSMxmls0u+PiHwkmQra9xc2T369Vhf3Xu6peecQBTogXfMaHjBBtmHbpcs1XqqhGn0J0YSoNXRNEJ009xC6+p6vN4xZ5eUGonwESYgcgeFD6+r2vczjezRy1qq4Lv1pTa9wL97g9I0b+qT6F2ri3wsLp51G/afxbDoRnQk4J78HlQc4ud7GYIK0WnDadx7mAG+D6ZyU/LWqLM76sVh/z18z7u2SL4KJqbx9JaFZmdovDmeFqUrtQbquF46mCaaW1yhp42uuPVfzzssHFYsMXwhYmYpOPSGQshFR8YkDC4yqGefD/I6LKjJiAKjKjCOMRjw6KiOA== 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: Now that the functions have changed the limits, update the testing of the maple tree to test these new settings. Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 638 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 633 insertions(+), 5 deletions(-) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index d295fdee2faeb..9939be34e516e 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -1322,6 +1322,7 @@ static noinline void __init check_root_expand(struct maple_tree *mt) mas_lock(&mas); mas_set(&mas, 3); ptr = mas_walk(&mas); + MT_BUG_ON(mt, mas.index != 0); MT_BUG_ON(mt, ptr != NULL); MT_BUG_ON(mt, mas.index != 0); MT_BUG_ON(mt, mas.last != ULONG_MAX); @@ -1391,7 +1392,7 @@ static noinline void __init check_root_expand(struct maple_tree *mt) mas_store_gfp(&mas, ptr, GFP_KERNEL); ptr = mas_next(&mas, ULONG_MAX); MT_BUG_ON(mt, ptr != NULL); - MT_BUG_ON(mt, (mas.index != 1) && (mas.last != ULONG_MAX)); + MT_BUG_ON(mt, (mas.index != ULONG_MAX) && (mas.last != ULONG_MAX)); mas_set(&mas, 1); ptr = mas_prev(&mas, 0); @@ -1800,7 +1801,6 @@ static noinline void __init check_iteration(struct maple_tree *mt) mas.index = 760; mas.last = 765; mas_store(&mas, val); - mas_next(&mas, ULONG_MAX); } i++; } @@ -2011,7 +2011,7 @@ static noinline void __init next_prev_test(struct maple_tree *mt) val = mas_next(&mas, ULONG_MAX); MT_BUG_ON(mt, val != NULL); - MT_BUG_ON(mt, mas.index != ULONG_MAX); + MT_BUG_ON(mt, mas.index != 0x7d6); MT_BUG_ON(mt, mas.last != ULONG_MAX); val = mas_prev(&mas, 0); @@ -2035,7 +2035,8 @@ static noinline void __init next_prev_test(struct maple_tree *mt) val = mas_prev(&mas, 0); MT_BUG_ON(mt, val != NULL); MT_BUG_ON(mt, mas.index != 0); - MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.last != 5); + MT_BUG_ON(mt, mas.node != MAS_NONE); mas.index = 0; mas.last = 5; @@ -2047,7 +2048,7 @@ static noinline void __init next_prev_test(struct maple_tree *mt) val = mas_prev(&mas, 0); MT_BUG_ON(mt, val != NULL); MT_BUG_ON(mt, mas.index != 0); - MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.last != 9); mas_unlock(&mas); mtree_destroy(mt); @@ -2750,6 +2751,629 @@ static noinline void __init check_empty_area_fill(struct maple_tree *mt) mt_set_non_kernel(0); } +/* + * Check MAS_START, MAS_PAUSE, active (implied), and MAS_NONE transitions. + * + * The table below shows the single entry tree (0-0 pointer) and normal tree + * with nodes. + * + * Function ENTRY Start Result index & last + * ┬ ┬ ┬ ┬ ┬ + * │ │ │ │ └─ the final range + * │ │ │ └─ The node value after execution + * │ │ └─ The node value before execution + * │ └─ If the entry exists or does not exists (DNE) + * └─ The function name + * + * Function ENTRY Start Result index & last + * mas_next() + * - after last + * Single entry tree at 0-0 + * ------------------------ + * DNE MAS_START MAS_NONE 1 - oo + * DNE MAS_PAUSE MAS_NONE 1 - oo + * DNE MAS_ROOT MAS_NONE 1 - oo + * when index = 0 + * DNE MAS_NONE MAS_ROOT 0 + * when index > 0 + * DNE MAS_NONE MAS_NONE 1 - oo + * + * Normal tree + * ----------- + * exists MAS_START active range + * DNE MAS_START active set to last range + * exists MAS_PAUSE active range + * DNE MAS_PAUSE active set to last range + * exists MAS_NONE active range + * exists active active range + * DNE active active set to last range + * + * Function ENTRY Start Result index & last + * mas_prev() + * - before index + * Single entry tree at 0-0 + * ------------------------ + * if index > 0 + * exists MAS_START MAS_ROOT 0 + * exists MAS_PAUSE MAS_ROOT 0 + * exists MAS_NONE MAS_ROOT 0 + * + * if index == 0 + * DNE MAS_START MAS_NONE 0 + * DNE MAS_PAUSE MAS_NONE 0 + * DNE MAS_NONE MAS_NONE 0 + * DNE MAS_ROOT MAS_NONE 0 + * + * Normal tree + * ----------- + * exists MAS_START active range + * DNE MAS_START active set to min + * exists MAS_PAUSE active range + * DNE MAS_PAUSE active set to min + * exists MAS_NONE active range + * DNE MAS_NONE MAS_NONE set to min + * any MAS_ROOT MAS_NONE 0 + * exists active active range + * DNE active active last range + * + * Function ENTRY Start Result index & last + * mas_find() + * - at index or next + * Single entry tree at 0-0 + * ------------------------ + * if index > 0 + * DNE MAS_START MAS_NONE 0 + * DNE MAS_PAUSE MAS_NONE 0 + * DNE MAS_ROOT MAS_NONE 0 + * DNE MAS_NONE MAS_NONE 0 + * if index == 0 + * exists MAS_START MAS_ROOT 0 + * exists MAS_PAUSE MAS_ROOT 0 + * exists MAS_NONE MAS_ROOT 0 + * + * Normal tree + * ----------- + * exists MAS_START active range + * DNE MAS_START active set to max + * exists MAS_PAUSE active range + * DNE MAS_PAUSE active set to max + * exists MAS_NONE active range + * exists active active range + * DNE active active last range (max < last) + * + * Function ENTRY Start Result index & last + * mas_find_rev() + * - at index or before + * Single entry tree at 0-0 + * ------------------------ + * if index > 0 + * exists MAS_START MAS_ROOT 0 + * exists MAS_PAUSE MAS_ROOT 0 + * exists MAS_NONE MAS_ROOT 0 + * if index == 0 + * DNE MAS_START MAS_NONE 0 + * DNE MAS_PAUSE MAS_NONE 0 + * DNE MAS_NONE MAS_NONE 0 + * DNE MAS_ROOT MAS_NONE 0 + * + * Normal tree + * ----------- + * exists MAS_START active range + * DNE MAS_START active set to min + * exists MAS_PAUSE active range + * DNE MAS_PAUSE active set to min + * exists MAS_NONE active range + * exists active active range + * DNE active active last range (min > index) + * + * Function ENTRY Start Result index & last + * mas_walk() + * - Look up index + * Single entry tree at 0-0 + * ------------------------ + * if index > 0 + * DNE MAS_START MAS_ROOT 1 - oo + * DNE MAS_PAUSE MAS_ROOT 1 - oo + * DNE MAS_NONE MAS_ROOT 1 - oo + * DNE MAS_ROOT MAS_ROOT 1 - oo + * if index == 0 + * exists MAS_START MAS_ROOT 0 + * exists MAS_PAUSE MAS_ROOT 0 + * exists MAS_NONE MAS_ROOT 0 + * exists MAS_ROOT MAS_ROOT 0 + * + * Normal tree + * ----------- + * exists MAS_START active range + * DNE MAS_START active range of NULL + * exists MAS_PAUSE active range + * DNE MAS_PAUSE active range of NULL + * exists MAS_NONE active range + * DNE MAS_NONE active range of NULL + * exists active active range + * DNE active active range of NULL + */ + +#define mas_active(x) (((x).node != MAS_ROOT) && \ + ((x).node != MAS_START) && \ + ((x).node != MAS_PAUSE) && \ + ((x).node != MAS_NONE)) +static noinline void __init check_state_handling(struct maple_tree *mt) +{ + MA_STATE(mas, mt, 0, 0); + void *entry, *ptr = (void *) 0x1234500; + void *ptr2 = &ptr; + void *ptr3 = &ptr2; + + /* Check MAS_ROOT First */ + mtree_store_range(mt, 0, 0, ptr, GFP_KERNEL); + + mas_lock(&mas); + /* prev: Start -> none */ + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* prev: Start -> root */ + mas_set(&mas, 10); + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* prev: pause -> root */ + mas_set(&mas, 10); + mas_pause(&mas); + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* next: start -> none */ + mas_set(&mas, 0); + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* next: start -> none */ + mas_set(&mas, 10); + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* find: start -> root */ + mas_set(&mas, 0); + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* find: root -> none */ + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* find: none -> none */ + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* find: start -> none */ + mas_set(&mas, 10); + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* find_rev: none -> root */ + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* find_rev: start -> root */ + mas_set(&mas, 0); + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* find_rev: root -> none */ + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* find_rev: none -> none */ + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* find_rev: start -> root */ + mas_set(&mas, 10); + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* walk: start -> none */ + mas_set(&mas, 10); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* walk: pause -> none*/ + mas_set(&mas, 10); + mas_pause(&mas); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* walk: none -> none */ + mas.index = mas.last = 10; + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* walk: none -> none */ + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* walk: start -> root */ + mas_set(&mas, 0); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* walk: pause -> root */ + mas_set(&mas, 0); + mas_pause(&mas); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* walk: none -> root */ + mas.node = MAS_NONE; + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* walk: root -> root */ + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + /* walk: root -> none */ + mas_set(&mas, 10); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, mas.node != MAS_NONE); + + /* walk: none -> root */ + mas.index = mas.last = 0; + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + MT_BUG_ON(mt, mas.node != MAS_ROOT); + + mas_unlock(&mas); + + /* Check when there is an actual node */ + mtree_store_range(mt, 0, 0, NULL, GFP_KERNEL); + mtree_store_range(mt, 0x1000, 0x1500, ptr, GFP_KERNEL); + mtree_store_range(mt, 0x2000, 0x2500, ptr2, GFP_KERNEL); + mtree_store_range(mt, 0x3000, 0x3500, ptr3, GFP_KERNEL); + + mas_lock(&mas); + + /* next: start ->active */ + mas_set(&mas, 0); + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* next: pause ->active */ + mas_set(&mas, 0); + mas_pause(&mas); + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* next: none ->active */ + mas.index = mas.last = 0; + mas.offset = 0; + mas.node = MAS_NONE; + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* next:active ->active */ + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr2); + MT_BUG_ON(mt, mas.index != 0x2000); + MT_BUG_ON(mt, mas.last != 0x2500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* next:active -> active out of range*/ + entry = mas_next(&mas, 0x2999); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x2501); + MT_BUG_ON(mt, mas.last != 0x2fff); + MT_BUG_ON(mt, !mas_active(mas)); + + /* Continue after out of range*/ + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr3); + MT_BUG_ON(mt, mas.index != 0x3000); + MT_BUG_ON(mt, mas.last != 0x3500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* next:active -> active out of range*/ + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x3501); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, !mas_active(mas)); + + /* next: none -> active, skip value at location */ + mas_set(&mas, 0); + entry = mas_next(&mas, ULONG_MAX); + mas.node = MAS_NONE; + mas.offset = 0; + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr2); + MT_BUG_ON(mt, mas.index != 0x2000); + MT_BUG_ON(mt, mas.last != 0x2500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* prev:active ->active */ + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* prev:active -> active out of range*/ + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0x0FFF); + MT_BUG_ON(mt, !mas_active(mas)); + + /* prev: pause ->active */ + mas_set(&mas, 0x3600); + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != ptr3); + mas_pause(&mas); + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != ptr2); + MT_BUG_ON(mt, mas.index != 0x2000); + MT_BUG_ON(mt, mas.last != 0x2500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* prev:active -> active out of range*/ + entry = mas_prev(&mas, 0x1600); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x1501); + MT_BUG_ON(mt, mas.last != 0x1FFF); + MT_BUG_ON(mt, !mas_active(mas)); + + /* prev: active ->active, continue*/ + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find: start ->active */ + mas_set(&mas, 0); + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find: pause ->active */ + mas_set(&mas, 0); + mas_pause(&mas); + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find: start ->active on value */; + mas_set(&mas, 1200); + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find:active ->active */ + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != ptr2); + MT_BUG_ON(mt, mas.index != 0x2000); + MT_BUG_ON(mt, mas.last != 0x2500); + MT_BUG_ON(mt, !mas_active(mas)); + + + /* find:active -> active (NULL)*/ + entry = mas_find(&mas, 0x2700); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x2501); + MT_BUG_ON(mt, mas.last != 0x2FFF); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find: none ->active */ + entry = mas_find(&mas, 0x5000); + MT_BUG_ON(mt, entry != ptr3); + MT_BUG_ON(mt, mas.index != 0x3000); + MT_BUG_ON(mt, mas.last != 0x3500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find:active -> active (NULL) end*/ + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x3501); + MT_BUG_ON(mt, mas.last != ULONG_MAX); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find_rev: active (END) ->active */ + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != ptr3); + MT_BUG_ON(mt, mas.index != 0x3000); + MT_BUG_ON(mt, mas.last != 0x3500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find_rev:active ->active */ + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != ptr2); + MT_BUG_ON(mt, mas.index != 0x2000); + MT_BUG_ON(mt, mas.last != 0x2500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find_rev: pause ->active */ + mas_pause(&mas); + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find_rev:active -> active */ + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0x0FFF); + MT_BUG_ON(mt, !mas_active(mas)); + + /* find_rev: start ->active */ + mas_set(&mas, 0x1200); + entry = mas_find_rev(&mas, 0); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* mas_walk start ->active */ + mas_set(&mas, 0x1200); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* mas_walk start ->active */ + mas_set(&mas, 0x1600); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x1501); + MT_BUG_ON(mt, mas.last != 0x1fff); + MT_BUG_ON(mt, !mas_active(mas)); + + /* mas_walk pause ->active */ + mas_set(&mas, 0x1200); + mas_pause(&mas); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* mas_walk pause -> active */ + mas_set(&mas, 0x1600); + mas_pause(&mas); + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x1501); + MT_BUG_ON(mt, mas.last != 0x1fff); + MT_BUG_ON(mt, !mas_active(mas)); + + /* mas_walk none -> active */ + mas_set(&mas, 0x1200); + mas.node = MAS_NONE; + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* mas_walk none -> active */ + mas_set(&mas, 0x1600); + mas.node = MAS_NONE; + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x1501); + MT_BUG_ON(mt, mas.last != 0x1fff); + MT_BUG_ON(mt, !mas_active(mas)); + + /* mas_walk active -> active */ + mas.index = 0x1200; + mas.last = 0x1200; + mas.offset = 0; + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != ptr); + MT_BUG_ON(mt, mas.index != 0x1000); + MT_BUG_ON(mt, mas.last != 0x1500); + MT_BUG_ON(mt, !mas_active(mas)); + + /* mas_walk active -> active */ + mas.index = 0x1600; + mas.last = 0x1600; + entry = mas_walk(&mas); + MT_BUG_ON(mt, entry != NULL); + MT_BUG_ON(mt, mas.index != 0x1501); + MT_BUG_ON(mt, mas.last != 0x1fff); + MT_BUG_ON(mt, !mas_active(mas)); + + mas_unlock(&mas); +} + static DEFINE_MTREE(tree); static int __init maple_tree_seed(void) { @@ -3011,6 +3635,10 @@ static int __init maple_tree_seed(void) mtree_destroy(&tree); + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_state_handling(&tree); + mtree_destroy(&tree); + #if defined(BENCH) skip: #endif From patchwork Fri May 12 18:20:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239640 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 2FC1EC7EE26 for ; Fri, 12 May 2023 18:22:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 029F0900016; Fri, 12 May 2023 14:22:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ECF3A900003; Fri, 12 May 2023 14:22:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CD436900016; Fri, 12 May 2023 14:22:23 -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 AC55C900003 for ; Fri, 12 May 2023 14:22:23 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 8B829140C33 for ; Fri, 12 May 2023 18:22:23 +0000 (UTC) X-FDA: 80782422966.02.4FF243C Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf19.hostedemail.com (Postfix) with ESMTP id 3F3091A0015 for ; Fri, 12 May 2023 18:22:20 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=RdYzurN6; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RJRnFQWI; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf19.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915740; a=rsa-sha256; cv=pass; b=UKFYkB4YUa2OMNP15eFT0FmXSSDY2VaGi3lAufcQYG0n02C4YjGGGF5ZKxVulQczBb52jT nhT6a8r+YFI55a/o5/ukQXc1oDjNT8wzKokIeAFwRwOIoNMne9uSl7d1BP8WOLORDIRzTS EwqEAW/7OG/ABEOeDpfYW1sbwIJWJkE= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=RdYzurN6; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RJRnFQWI; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf19.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915740; 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:dkim-signature; bh=Gf/8bP5/7Y00ZHHg7g7YJwogjH7fdNlLAETXhQj1hlo=; b=8IlqDOE+CWXROkr0rMsTzyZCRjMetEokzxRlRu+DcHraAdPuS3LpjFEgNsL1U0pg31oMhG Pr1ZJRx6V5J+MhnjQorb9kYKkSbyri3L0Nc+InnaNoQi+yD0924tvpueyVlTbmog+Lv4WI tpJ4x689Yp5NM7tdyZuMj4xdEIF8fEA= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF49dt010136; Fri, 12 May 2023 18:22:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=Gf/8bP5/7Y00ZHHg7g7YJwogjH7fdNlLAETXhQj1hlo=; b=RdYzurN6Ys4MKz/5qV3veOHsOnLk9LbAeu9SV9bnMgoSV9bwDm5/5HvEZGCDWi5kPEtX IK0zTuWhhHqzAMdC+6mFzfuVzSfxK4fvehC5UtDAhcFCC3Zgs9JsU5Mm4sjO/ECOJuzY SI2HFQ2yvrwXx20eqc2PUnXGPC83tAN3hbBzD+mw7+j0CSpIFT/j0THuUqQ1JCBgNec4 G+mFLkxsJaz127ikWX7z3DrwxqtGi7Ds/40tJZUBaHhVVNJC4T+IZx7+rNfuexkz8h9G EfqRMbSpAtvVqPK35EUnyGGKvrzQFIa5DNYaIgGNzrRDJ2QXA+xHRGfvtZlWniQ0RnTk Fw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf776ubhx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:19 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHqHrB004416; Fri, 12 May 2023 18:22:18 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf7pnt6cw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WjnKh3qSVn6MO19HC2IDjnPyc3HUYXOHsUxhyAxu3dpyqzKFF9Z1hd0o4Vh6ZKPaOGJRw+vTEQPKyJHZgpOvC78RL0O90l3O7zGQpuEtCiGDbqPvsFW0NLWZPDiS9fQb+PXJ/ea9m/fC+BJIXp2ykSGmO7tmah1PT8pWi7AnHwnA3zVLC+FFbUihVk2N1hlrYVcQgEW0Oukp4BaZQTkvFW0DW9T+gtwziN8aYbGYzfV73dskt1wIT/ZN5sof/rfmgT7S9mS4nZ68OdBGzZiEeABVftxlpKMOGxL6gkftKdRx3kHAcwGLkAHQr1Oese522LjubpmQlHT/4A85vfB2Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Gf/8bP5/7Y00ZHHg7g7YJwogjH7fdNlLAETXhQj1hlo=; b=hFujwy9/9LTjoeIqV/+yO7X5d37Wc0omRNdLcA7JkNdxEO2lGc8UKz6qdxaemV5GEEKXTA/tXoJaIV2IFNS6NtwU+YmzVL1n7uWAJ/1TfY2D0t/6a1FgZsKj9muJAet4iXXLCy00FGcV8KVS9hyJ9rc8lXCpO/8xZvOtLqb8/zrA+WIqCST8EZ5fgmX5XmqS9RynZhvernRTQL9IR+rLR1w77BSHKnUZsopkL2gU8Im46TzTl/RViqXbcLQzDCp/Jg9NAPulHg4cj2P9fWQlZqJA1iD9j2JhdNmlRWceZF/6MAhueVLJuJZEUqmUJ8FD9NG8v983BY8OmsC9Vz2w3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Gf/8bP5/7Y00ZHHg7g7YJwogjH7fdNlLAETXhQj1hlo=; b=RJRnFQWIoHDEii1rlJo52jDvBNRsCa4DtZJLWOqN+UCaLURwqbrFr42cFavi5mW5vp7kIrh5KEByf9U+cZFJpgdq04oYhF/o45thqxKBJFGcgpOCR9qRq1/Io7hipNkW2HuRXtehzvCzwpNqNPJjEtum27kOCWhGrZ8Gj2/IAls= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:16 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:16 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 34/35] mm: Add vma_iter_{next,prev}_range() to vma iterator Date: Fri, 12 May 2023 14:20:35 -0400 Message-Id: <20230512182036.359030-35-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1PR01CA0143.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:2f::22) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 99c2ad52-d69f-4956-a479-08db5315d0d6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z64qFUOP1lHMrrTR0tL7R+aHJ/0uyM6kUp9xVQzbZ3O4YxMaD2eefn1onfDir/ByoPLAX8TGvpcXZQKgQ3XqFph16bqDiB9Pjph9KFA1IGSgW02++JFi/HaRBksJF8isGoEfM+lfziw21nb7qEAnLMRVv79jtTGoCblziJoqyYayRg8tbZYUPZN6OZH//7JyMzRwxFIgSXGCpCaSnjm7VID4nSxT+pfIFCCRTaqBDdBwMDnP4bh/Rx6qPYhANJ5YKfa1QanbeNn4DDl+U/nPbMPqUi+Bji4VeANAMzICyc0n2IBeN4LE6iaX64+AH1kwBmTdok2efjhJKQujDz6ZaB+1CPxCvpaujTWmOq4lzidF6cQLedXM9YTo5aHpoLC0CbniyRTSyQI0B6fxTjT6nZT5rsYP2Plus3rn76EWFXE06XqHOShdQBjTVt7NYoM8oQHo5tAMxCGaOk5dIhb4QlzhQUPp+lVGh34NYw6W6ctcXlczn2DaPYGPBU+ZVgfS5mPKX58Ft4xqENKtcZLKud4mNV3AdhG1Z3oD4Yg7cCsarM+6RqA4JxIiawlpS67V X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(4744005)(6916009)(66946007)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qYn/FXYp8oHFSQOJKo/5yo3t5kwcLwpaLhT9UotijVBoTdGb9hyErVVwNSPYUPsVMOVVY7gdPKYaV0XQUWqizZwVUfv0CknroVv300uJY/xgXN5sWVWvl1d2/fbm6jO6r+2Gl5Wa3W8wgjXTeB5IpYFUxgp9xZZUHsmA12bNNQFGTAOl4WtpeGKASM3qiogS9Qf4vcEeau+kCg1Ivwu+iFkwgmS0Tj0piub/8O3bMv1Bwu/6Tt6m0Q+zrwVZ6fYF/dV019d6a49yhQdilT7/f2f8NFWDTO0BPt31XUMvX4zcxS3sGQAZk/7QYZLabLLMaCqJFC5DM3IA4wLo4FslLi1RNhZBmNKl4Hy/BjZBwWaINxDbpk+PNYbhQFeiIQtQEx2OrbMyOSj/Rj+/YT9Yv4uwKqEtLyv6fpSg57JMjePPEBy7Ep4QfCd8QGcvPFtIO/YbMw171V8aaqAOx7QyBFJCfjyQSjPiFSAfxL83kiI7Sn+AHCEo5UShFLBtNqXtK8B2QuS4ZLRUjqMeUMgig4AzK0qAL4bsiPkrZI+fHuQOge2y5wQezB7B5RV6Jb3Xvpo9JGVFOfUYPQGaKLlCF9SPw8LkSMfVPV6s7nmiC5MBC9IMH+ymPKw21MHbR+pSzh2XV64/JivveBg/L/6qFBWeSobSeg61+GH3bs5vu3/04d/DmNw7MTE5nkg0jBWcNu+l6DQebZiQwzCld8UHac+q8vMmNvoMSKXs6VU7RXmYbPXh8eS5+7kddRGgJ7SMwZqt0OsKGAZla8swts2bodI0A4NjP9FtARxlhNdtGYlki6aeYtWLc8REVTQ9dHBeWAzfmC1SRB5spEwBXl3IrNQ/IS9wHWC0TTTcgEiCEZoU79dck5inPYG/xhS5llC/5zhmDaTxKRtL7sKCStS/cAzvBURWuqZEKsvdjrq2x7D6H8tjarMQgqCI2JAvE3+mnfASyew2j4yVKDzxqqv9p0xinnq2RH3G3x+OI5qLWccsGzBOOmoJqmaBK/qLvzMtubXXf31GAUmJKf6/djkjCmyDAtJS4moDdeiyM25ZltaKs9LqZtaU9ROYMxlku75lbfyuVS0bU7QzFfw5wAzs1kWdNmlmmBdwSYnroT0Um7sRF358pcwl1fXFwCiYdekuWdyTan5W5iNX7rjrJr1gwuCj1JhNeBCujOSUlAa5p+ks0/8enRtBEfJHwOwqoYkh0WzKNM1T2GxuIKqFCborEf4mR8Kim3rUPhJRCz5dfF+EyBuZyXyP4/TcWk7R6ULHY53dbkntKDwU7ElGn5F8vmm0Qd93+ujre3C87vTSIjbp9hU9H6zI5yXwKzRg4km0BlDwX5iigDjYMgbTAaVvhWZDGv11p+QE8VMA45mJPsB8ai28d6lfBiQHEOWtSdGR5/Cj6b1XDzH6R8Zwe25FCwuNkRyWRxN3AQ4Un/f+RRQh3cVQ10P/C7R7cuMwLFudDv5fR6PFy5wHJxbqu1D7wQrXQGb2HY9gK2sJxLf5stMD8s9ylPQwdBSZmMBtqaHhVFXrAoKAmYS0MM7vvMxRhWexL6Gsekp1cZYsf2KICLlGZVrpWCfunPAmY8hUb/4UJAF911ELTUTI2FdhcZhMGQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 51VBEs6QhHtHhG1hdTRlzn8ZgiFw1pscaBlNLFFASxdr+hSYGs2uAstGjwHuAoS0rWtjsJxVZhvD9M8bTEbEmAE2waLk78JflAQBitzrHfSZDZwkXoGFnc2UG6oAGRoMbBnsIpLLlOMbMvFBysfurj8GkaLH5tzwivHvzfttd4kFTxZMAy8u6MFT9Jai63MHWCOQ2+RbQOwbnyo55ta6q9Xymo3yWp0pxZxelA3XYGbu/jyYCS62dHkN2kc8pnxol8l3didqRj3h63WU58LygMOXuiIQcDQQLCmaQ/1tvinMzV/I0Sl2mYljKtK9IoXjxPqEN6BxKw6t9UaOyzGleNoCXsqggSUMT8sOVfhIAv+VB0J2PIHkneDmHZPsScmeKM/RliZcqxx01sgSrR5gFQfj951H3nZfbzrJsY0TT+1rJftO6ESCJILAqPpxuMPXjoEZPxZtAfM1M9B760M9mY/q+XpipQ747SRLWtwk+he3Hj8pMtLAVMCyjAkNE/nTUyyABqEY0FvnGK51ZQzTr8412a2ZjGGwdaGYTYT5pdNffhywOE7KHiZvJmhvBjGZpy/b4xj0MTvdWBrRAB8xKq2X2Oc6NvJTltIgUPC9SXizvFW77RDEpq8emJPAuNfCNAFoqer+QCywT4SzxGekjq3sairtSYW3n10AUX4Y3BqhA28j0eFyUOwztgj35M6ZnHvGKxBXI8slVgzu8wAVL+zd+za1NZq/0MkKf8/X7GLowK84pjjLW3KNJVXUtDvnaiU+GzBElgmbGqqBR8DpoMf7VLI9mjR+32dTDawji5TAbvnNykyKXDJEXqV2L1zN+d+NHTJjwLkdRTxuAJ9h4t+zsxdBI4FWKYrXBRUda8NCWRl0BvC74j/pBlckuyueOidUTY7s8oRcXTed10ObWw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99c2ad52-d69f-4956-a479-08db5315d0d6 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:16.7196 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZFGJOpVmj5EWoXOVaUr78B5rj1gMw6dVblYbx1QTRqzxAYfMZ5SQqCGwY1H+rNkpTRTC16A5Csjblt5TtdfV0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-ORIG-GUID: ClqZiwUU-eUopPvTNZvFGWzt8hoBwn4i X-Proofpoint-GUID: ClqZiwUU-eUopPvTNZvFGWzt8hoBwn4i X-Rspam-User: X-Stat-Signature: rbgg6ajtoihab4ce9ozmxk4kxraxs85s X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 3F3091A0015 X-HE-Tag: 1683915740-452117 X-HE-Meta: U2FsdGVkX1/4jooPLL+U7Tjk81x+MSDx79UgfrmcrQ3/BRtX71UQuTaOrPfX++WqP1EkG4lb1QkWIcpiZsQZqlBzsCosmuCYEJPbLZnZ9+dwjiJvgbCSsnDUDL1XOTOsvQaniBP9oyco24XssxeQIbuFAsmpUM73Ozs28dkOyLssIGgHeFpN4mECY5HDLCcBWqbbUdjiBzKpwRfWFKUp9zOJSY5yhU8kS50FQxwje9RPRcD544E1d2ef5+3E1mcHt3/US87Hfd6pcFNYRAVtzFWWoJkZGMVRQNskj2CCBau1JSKyNzV+09inY2ERQOjtIUZncArYqJVNfxRv6yNQHN0RyjqglVCNIGpoiFn9YcYh7N1iE9Ga4l+Hy+90xsqvAPuSt98V87KRdAV5f2rzPkyaJqwKq0n4zIkYoAZLlUWJQKACmIuzkb+IhZJiVZxax+DfTUh9w/PPoP6ZIgsjnuDv0EgyVVeB8JJZHBUMFItbxUoELqwcMYyhioiPrpAdphEHaBJxsyHW4810ZbW4yWTJlqqjoTG0dYO3hnPtppazTUHc9JcTlyK2mcmBnZczRkVWAF8etxOUGpk2JI+iXXGDLslRtBwSEoPu4WmfMUG2YxKQDJIEGcTsQs8U/N9WAVTMEyNnFvAvRmQ6oA0Ic2Zg8ziSXIorigjcKPftxvNooAXfqZKNihtIRx1mR698NeSsqfktU75dsnx8ofLJGniDZ7dC9EmX/nCxnAdxMZCyb9EEWEzHwnqdyn9/OQPGLjV06USQpgZFagweKquzNtZICvVNu3uzEMlELzBDEZ7yKzCB6le8AqOXoROm/paegZ1+i06ytjchEi7ihEOPh/IzO9ibn4WY1jXvRAE3iot5fWwPeuvvnO929sdp2FhRfHPPHP7oeglfCdLAhwNhJWS7At1kY+RS2m32AN9jeHszyfoMbZYiZDjdHdhXiYZZR2Pv26+Nvv/SDqOoqiD 7qCPKKmc LkAHYtR/nyPPqM4jSy+k77SqZ76hbiK6lfrmFgLCSCOABp8iXHqBm9jbsz00xHCm2+jlhWpNAaomAvmJg5qZkZM04MVKXDWrWfqjdOb94DKnm7wseMYRvFJVjge4lcrLUn7nO60Nio3zyPLu5u43gvyjAawDdxL55yvyJflAMeFFN8MD3xjGJ8CumKLoO/Tu8aJbSf290j4J5iV/+8khvJvhz3xjMA2RFrXDPA6iwa3MtxLySWpJrVI1F6CCTbBZcyltTgvz7UAntZr9SQtsppVIhSgXrP+JUqQLgR1VrYFKQ/sIq/RTgLvxrJPHX07gi8sF5mujCUJ6J17PWKNjO2v9YFzoopE/0UAzVDM3B/3KM+uP1LhEfuUjiIcs9hkVxHyUPY1cKL3bpto/rm0iZeduD03rBYLDNcGjt7FCnKGUnDnM= 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: Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/linux/mm.h b/include/linux/mm.h index 7b1d4e7393efd..1bd731a2972b0 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -866,11 +866,24 @@ static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) return mas_find(&vmi->mas, ULONG_MAX); } +static inline +struct vm_area_struct *vma_iter_next_range(struct vma_iterator *vmi) +{ + return mas_next_range(&vmi->mas, ULONG_MAX); +} + + static inline struct vm_area_struct *vma_prev(struct vma_iterator *vmi) { return mas_prev(&vmi->mas, 0); } +static inline +struct vm_area_struct *vma_iter_prev_range(struct vma_iterator *vmi) +{ + return mas_prev_range(&vmi->mas, 0); +} + static inline unsigned long vma_iter_addr(struct vma_iterator *vmi) { return vmi->mas.index; From patchwork Fri May 12 18:20:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13239641 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 8687FC7EE23 for ; Fri, 12 May 2023 18:22:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 580BF900017; Fri, 12 May 2023 14:22:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 50C73900003; Fri, 12 May 2023 14:22:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31091900017; Fri, 12 May 2023 14:22:26 -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 18770900003 for ; Fri, 12 May 2023 14:22:26 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D4FA3AED4A for ; Fri, 12 May 2023 18:22:25 +0000 (UTC) X-FDA: 80782423050.08.28A669A Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf07.hostedemail.com (Postfix) with ESMTP id 82CC54000E for ; Fri, 12 May 2023 18:22:22 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=1Ll5Le8j; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YaRxO+Rb; spf=pass (imf07.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683915742; 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:dkim-signature; bh=u3/zRZ2Ucre2QO+L/T9jdiOBbG7EEf5W3yMRjcw71Ww=; b=KPmTwAeRyxcjk8HilPs/LbVry9A2Y3mCZo2Fr7ufY24vWbqELULPhxvcqe+//hGpCzjDgn V3+V0mnv5ro9UNoNgyuCnXX5IBpVyk5MO8aZmqGqNEerYARmscSgeCiTbAMYtlxUXWbPUy rCVDWGF7TVGJGGWJUBZcPLlQNGJATEE= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1683915742; a=rsa-sha256; cv=pass; b=37L8xduOpVqBcL/gYpUwg6mVlfrM16JKFw0nBSGzum4itKbfMJZr+woujz0dDDBQju9mfe iSEuCD/nqKvTyPKdSM2qfdPIUWimRUP0Xxc31u8/m/UQlTejorCI3xXWzuqga8//5oYcwk lwguA+YlwOwwVvns6uShPUFRp/47qo8= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=1Ll5Le8j; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YaRxO+Rb; spf=pass (imf07.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CF4Bpx002669; Fri, 12 May 2023 18:22:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=u3/zRZ2Ucre2QO+L/T9jdiOBbG7EEf5W3yMRjcw71Ww=; b=1Ll5Le8jT9nTW8BCgVJgQCpqJ3znWT+gUaJul275pqaVq0yn8lKWyuFmTSnRYu6MSBTG 5YQoRh76Bd3+x+zfK3HIr0iRHOZTkDOGa1xjPGy9L1aOHBMMijdJDaF8EcQ14fId05v9 KsX9j1UT07ulWzGqV0uxjhcff68NtzVe5DWRUGpYwbShYnBO3hjuzFpyVLShzkY1IeGN Hg0nSfLqrFMUlRIsPCMaFKZ45WmzHF8cP7czRBFADKcbijoytyXXS/UOuLfF/eVxgzFw XSEt36049dm5SRlVx9F0fq4O4WBL22uXTzoXbacomRskPn2z/LQfhYv6oRhz2qky97Xb Eg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qf777bky3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:21 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34CHDjDJ018568; Fri, 12 May 2023 18:22:21 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qf77mjmp9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 18:22:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M8u3sf3x6rts9LBNiUnjM7y+ajS5HlxgpiGPylBRid1Gu/3eXzN8OGdBBpWMTyBU1xZMsaVgOoFevI3zB2CjH/VVE0MJj8ZlJ1tIAHHU3FzxHVLBWjEf0pdPb83zwkZQf/J9K/mVZgTNxnDhhiQO8naRTYv1E0YeSDGJUCE+CasSBAd8y21n2cFwAPx+Z1gsUcfh4jfuOLUK7Xh7dIvIKeTCDw4M3VoFIXsb+gYBo/Pay7n4LU9gzjqWpBp/BXcCPpqECFvb2hM5yeQKRdkcbhPIXiKQMf3SeDXL1I2R31DV6kXlaBJ3lqOtw2gDlmhSgY6rqlhOMAJCk7ijlg962g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=u3/zRZ2Ucre2QO+L/T9jdiOBbG7EEf5W3yMRjcw71Ww=; b=WupKGF+GJzImrt2y+fG2cHOFyXliTAPCBZ8oz5HZE6ju3kuBDtDwAd+VG0RCnRMJxoQN5gm16JU0dcGAWkaLQcRlEp/WzUtek4aZiZN7GeDm5lbRfOhfWh/+7u3mUra+eMhLl09oi2URIBiubknWuou7p5bB7mlwu5O7rqsj6aPMS7jWfYeakgIkWaOgqFDpy4TsEhTC6NaqgUK/i5bvo1eWl3F2r771PGkvkwZ+LvjUN5eWmzZoURYRG4WOB4xqnD1RAIf3SRKKlxv3z/DJmYKK5QAvmk7QhlO/gl50QTJng+rhFMOs45WJCkmMdzzbNXH1x5yJa3Nbkg8exbMRUw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u3/zRZ2Ucre2QO+L/T9jdiOBbG7EEf5W3yMRjcw71Ww=; b=YaRxO+RbqjJdf8EdkwNX63ENL0gWKTIBQUbV9yVCT6LHb/1z9dtQ7Ut0jBSJhVR0Ty+MdOgGP4F3FWQCN+5hCuppnbdpQeI67gV501Z8ioxBYXolQ5r7BSgFPZh8ewEC2G/jevSTcH/s0sNMvpyWCyzXds6Lf0Fdx2nUFq91dRI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5211.namprd10.prod.outlook.com (2603:10b6:610:df::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Fri, 12 May 2023 18:22:19 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c478:d218:8f15:37c%6]) with mapi id 15.20.6363.032; Fri, 12 May 2023 18:22:19 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Liam R. Howlett" Subject: [PATCH v3 35/35] mm: Avoid rewalk in mmap_region Date: Fri, 12 May 2023 14:20:36 -0400 Message-Id: <20230512182036.359030-36-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230512182036.359030-1-Liam.Howlett@oracle.com> References: <20230512182036.359030-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0218.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:eb::18) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CH0PR10MB5211:EE_ X-MS-Office365-Filtering-Correlation-Id: 462413e4-f6dd-42f7-b5ee-08db5315d232 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nqWWUB9XsBaGiEhb2pkUMauq7rRLJ1TF0JfNrOUomOX06vh2DPBqFngqRg8f+O2bzZx8hEYpBWdLlzisDgFxqNCA+PttP8DOOiYDb39OlL/iQ0YP1Uad8jZDOmcxxRtP8sLOs/3ZBRtGsnHhnhBL4xs4rkitL/RBEJapA7+uLVjjJOAYUwB07IZOrD0Eg0wHwAlC1zpf2hcyyFwvKKmBsVHrE5x0AU2XxD/0Z3lktC8KhR9ZRd5dWDBRnZAxM7P0bGNgLvnVVgru8Ud/OSla6HqHA1ptjLPXqLLRY5L3zg/oSkLHzKPDNjD+NrtEbBoYswh8QOKtRkSve8DqSOvK+vY2WKvjCIC47/41XWL/O2HVV51u49nAfiKOH80h6CN1TlRnFieAvx7UYmXdVI9CwuJsTX8seoQF9Awl5beAtrnvkRpBNtY8Y4qineGgvLRhOWkRoxpxt8udJgb1KSWj2Rj42GnV5Lc1xsEOIu2C1wL4l9g5WyTUvrjIyySnQLUVIcLuemPVEyukg18WawA0DbLQRJedKoRJRV5lTBFeeVVz3/tuZhf/C2ZHnkzatX3T X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(366004)(136003)(39860400002)(451199021)(2616005)(8936002)(8676002)(6506007)(38100700002)(26005)(6512007)(478600001)(1076003)(36756003)(186003)(4326008)(2906002)(66556008)(66476007)(4744005)(6916009)(66946007)(83380400001)(5660300002)(6486002)(316002)(107886003)(6666004)(86362001)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1SjPSGLKeboS7V2xT16ugtove53isD9znPfG0SOLvo9Myi/5+r2kB0Z8yNHYQ5iHLTrYzEglzeSJfPI0L+P2jqHl02fuReG1brEtg87rio88s4J0j5oTsiMD0DlkFrYdaBYx04T4ytD/lXI2mA2SFp0k/pi77dq8ZqbNI6+KVkXeXJsU0hv+I8kfYixa3sGu0/lkuz347bhbnI5e5XKpy0P0IRdYX0Ot/EM71y5bmnbuKBt0mH4yBSwibXgDRBqqWONTNnRwyfpk9+Q66+URvBjpnGFbTbQdcU2IzkKhOsa4d0+iP+2UYDR/ZSnVabaRcgdM0DYlMDkPJveWG9UzMXwV/qZ7XwrUckJ2OJv8jkm6lznyqKI+SCiZLLpKu3UOUj28ZFEWIsXb3XRgoTCm/IXpvras61cWifrLozBTAMaXDW7WKbM9HUw4CE1r4fm9vmP+QD8kJ/B8h0SaWp4GzIA5SQgTVz59zMy0SPbYlRaGpIuhDABzKTeq1IvT8oeThFtzc4JBlSiDsPlX0DR5d06bIl6HnUQzIktIzKAiFXjzYe2X2/E+zc81yQ0ZxX2hS0VrmCvhN84eSCCjp4uCTky1HvyoHr5bYvkitnX6Fa87HwxJhEtM5FIw7JND094ObNRTeV+/AkUWBBKlaegQ0fN9IuZRt7OCALcv09TI3OxVHG1JZkldHqFpUJoA73IhYhHxXfjz848mD3OVdwWHUOwB6M1NQYAg6OtYR4YGJLfbwj+8EDWx5daSMkZT6rA+Nzbwq4K/4uqD146ztFMmLlT2X+kB92ThwSTGchkj/QWc22Y1+3e6VPtYYN421uwW+Kckvii0RGKAQtISyQjwjjWvaJtxUgFQv1CPwr7w09kmdyhTe86e6ck5m1y2ysTI4HWebmqytM03UvkyHO6plYboEJZYmeeMgm7qQfSPCEEwdgj60uxPg2CLEY44h/gu0aZKF4acJJJ4xyBeeVuynYCdiZV/VfgTABwK9zmS4RP9IpjK0Ev+geHqP421w3Pz5oOOQQQkTZELaXtvql+REV3Cc3V3ml7j6OdJXHkQg06eNL2BaXzwDiCHNvxFMuoO9paLqBzKvlsXpzxACm9v9KYEBS2ZYzcTlT8cOdBBC/vj75Z4nuUC4UL5hECI8yXkXFzxitn2/qO7RiCuDgvPglR4Qhp/YTD5BocPBXMo1K8ZkBmQp0CPmWehs+R8+/WHweHH+r8g/5xvzAQfgCyuamgKasHZ6pVZt7kKuxFpVpeoF/iBs7tlQV8IfSmvJv8JcF5rrnIq4GS40ypUKe09ltdSv1OdtrPDiW/cYICOFnxt+RMgyaY+l2iSSX9gqD0S+8WexoGrLRqnSZPHVROvppO0rIBsLAaPhqbCOep8qgCyEaqd17eQuposDm/cEIDFo0nOs71X7buPRDF7aE+es8F5RTimeVxjgyOCqr/FTdHgbcNDzKQkUNQgSzeHunRhuHCUTgx6M3RER0dX3BRLExoSbR7hhZVAki0Gty9E+bi9kRlCoga8JcwDlvXTdkD1DRR2WSN2BQuSc7oeEunu54dj1EBTYj4UPV8WtpOwTjoggkn43AYsNJFwfPykhUGBLeV3Awy3nf1kjDtWTFL04g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: tNXZxPm/afG7dxxOhTt/9LcBjnxEpaRzwCUXg3OqTurmpIneuP72S8BFZJndKSchRirQh8OhdhXEayToi+mABjhMrR6OS4Y/3DInYXcUME8Ws7RCosE4aUzsBUN1DBO/i6Y2H8grSyxjwhpy0LjvM1s4PHPvtgOTT/907L7b8wVakOH/+4FakryoTeXZpxZpQ1nrSkljjNAhtCKyelbZkY99t+BL0O9jZ9hwFuiEPmUQ1f3NXacQ0NMuYu8uD8ypnD3Y2uiCV97Yn2rBEvf9LGjKnqUV9UxvJrjer6iW6++Oa04TXVe9P5Aj6BVncF36K4S43PCCLQuc6snQL6loPEQQbzNtgjRHCzpCeD70kAh8IOoFy2xtmWIZewT6WPkN3dii13ayEjEUQrY+LjIMecdhkDfE3wpS2cp+y/LpMHrt6ylK5qK3eJPF6QuuihKucQgYA+1YRfbXg9D0KkpDVjXbO685DDadgImH3aoPGdXD6RLCC1dp+ZxITQheY70WrsNwd4OsCWeMClKrSLdIsC80OBLbueH/n3BBciBBiyyf2uqZA6u6vTzgwKonHdE1w85DuO8zi4+RC+C7ktqsD1ed2V2y0uTjL6WupTvLELMgpMoR3NbTo+qwZgUws+5YA3GkYET8otkSsQe5DfD30vzoe8cj6cE/LlrmVEtRHJD3TWnPDeH+sSxTJriC0qkOXb2RlXaxxEMOUNLKhG407GA8wWxTZNCEJxyUOxSA2IGsPD/JYH/vee0l6aXENFIXzQfeY2q99B3NWBVMQftISOtEDFH+LC/HZi+U5L7ymfz+PptXTvc1462koG9ONhNpFLznKkZq+MWLy38caqrPORJc/HfYT7wK0SIL3IKOfHR+p2jJTPCOYqmg6ZKif0vAKh+Bfy2josC9Mxy5xLfppA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 462413e4-f6dd-42f7-b5ee-08db5315d232 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 18:22:18.9973 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ileCfKIINk0eFWRnUh8UEwuF18v8CMAFubTGYriM3YyXpUt/ajnoUTUPeholG8IjHh+6z8mZpaRkmmDdiFX7sw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_11,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120153 X-Proofpoint-GUID: 9Yd9B89UlJPiXkQ37-0q0ahAYFm9MIPb X-Proofpoint-ORIG-GUID: 9Yd9B89UlJPiXkQ37-0q0ahAYFm9MIPb X-Stat-Signature: 6fkfqr8jhebas9wosr6gzp43gzb7uuuk X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 82CC54000E X-Rspam-User: X-HE-Tag: 1683915742-312689 X-HE-Meta: U2FsdGVkX19mkolTLFX/033s0BTjBoEzsCQlkQ+s539V4FjY7AfjCbvAMVH9zwesvoDIwEPCl4jWB7dL7g/dm5iNI65JRWQ/CnVN47a5comxDS3X0YX3wCAqD9go0M2iramrZ1ZnbjZO34/o3TefuaSQsUdLIdVAUQ372w5f8SoWol918xIwgw501lJcRsdK00s02Dbj6/D+OWvyJimHzl3dMC80tMkvqsR/Krg95ihz+2z4TdjlWjX2b0jdyB5IGmqvRPtjLbGjygU3dfe/aKvB1htzrHiDbUnGqDWsCj1ZqSSrqKfYojMXwuBe4uU9KXTV4g2CM5UBD48BZckqvcSvCPmaPlggmj7tV6OYw0g2ryBsR0c0ctgQ/f1uwkv8I4q37J+TghBnzxhvWpCvGgcoaLZMLfOQGHF2vzKM0bM4tQbW7kUznuZp+ij5lTEDv4i9FUrRlyVbWEzK8s+Cnx7Fmd/F1Xb8T+QByKmT1ZQdx4WTsCys5Eerkn0kp7NU2HcdqYhavXyVSamZSOHrPt4bRLR9mn4lpqkAly9cLvNbDnMlrrOXAgpY3kgODlKXgD+v9XdHYc4c/alWMygEU6/6bn3SkUaG/4tuFZs1gb1Wh+odRrNj5XQ13Zk7MCLk/aw7yvIXuV56x8RowIj6B0rwY+js301OW7TQXslPxjvc9NHQBhbwzxeb+DZQih1pUHjJLiR7MO1SVPf/b7RCjvZYCnwiXHga78e/6lM84B3A0xk4Ej+CthJETdZFK71m9DfpHnPHkbZ5aO9UPS/xijrZUAQWJq6fPGsWJj8jEs1DkcDaI7NJc4nvtagUskeTBR8SkSTx5AyaSWAyvBKM5WcMJ4WkdOWCuRimUSpsiKiU6gm8GaVq/nkmYm0NKSKamDXp5+QxN5J0t4VGz7jV+gtCvfBpNNEi8UbXQZdcjYznr2T9hOyR8H2r0zVFkjfnABT8/48EPppXVlK5UHY aHMWRl+L f63as8Zdj8w5c4jrQ34SXVYiTN+uNpTJyt8sMq/GU4VxhV96ReCmTZyqp3/69iOyDlT+eO5MXITeyThczHHhEdNKQu/Q4PBrXPRuH22F0QAFVP/nk14X2KILTMH8HyFlqFRMGk0O5hyEHDL2METW+CpGxRt+bkOSzewZGRHzL6ex5uYoYaDV43LdZYu21oZhQhtaGUAjhJNxnrXQh1mXyhIri44iRcT2SKEm0ZfA9cB29AVvped0aKjk4KSzALcvctlQHcvCf4NH+MlhHt433JO6UDOD8cjUyG0ydvFZUeQMhAubGHwK4mzorJyxT6BtrHchewmBLo+qdyGhzrnYIBXIrvNLu5dKBVM+tFdsEu6CfAIeFk2bzy+2DUlvfDyp16PaFP+8IJivkXo95mQTGy8iIpxUVKWDBfN5ygJgjxfq2OUk= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000019, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: If the iterator has moved to the previous entry, then step forward one range, back to the gap. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/mmap.c b/mm/mmap.c index 1602c854133a4..71733953ff836 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2636,6 +2636,9 @@ unsigned long mmap_region(struct file *file, unsigned long addr, } cannot_expand: + if (prev) + vma_iter_next_range(&vmi); + /* * Determine the object being mapped and call the appropriate * specific mapper. the address has already been validated, but