From patchwork Fri May 5 17:41: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: 90530 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp584510vqo; Fri, 5 May 2023 10:46:33 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7TIkvUa+QGf5z81GhvV7zsVQLtHBpZ9ytY2YLOQobssbXOIp9nZzztb9qd5czbZ0A635nZ X-Received: by 2002:a05:6a20:12c6:b0:f3:47b4:861b with SMTP id v6-20020a056a2012c600b000f347b4861bmr3155443pzg.17.1683308792810; Fri, 05 May 2023 10:46:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683308792; cv=pass; d=google.com; s=arc-20160816; b=ObMZ1AZBKlaX/VMW3Ued603/E8hsep8jPVHeU3BdDDkHW+BonADb07+yrcSEmwdhDt p3UY1+FcQdZYjrGJgpvdS0MZoYsWIQzy1zneaRor4F/afsy99sXmYbu2dq4PobSLBEP5 zFBzHrdN2kkppd3dmGUrILrZQICRT5R/sdiEidVo/ZUnOfxWLLJrqIqe9zPPPUdI1thd eoRESnf/+CTCWlcsNN9iiI9wLBO4S6gCVoHlLTjZALwSQ6rP4XLHs/wtlexVmLzFfMbE rttCT8pMp5m0a0GMNKlsX9qKrk7Ma2TPhIIuvGu3659k4RjWvA4D/BHxqZd+EcA+kSbs qKdg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=PO0W61VFFcUaz53IVxUaRxBQyFx/sbKsCEqLpzGF0n4=; b=HIQJYDGdj87uKSypiZnygtXM5sH+Z4J7C1Dn94dcBA9cJA1Nw88h7160bb+JnjB77q f1j4SbEBpleHpwQO2nNCJZxlvGShPWWjAs5K9ylhItlAaVFB45Em50wuaACrBP+/6j1T hHD1Ufely5Q8M9IyHipAl0q4lPAOUcJq3Vw33j6kzlY5K0glfs0wO29njKAjAHmhB/qW XRKUKPZ54ATSxj5Mh96+5Rk9ER3BYBfKeuPoLKykGw/CHVjBowh3W6ryXZmKNgWWcbEv T8Gsbck1x/I67QE0zhSpI/OTu2EWkhR1aH+tKuZUSqmWgi+kE96Ba8RgIFTGGgqzien1 j3tw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=LqEgasWr; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=uxKBO8wS; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s10-20020aa78bca000000b0063b8a36cbedsi2458082pfd.148.2023.05.05.10.46.17; Fri, 05 May 2023 10:46:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=LqEgasWr; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=uxKBO8wS; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233061AbjEERos (ORCPT + 99 others); Fri, 5 May 2023 13:44:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232948AbjEERoh (ORCPT ); Fri, 5 May 2023 13:44:37 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 434C21CFF9 for ; Fri, 5 May 2023 10:44:10 -0700 (PDT) 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 345HhMIR003021; Fri, 5 May 2023 17:43:47 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=LqEgasWrIA95Hxyv76IReGM536nr5WfgCJM6tUZkmg9tXemBCINBeh+EidHQPwyMpi8I jTkUywFWQfUhXWgWGl/Hdysr0Y8Xt4HVQGnbW7A+ZhH2xEDPCujPYQYc6KBD24vVxQVq y9Ub9N7I/ifI794KlHHeiA4wkHLsUJytZdms5fsIQ+5u8OKFCf7FDBPcoey53Qotmull J7q29TZ6du3h/u08h4aTTaTciuplRa9go2Ah68WTUkR9yJrCNOV7bVB5p2Y2WeLaekZN l8BKV/447qw1ScsXVal7mLNzFtH8K+SXFu4QHca7PSJ9FO8/UGdUuzWW7F+xK9RBGkju fQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qburgdkc3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:46 +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 345GctAA020798; Fri, 5 May 2023 17:43:46 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5ev6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=huoa2cqSggt1G2osgKmHveOHAQNKB935oGkMhOs1onULOZzhAaQ3sEOmuqSlUJRVJtrJCX30IEKv+31F9spN+9RtGsIUBGfzV0YdN2zdT4oK9JEx2enqqrxU7FTGndjU5na/LACbXn6vV+8jFWYTASQhubGyYjL4WyWUA0lfFCWz92fic8ilWUQVPCV5eaAN/u3Yj665cf2EDM7NA9g3mtSOfK+pGkQWgaoARJ5pklb3VDfIo76yVofXxwjHZAsL1g0n8UmTVs/zvLLG7izEcvQKvtm7/fPq49tVC/GJ641E5B6AsbsDY0kGbhbxhTmvy7zA3gR2/W1vtyHP+rX7hw== 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=CcAmIajLUezrQOWQ0AaGpOw24wYz7CouU+LYZhQru7fTLHOFqyflullcYQIDyw9XsStSiCA3BPaGxU+ndfoAdLZX9mOuRR02Ur6TfH9+DEgrJAuvYldtYvi9M0d9MaX5RPSljEHdqApGvX40FZA9N/evQGSs8AUd5RcJeY0tUa1/Ulf9FX5dWcvX6V3JWL7xl2i/IQOEv8uGoE+tjdCXl4wG+LfMaaNsCWOml9PDBkJe84H+xSQKhigQukXenIeVKzsvDz/y9EnC4o2DSP2ljPDRSYYRkeB7uKyWhWlN8EPSJZtQ/lvWt50NfEbTDnyCaYMrplc6Pg8yub3pmCrwfA== 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=uxKBO8wSHAr/Nhd1NX9uljPc/YqnMMHwnWUVdSXr02t9adO/mdiKHP47gTeoOue31s9slXroXh3ggoWwuaMRl5WAqFwrxMSiN8WmcFWy16VxSJ4+cnYkNKtI6hLg/dSKwwzf4AOB5NWnS+0o8b2N2C54BFUvhq1OjvOiAJjBW3k= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:43:43 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:43:43 +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 v2 01/36] maple_tree: Fix static analyser cppcheck issue Date: Fri, 5 May 2023 13:41:29 -0400 Message-Id: <20230505174204.2665599-2-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT2PR01CA0026.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:38::31) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 25fdad31-8e33-428c-e0e4-08db4d9044ec X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QQZijbijfWTGdAINkQODhrZZnAbATtGmdSvOto+x2uZSdEIdwzy6O7Tjb1TT/El2dFvxveXWbwLnSJXP5azk28Q0miPca/1FU+1rQT8iR1hDbnVk10iY/AbKdpv6WEqoAkHSBLpqZWZEX41VFASG7ZoFGiUaUhAvI3sLOi9kH9DwC6+k1PS3FQEc23IdTXzKd30u9oIedsJ3CEEai4nyb89T8Hh8lkrFWJTI+0LcJFOaBzwxDLpGqwcxKeVjgsnD3OEvh5nGDV/P7viLUX5LSyai5Q1Yg791fNbLgwmz7D9soObvZuV9GUOi8pN9rdAd2ZQSD3gMUKS2jsdty3XhKXfJjVOHwhMoEK2TFhSBCZPIilUyiur/s9OOB+qRet+i+u81OmbsxYnlpbZ1M0lC+kXLDhXSq0t7o/sNrWic9AS38g1uKv4AubRxkS2vhDjFksYdzbJ5r2t5y5L953WrA9RhqVQrdYF8PN4y+o8y5I+oPg+AALwfn07NIGMu7qru/d4VpKXSNP+YqK5tyExlUWfURDF4IHhn9bqVBFXmADESmRs8h9fLg3N2EfwHjqcf 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(45080400002)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: M5wW2raEKgyPH9xhWQAyAjzLQL+fHOwRerCaROBtB1GCcj/A/KeVQQ67yf20eKein7DxP1d3ZVFDTqKFt/MhCsYnad5pLYPh1WkwlhnlpzJEHJoormswvGsVJsYuJa47IZkjukg9JwRT9V5kaa/cq/RXjWfGacQ6MBDr5/IquSawhSmdvBb6EwVYXNZY7bRWuAqZFaQ0rECkF62L+SksKJqeIti91EuMPN1n5LsgJlXvstoC0Z6KY08T7V/90w0BzloqW+owZFElxqyDuuu+SzsdA6XCd+gPX62edtEzfGcurs/xhAbpoOHIqnwP+GNyhLd4TK88/veul6ARTZnJ2Ez04L3hgZdGNUWLG0EgwLoVQ+n8qQ7u5KhKxERsQOSDUlnJEHkUeBgfRUYQ8VLVF0sxOUE9IMFYyd21S1c7sQqZfNlRhC21SMo3MNg8OQAsBMzwRDov9U0MsoCJ5cl94niuLE9T0djY9MV4+NYacRAmPjGLlB93dDyYKy/BitQbTaLqBIyd31XmFweCIUFnvsRQB0Dyf88/XFUKfw2c8V4HvS+W/e6BkrrtfuvhzVAqcNhK2k4dRf71K08w5osMNKo2inEC9hsK9Gu1eIBjnnI+2aOSy4aahdB+o1buZLQtcty4iOVgnNkAP5J/b8YK6yBbvkUn/2l+D/ZBk49sEOklGHcKYpOco556fK58qnMIEVcFHvUSCeeMDAuDP7WzFWYOIt7ivBuRb4HLZqEP9seiv6558oKGqH+PdwuRlWrzBIsytOv2g//tdT4EHl9h/Y2t7x4XaH3eWnPDii/iMM6Tjydg3PO6g2KmZfDbjdvqQ+lEBLsy/0vmDjM/0m4WB81CrvgToT2qd9sjndMIwbA7sZ5S9KOI0XeKvU2ahXwKPne+FvC3NbyycWkDlF1X9cllnsTepqqEPLxVKwv1neRxUL3ITZQHQCTcbYUP6OxvP/3Ui6qJAfQnSH1ohWlZBn7KxE/chZCb6RrsaolJMT2kxGjW5MBp7/eD7j/MYqWMosqq6ItvCEfIbNCPeL99LRRyf2YbuLubcqcpTAXG+xWvmAgFUBWv0uDy3FuaxPcnxUMMtVaJaXvnbfuK4O44t4JDAxqau9d/y0fujfEi6Jbd119wkI6S8Zf9JxCODHj1cWsgdhoAqFGWcfOoxyqcIVIZHjYHe9nujqe+lL6afNouDfYxV3qYFhh8kOWIs2Iats6UyIlfQr0/DwWfwHwLBmAFZS4csHSk30RxFgw9H+dP5GGleUP2v1/M1SOTPp/OlCiaAnTDHlSBrScHyaeoZcasK3kg72FVUPceXkoAdgjZXbVmdX8u6Td6ojtP/9GsUdpmGYYq+lOnnaWtKk94zgpNfkOH3I2FIAMuA6z8W+i7XHHbemPYvHNEq4bNomIXvkqEyISJFOaHc4fYMQTJjaT/4nF8Y7nGfWuhuV49cdIQRqZtCCTWKfwE7hJ9qmHGy2Huzm4a/Ql1vwDVIkMVWvaQvceGUWIdx+2LoMrK4+U7dltAHj58J4Z9Q/02NOmK7yLpAJMIUi5GtaYLtRbYh1QVLk5pHP6j4l0KCQaWLNQn9+pTtUyfPCM2xFLYLdxAxf52ZbKohmd9r/rrSmpyhQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jj+XM+znr5KyVqMCuBAgZE1jNAHzH4Tqx459WxVvkfTGAnK5CXN0Cdj6C2nM5vlzgcb6CTEl7/CzBHnvkCoVypUv26cx7+9XeXleXegen09vlImfzhFXkvAOCXlMfvDfUmHVmoWZ3xHnbokQ689mVaHM6zPt6kudMJmujyM6Sy5JZvF31o5qwgtpIgILs08ovmyXJMlgGgmAiQsA7F9XsuoniWCH3pfJfFdav/OdLK+e3z42UN8xq0oFeu2RCe+e1JZ3twEzfJrrlxu6J8yPkKQn4bnhCnL1d18fXCT6iTuLijorAt5SaJG/hCzfXpngt3kXOMwLCXvrUcUeVaCjTG7nau05sR+e2aqqkOim3nve3zAWAKLtysX6SEo9rckvefdVYXe2lqzTFtFts+7nKqi6Ftj1bEz/gR8gC2QEP34UsYnKZ623N04zKfASP3X593Dhvgj11EsYytVMTY4otLk5LRo/Mkn4BYE43GJ9zVJYYyg/0ELOGjfME8wNsGN2S0VkQth7UlAl2ra7N7C61Zlo9N8mj0bBga0v2opdAsXRl4oAd7r/vxaib8tjFKXEjSojHmCIeU/5wGClTJPyY2fWycmpHcMfUCk4Fc8Bds/bxUwYjyxM1dLVzGvDDuYChUhmLZvHST7blcPWMSGcsUIqCSOSdhBOUI5KFNR2DZXfirvx9VLaVuMXNQufpGdlO7/vM7MBpUbS6bW733EDGQBAV0Ayr8tBUDm8+e6VtWEwFNqZm+LSwSGGtIAutfbETIJVopCXPmRTQeFEkE1Qj9WWrjdosUDl8aKdA/tlZiPUza/laPs1Eh++FRuyJbmU7Bgr5JePYxO6s5znQFgzJ93AVhBPyJD+q8rgh67mfUKHeSO17rnHGrS9m365tQbaztqeOGupfSLsKcyMSwTzm7Rk/SKWgqQ3g3OHCVC2cdA7boWnYccSD9+szK9yAFg7hodka9BeJoVU+4Z/+O0a7g== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25fdad31-8e33-428c-e0e4-08db4d9044ec X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:43:43.1435 (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: 9kmt97bm4KhIoXfaX+3gDkh0irWBzApfw1CJfP4gLkCMxoBMw2CCz0jQOyoci9cJmCzIT4CoEB4Yw6IOqXxf5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: pMvzGaO3rIQXOkPOgtlMkyif9g1N5z3f X-Proofpoint-ORIG-GUID: pMvzGaO3rIQXOkPOgtlMkyif9g1N5z3f X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077200608810998?= X-GMAIL-MSGID: =?utf-8?q?1765077200608810998?= 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 5 17:41: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: 90543 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588595vqo; Fri, 5 May 2023 10:54:20 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5C9gct2nqT0ao44TtieKfYaYZR0rZzFgY+ON4TKZ4UcbpXRRu0ZtE7zjgGWhATiYYS/cFW X-Received: by 2002:a17:903:1cb:b0:1a6:f5d5:b7f6 with SMTP id e11-20020a17090301cb00b001a6f5d5b7f6mr9366178plh.10.1683309259801; Fri, 05 May 2023 10:54:19 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309259; cv=pass; d=google.com; s=arc-20160816; b=Gw8qS9V9mfNojNzogNlkubLg6eN/NJX6vgaQdyamWHOaLZWIOrpkON0aU0fKi74hwl o50kEGPq+vyQS3jnqtXHFcnAA51NXvpq7/N3C7z/dgDgot8T82P28/pdUxzxbMS+8+AM +8K9WyzzOGvBgpQIjcmW2JNgPJKHL9KP8yciglskd8mOOUHC7Iece2l3YY3ABjVUpWVc pLiOIKP0rZgmooe4JrWLdsl7WGopER07u+PtV8H/1SyQSNpfYDOonGJNjZYe4l/WJNvy 2k2ipuYPbNm7Ij9mIdbyqgP/QqnsUTdiOh6JcOV0OoCO4J+MREcFQKmzwDPLTmISzzfY 3COw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=S58ESfS5JJYWB2ZAlQ3vKg+/QpLNdflt2UxDlEU9y5Y=; b=CKy69kHshqC0rJ0hgkcoyAuh6e+32vzXX/jc2uRRNGH58dv8+zdoyDGqjPVrlrDwgo ESKjq40gJoGSv9AWgZA2bm7pyMDJPYhuSwcdfNJ3ZHipWw7qKAzaMfsFk8lVXujICMWq 2Juh+Q/DO1+LB+X2ilVtNMLT8WNuRIqw/v0/2rAXl3qc9oIUygwfrFbBYEKr2hMYYwnV zVRJJScAInZkuunlRjgmeogi9LyQHpSGgnGvH9gv9bmZI7Iy45zIlHWk3VxMzVlbPd9h TexNHQXyoYDDORZaxWTqI8z3SDpUVRCpUgvFXPPbUy6ZR1ZLQGtTK4lWYjZYSm39aKYX 5EHA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=QFNRDu+O; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=zxs94ji6; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s21-20020a170902b19500b001a1b5191202si2020558plr.151.2023.05.05.10.53.58; Fri, 05 May 2023 10:54:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=QFNRDu+O; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=zxs94ji6; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232944AbjEERn4 (ORCPT + 99 others); Fri, 5 May 2023 13:43:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232922AbjEERny (ORCPT ); Fri, 5 May 2023 13:43:54 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BB6A1891F for ; Fri, 5 May 2023 10:43:53 -0700 (PDT) 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 345HhK1h014772; Fri, 5 May 2023 17:43:49 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=QFNRDu+OHAY3gy7ncgUmKhRMYbfW5Ln4e7TC0gwm+kI/uxv6PEBKdbrhU4Wo+Y1rYjSI mIVKebbYSs3gRJjyAybOUhFrKImu2b3bXYKYzmKRXujJGXoUkFA3VG+v+ikgEupEnOtT yPzE6KkmmzQYBFaU1UJ05OZ/KXLmd4IxXd5B2Cxvog2YVwI8AYRJ5ohEtlzoQ8FL+dX7 VQEbJmzpMJFE7D/+6YjuNoSOWdVdjX3J5AQ15RtsmQNBk3AfGiIRV+Lekl/RM4f06D8W ID68J24K9XeU/GQ5kT/ArxGofxeic+4mEjcUS8iOp1fuKU/Pa/SS6Obs9AoxFZA8I3Fo gA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8sneddxe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:49 +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 345GuBT8020742; Fri, 5 May 2023 17:43:48 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5ewa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BWqo98ioCWkhe93YGjOvdaI9ZN96XqZ29VD3OSRVGCBgqgBxCjKnymQavNhfiLhaSnjVip+UbNt64lbxvhNVMlUxFcW7soFAnM+s1hP6nfRec9nug6l+yajBmjN23zRmxKVKvmLHSzgpBrCygE6IN5QZjGEstHcCIQkLTrxI9f7/6OzCed151xT5SnYdJq37fgTnBD1diZeb71jyHNfclx6KWExwy7OB/5q6IuVjOc1Zg0WWKdiTK2m4Td+zYplERQINIlOCa5gSk/K/5wq1aa7WhIClTGOFxYa/HEDh7ChpsQZZjqYLoLFOrP+9I3H3yT6Ae/C0xq5P18tCQVZnnQ== 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=mCP8RDJCNgJin1suoI5wxeHKAwmfyjyYeS9Kl6vnQAl/VPCJI5pwtXC5ldl+vZmjiJio8KSBfOsVg9MZw2mMjmdUP4qyhFJagNYZX8zImBAg52Ypve4jJQYCoe3sCI8VTTFYlqtmEBJnIkmY1IDXuZ5+PEPJS9c+BYvdpp5kb2gM3+EKiBMotsp/TwtkOSsdJiLS+ZUNDjlXyEjFR5eFQkavFrlmjjl7gu8nRvPlFeC40HjUYYDgYyXSEj/M7Z/Cv6F5P6xYOJIWzJn4KNJ5MFyO4UMI7paE34DcDIpNox6AQ2OQGmkHQUnfDIWMoaMAA7QkWvTiFNalzZfzRssapw== 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=zxs94ji61fv8j9wbDXOAh2dLx429/Cn/hI5AiMXkS+0dPA0FusQtckmYuiZUS+tgekc6yxA7l4CMjt8Crzrj9aQZmq7na9SVpW+Gwg3yejYKL3cxaJ81FzJoT4pXqe+oKHUTXNSkwUIfBU+NDrK4Hkzs9oEB6x+Wow849Vu/l4o= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:43:45 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:43:45 +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 v2 02/36] maple_tree: Clean up mas_parent_enum() and rename to mas_parent_type() Date: Fri, 5 May 2023 13:41:30 -0400 Message-Id: <20230505174204.2665599-3-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0007.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 86eb6d51-477b-42ba-a081-08db4d904678 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KY/DIrH1NDoZFyXEf7FUyHkksvShYO8YuB+ybsz+kkMEqjuPVr+Y68dXoKsBmPwXBmL+xUP9tvomS8zmF/hcDdUwnau+Zn6gr4IC8MuF/XImSN4QU//Ss4csrr/lKY5DME6+u35OkKgqJciTXRSL+D/iaj0vzArCstAg1RypCdZkViebcMTh1qmc23OWXRJJppASNg7WdJFuSGa+fhKuvS4AIBYVmUFfU5bX+yvhB29o1xL+xU3Ja8YWJfQzDl0eO5ndR39qj5oHcmO1VmimUwR115e4Kn9LXEOYUHR6o1MgJ5MF6LeU/vBQfso024f94+nD1p93jDjKGKFShnFDC7XBqJnaDzD2GEvVUiTjMl73FmTeTJ+yxxYR/R0NuOcCsCqP6/r8zz6HR3fWSim2LEIsZdK9E91G0c+vaR6IorJrz44nqot054EVNO+bE5KJbPhvBFLeSeYgo0Rlv532DS1mOfDLsBFLK+VebzQOdOVThuAxgVGkmevYrBgyycrX6xzNs+auYQB6QYwpSV9orW+Tsp1CFf/gbW9CE25OaT2poddsA2qs245LSLglfMv8 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2hMB07DAKl+LFD7DXRb/7o0zoxXbTpJ9rzytyRs0o80X1BABG9Kq09hJUC0ceqLQcmXcy2tdiYzReppMYIc48ECpJqqmRUoJuxvnjk4LI7F+5g/QaohR0z5PEqJ5+rX+GhTsCId7xKorB4wihOzOxTWm4LJ/xCPu8imR1quOehdT8FwoNH1KqGc6TeHfr+9DgujkKNm5p6MJryjKDtohgt/PfBHNN85OLYqAsHNulGlE/WqTyjy0dPGRhXbMgCFYGlHL9crA7vuMuh9y7poqbiwcVw8i9C+77frZNDQP5ou8XLKN9cwD0QjamGbuITCo/wRv4KjcUO4xyfJdA9QBZmyM3zJS14vi73J33PFvGh+pwA8Hc6Q4UOzFQaQmm6G8T8vCoTsw9eQHFJFMhE+fa9EiVVdOxDLZnpQR1m4GPfuIg9+uwSuMLqcIARW9CqyUozeV+dcgy4ybz6BOVsvgAee+tjjZr2kuSvzCxH9sJhpvtOAi5bShDh82tx/ESOmgTi/1UjVQQgM6cJNyNP9qTFEj3z7pD+SxkSrN9rxpK95EykR4CdhhBkCnmmyjBdqOlEbs3WEtQ4zfOMZKL+3vJ+rhund9Wv1LtwiOHR07acjPZeoP3fBFiRVpdz56Yr+PfMYyc9UjlnXC8iQo5BUPYarhYgsNQS3Xn+c/osjthf8c2CQq4DjmG071zCxBNBwT4SLTPcXv5mCXV9ZlY+B8mCjJ12Fz1O/cZIJKG8xnQ2o/QGChT7jw/9LPiGRiD/RttG7yzEAg8Cm7vNSLyjA5WNCy7jtjKI3f9yUtML5eIKQfMs+HDS6ICEhMMfBmbr/7nI+pb+4bmk1IdpiC5GpMnRuoaqODt7zePYUD5zL+5UDsRsBeJtxsKr7v8ZIPjg7M9oQIB7COwJygBhn3uGjMWnkRtWhDGIjVtt13FdQTsDOXwoHLcgLljWtxKoX6HhM250tqlhS3Ua3dnD3q4In8xWAS0VCo8MdVg36W5brxLQB6fKksBo7rZ83az66KYBdKfv/bLOE5OI5kEeT8OHRVMXSfIdQabGE+UYyFW2JFOvLpfUMafqYexNt+2j4EDt736Ycml3DPJmVwUqVkm6tKvy1xothVwuy5xTgMxIu5dEqQBAlwRcF74s6Re+BRTmNKJsQbpWNlojnqVLSLxXmqo4YYfgRR82SY3PbkNZJjZKRNa7SmstLVgkQVTsSmr+x4LI+x+/IS8CYUvTG0xxliXCTCEWQsbTzW90cbj9IdqfLUUPXdmHy50+Yvizc1g7XHX5FIQVWjLGpo99SVO47Hf5zN74IHcKBMrUR8kiv3Zq6LxmXQM+OfIfHGWHbUNibRaqR3hI0LzyMC1KauCdJB1K3PY1JeKKnhvluroNGhMfX19ZJimxlJPcU8IF6UFh1GDbS0qPyC/8WmdeDdgJYfr0WS5oQ2gyyJX1MtM4LhBvVRUPxw4AQT3VGDqgb+fbOwb5nsD+DRAgiKFsplIxqF5Ecv1u05fx7s49HGWfBS7CPjK8uIX/JsJrHTuv0GlLPV46u7q8Im1DudvyvtC7YpLFHg/ACHli9wmlXL0Zpt5J+J8Wq/rB/+JozNL+oP9qW3qXWIGCxv+KVEdYiOsO8Evw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: woSQDffY2Ke+LuD5eYWHBXWaRJUJ2oiyQUh3gDEh0IGi/0J+d+nA2LN+YBgECPhMG+n1hGNLdTu4Uiso51ItTVUnRepvEYuI+gG4Bnm6w0WkP4cZzywshMgSSZXudSMiMKc5mNgFlC6RV5CYfJrORKgjaEhQ5Uuy+fjONxQGSaXThu4EPVcH5dLDdeF3MRPHqyIOKB+jzQdQrrPOabT2AwYSMykhJjLetLGRe9iNmBaDA51beJrkfIb4SQKkrOnRCksDiZgRctcbkr9X7cSGrMHJzckuBSxKqX64fyioAV134nNAzrgqp5Pal9otjcjIE7u3pn5u4+lutJ8tdVqB+F8Cd0hsoJjg+LAPDN97LOVfxjatbT6RSDd+r43ulxR0gQANiSyRpEUIas1zfhmnxW6zKgf5h+umTvnBfZYWGN/jO+P+3nTqH0STflMk09KQKghGHBvvTAHlb2cnrTYHshLJ/niVVJrSEg0/m+Rd7ytnuTmYyLi7r/dcpFlUDk9CLiIlQ2rI4lolME7HgdFYGKREJHP+52F3qinePZoI/dCQgIzg9KPsRUg+dX7bjK2chQhGjGkIULv0F8rEiMXwIPF4C05LkL+DiMfayn3rzxC17t2/H+8LaiDDwcuOQiLri+ZKmS8t+QMspSD0B8I7HRlgE5Og/XLU5MIuUBofbYYsN93o7CmQ4MJtKL6jR1v0pRt5cbCxQiY/zeTo/6RTPPuiv2Vg2yRBSZgDUN+cQfXahdmRo5ilRrXNF/An5lyLhKzHoHh9ByIF7pc3BCuhgqTDfNx8SpOmUS96Tb5/LLmq6Ld3J2Eif6sxhDjLs+WqDBo+GeQY7N9pjmTX1OWIEa1x9fX+7K6+saP9k4Eoi0fqk0TDkL6el45iQohEp+1vqg1CS6iMiB2OaElgzxITYdd8n/xe56R/4pyeqRrZ5cM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86eb6d51-477b-42ba-a081-08db4d904678 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:43:45.6972 (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: NzDwOtF1qJOgUP2ODVuQ2+r5388z/wIBGFpuVSodpN2Mkcbrq3fyK6XScIDC0cmXfn+0bl1rVlYr4PRV2IKVrQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: ygWba-i0sCKZQreKgD0Yg0IPrstlhNCF X-Proofpoint-ORIG-GUID: ygWba-i0sCKZQreKgD0Yg0IPrstlhNCF X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077690760444004?= X-GMAIL-MSGID: =?utf-8?q?1765077690760444004?= 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 5 17:41: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: 90540 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588374vqo; Fri, 5 May 2023 10:53:54 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5DHMPwRItMMonxFACzDHRr+EbxdGqNkVsXLN6uf36kjM3NdkS5/fWacvvsKqCmgJTCTrLO X-Received: by 2002:a17:902:758b:b0:1a6:97fd:29e7 with SMTP id j11-20020a170902758b00b001a697fd29e7mr2319654pll.27.1683309233618; Fri, 05 May 2023 10:53:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309233; cv=pass; d=google.com; s=arc-20160816; b=koqFmYdPZHrsaeVOWITkOHOQozOlfgBbxK2fr4GhH6eDrlj/omUpyp1ewxW9lI8Cds vIeB7Zou5FM8kOM6PT1J/p0JVkSqSerBp4jAa/+3YNsa/CPoYYiC314cZojvKzJ07Rag We4TI4Uij4gY6RU6NdJbpNLa6FNV+YIiwVdXi9aiehwloxhwFlQOo3rf5xCHWipoYs8L GD1sHUMJsv4c+wuzVI4of5ThLKELvMAKv7ngylMhsqATRl3D7xcRoK2xv1cgiJyNIIKI 6Sbp4Au9CKj1S+zr26PQvtNlmP+RhWvCq3ilxqdRatSSw/xjNe1lDdy6G/qqEit9FxxO eEOw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=OrIdgrVzXbrkBEQdhLJQ1jIQQYwRAY8yiv0L2JjFINs=; b=qavZYjpGJ5Yoewz2YaXRQ+ONb7ewzQG209wuk8AYvPRQnkpCits6lK71yAdV31sr5P fWJMZW+w5FD7tC3XmQh2U5WeW8PdSZgiKWFuJcWDG9MyccJYKk5kkU6qE8exX67V/1F6 ASW38zNDsLLUCYarXUHvIAV8mvKXWxT4Nm8kep00jq/VeJI7tdm2skTLP/DUTbLAeprr baLoZgRzUfE9R9Y3S8reyJZuNpQBQkbt9+VsJmSLW/r7yp7RG7Kw+KJdbE4XcYHqE00c d+swsFs0UVCjJr1MEa9wV6IbNuI7w6v/JGyZ4zaRwl+7VFTF3+whLUbJMCG7ID2w5vj/ 9OVA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=y43tW54L; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j6d+1ESR; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l15-20020a170903244f00b001a981cc365esi2334874pls.532.2023.05.05.10.53.40; Fri, 05 May 2023 10:53:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=y43tW54L; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j6d+1ESR; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233062AbjEERpD (ORCPT + 99 others); Fri, 5 May 2023 13:45:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41822 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233060AbjEERos (ORCPT ); Fri, 5 May 2023 13:44:48 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 769401D969 for ; Fri, 5 May 2023 10:44:13 -0700 (PDT) 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 345HhJxF028056; Fri, 5 May 2023 17:43:51 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=y43tW54L0ZFqjtQxUJOeFbHyShrGs2Hj4bX1PgjK3r18/1bJSqG9RxPqktr6CN/JDaqL JbRFO3r3kBUOesCD6Zkz2LnLFco8odYmFFL1KzeNQNpUgp2K/Vgx7j7aCh6xZSbcw7nh +MmoEnFFf8TgFBx0KCfs728BEwWHGA5cRfJ57IbeAQZYwEIJUvgyeyo/2CMqVCvv3JDI cw/7hxa+TwAFrVOMBqPrURgor5WsTXSwraeAqfXFklm6rFXOQiTVDaBnNr2rHqvQ0JYt c9TQGOLrrMILvUIr/z22WOT+wXreNiFgMmYCTrwt2tlJ1aGrSPBcMXCU3MvBvSdF8Ol6 Cw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t145jc9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:51 +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 345Gc4Gg020785; Fri, 5 May 2023 17:43:50 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5exr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hkNsTRsn0VrJ8vD2djYdWBQoODjNA74eVemBcPXOYCEzuMQFdLUmi/Q7SZ35pvlGhJX6ak+SdCPQAcQNCUq3NDe7oKOm5JxbqNDXsUGuqLGgaBXGaWEpIbVU8bCaUvdrRyt3PVYj20dry4EhpalaPSxjNZ+ZuGtMRvJjXGDZk3IatqA10ezu/MtnnU2ZnF8qq4K3/mwdV3l1CNBTGmTVJLJX7jwAX0eOR92enD2cdjm9ydTfJSUN7fXBlyr5DB6BbatkbMuZW3JfJFUXVJAsBplSLmJpdAt2r2wiMoLcnsXc+EHtks9kTSxt1zkFZBF3dP9zpIM5LjY8pJ6/iMlxQA== 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=hxCaI3azltygi4qQ4PvUPj5sujb5oNqABXIKJu8J0TnWzS32Qr0k/UCulkySWv+EDuVRcC7RKhugpANozZ9lkaB1vyAmgJ8r2tY7lXSq9nyD7BdpPr/LNWWFfUGF/iX31XyO56HpJiPQF7HC5IL2iT/lldN+4WFPcspfJOPGi6E9n2f8EglWjfVP3dVt6xjJrRYyXXlpTzFfvWKxNOjdLKR5teC/+AZQAgBrHEF3gXS+/opBdLoKtTVwyhxOKZXIRKAJOFpOf985qBKMwDPdfKSiOuUIVpPp5WB09vCoaoVX+/CoifdBaC6bgoxneKB3XKpIMn+cleWVFwLKTRyMAA== 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=j6d+1ESRn0w5FG+aGapFL4NW8QhPmg563ASwqS0fcLbvghYQUyzlYZAYpg0hNqM1zPmpSUIlsrb/E61iHGIcM2h57r4oFUOM4y+dsV1XGC/0WNfAvv2PkOdiein9o0vqQ02xFQfB8nrry90p4huNWtSmZiKZQoBPKwAN+ol1CfM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:43:48 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:43:48 +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 v2 03/36] maple_tree: Avoid unnecessary ascending Date: Fri, 5 May 2023 13:41:31 -0400 Message-Id: <20230505174204.2665599-4-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0001.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: a48b9924-86f7-4e8b-26c1-08db4d9047ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xXbA8+KnrhWjO4zLk0vKPMhy+/iB1irJbm8QVek94K897VdRD6BWLpB5GF4DN1w/TlwZCeqdlkTUUA2xp6UEKHfYkk5vpjkyrmI1Uz6INculkQyP8Fzcah0RUGWyI8j8U0iQztDRUtNGsbOXZI/shklkMhPp8wx4KILvSu+IoH1/nIz3N2enK9xGFLITSk7G5zecVaKLeJitiS8JDVGv71H2cqkFmmlxFvn45L7Mhu1ONtN+8ddZTDzwoU9aeu7LnGyxV6LtaG6AAZoLBitczYcN/8eTphUOAkakYOtOT280L4J+5ZPenmYJS16+3p9hIy2t1NyP7TXuHWJZCwWYT6qPfoLSp0rKjTGqf5P06+AoRXTBNefShiMFi3tMRrdJIfucF1M6UMvurTnVXN0mWbZUceXtBKi+IP2XEvoC8JgwuteSUvOMskeNNH4esgdLDYL5pGkoiCqDouYyko2RlovzTsgUL/Wtb6v0OJc2JFWXp5N4oIOpXXVWj9OilGw0O587Oro8rZKTUT0k/DLyxvIvDQ/7ChEnAlA5OBG3PEs7Xg7tPjwjKv4kYyHUNHCi 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9NaWmodjH5uXy9D5DX3qYr7BKEOE48IHHEmnl2ME3U6gvXEcZFxjU2Ni1yTWLYD+iYfDn04v/ZlmjREJPrV/WNdUGjDdYjWru/3dR+kUjv1LHaWCfr0JQfqtap9r9cbbfEzg36sRgfZlyF2npXWajJYnYzC/H/EGxPYviavnPHDySXvkGzZN2xRHE7+erOoYlD9jEYxjjTKCGtGs1acsvbCEP0IZbbCbSRzjefuY04GlPbtcuUiyGVjnp4LWJBAWGRTLbhCJS/9yXoUISDPXvGQSyL9aBOIZjNe1hT06EHhhbu/RYLdwBLUUPmzELklLFsOZXqURjoHr6hZdfWxgz39AZ+oHASW76hNj+ou0PWfITJ/TI7Ris1b3qw2Cjl3Z/ON53QhLgGqWosloRKiSNsJUiDfRKZz5JhSIB9Do75PlOYIQa067ogMuGhEhBSRGPZZWLDMWE4WGOr03LcqySXwzsI0/8NV3JcaVvW9ZJpZgUHkBQPEoGrM7ZeSkDb5KnDbhvi+1H5GJNPikoxpunpIPaDfAnzDIH8UbU12qpNnGymQJwGxFlT2i6CX173drD0hiyvlyHdhCLelkmOaYH8RLRpa9obB4vQowClQa2QXOiGwhaUUiNf0DPZuzTHPz1Q2MLrcJyuuFmAbQr5zH7Z0MHEBlS+11WBtLnP5DPFdDlDxx9AxYRS2rjbtqqGKLHF4p+JIVd+HHKNtlWd2qbFv16oQ25PxSzNyyHHmIO/Cyk+hsB/Afeq9xrfT71VQszj0L8KydVGUQ5jFCKfB0wAPbJwNCzEjs3PxSm6OPV9BEpV4QEnl8XbLwYo76fCUSEFfXVr2jUSuynBfXgudWIM5aNk7VCYFHAnKq9EKdIFY/JxISfC3qPpBJMCrhOvRwVSobjxxoCN538FUnhYM0Xlz5SHQBQfJXUi/bAzp4ptHRpbItD6TmBCaM55IQZJqmQhaT+qd25LkPWYm4YIQy2csiOgqU40rgfqDw4ttKa8eDfgBL9auFosnvOMiuPbm/F5tb2j53ANeNwVvfEQs/N6D0cq3bD7ybCL5Gu3nHsb4CxuNZ0/7G6tWMw7QX06/jnMGeyCvGLRV++r2UoXQ2Q7P07G8iLD90h78YcKgcjifykvqZxKfiTxrKBQz7wV/g2rp4ev5FAFd5k9Uz+h37b2S1l8f6+vN73igrd5QrEIBX+OXHxtAE9wZi2OUpH1bJV+L8FsSSAhi+wrFrRYOk6t3UQ5OjrubZi9d+VJasWUJ92QYYbKV2BcyyP1/6UzGW8m0ZEn74qM1m+2SvuNGl2bQYxsnPTgn4q304xMF15QotT3ZF3Sze6BBql2JeeUeSMTvM/wKK3odKR80r+KXPrG8YNasYyCCOChCWqNEW3VM8e3+bWu2HaiZKgBLeeTdGudxDqRogrcddhe5TuXXNsUYUwNuI+Xo68vHA04c8UXImSS1USQyOABQjxWg7OqVSWJGlzFtKX5DxLrs/6jFjt9EEXG6fDKDGccny8G3u3lDGxIl/1u1fw+5j9tBB7WrP1PfOfZORSVL3FYrAVbPEUbDxZo0d58h4wZNV3hNwTdLo6V5YWCmN1/wUlcdtNh46OyVGx354ufWHGWWj1qdLAQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ywQK4fOtA7I5hYHVQdc2rQdnfcsFatnmRb3NooBRWA/Cplq4DPj4hc6FKep+hUNDvcMgwx82lTecEJWRWZJG1UaJ6a2oUzw20JOWajhAS3fn8zN+/QDLTCQsPf0CjBO6rdvaiB/fDzuSGQdr/CYvfym77L/uRE0B5k3w7w1LO5ypSKOew5AaDoP585hmzsAvE3tAIaZxLJ3wz3jPLQEiYs8N8Vhrmg/1fU55noQ3NzIz96c8klpHCJkAvTydhYLhyWlSQjnoT9a8THp5/8doRkUif3hc9wtVzG+LKd2TcZEm7rBpwvW0eXwVy/YcE82UKHr/OqApCR7Ulh+pmlJ3AS7vQiwkvpzw3qU++QDkh+4V6HNCwbui6u0MY5SpMPzxoVLCcmuGPb2KTuDhLl2+yR+j/yQqLpp7s9fvxpKLGdxzAk40mth1XqPWMU37zQ/giX3WGDCeeb5QaxTFSHVCCQPtS3AYctwdu/+rtqfWKFNrwL6PYw95MRV0p9hd1EpBbBpacMhsMjqK4t6IFhoT3Zua4Op/f1vzFB3SNCynO/m0HMNWJfwUeDc/FeEbk8MXUqSHT297piKs1XgFXGPUKucs29tjEjR3/w/pKtc4UA/0mQ/g7z8XXMJ1LI0XDMqNw1afDAlzRclL3gVtLKsrAhos/3Peuj9vbv64X/U3ovTSdIABvbrgwpy+mPPk2ykzP97qcyeo8QZMnGJZ8+UdXicY02TfsI6Aed7qXJdjys0BvwazusHzra4P6iGDrN5stHLxQSVZzwqfpdhnDvJB3CVH5ZEnyrkuT1sorA7i9CxxhNtrDzQrIayskX6vDeZ6qqnWYQaPMe8QFG0if4VpcZ3zndHhRbq3QxuxXYSYv1/mGZhoSZgwpFY2ZNtg9SpaBx7rm/sjXXlZihB8BelQeSwF/KLsDId7Nxrz/f8AYJwTURcG0fFtg8B8OblLX/yW X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a48b9924-86f7-4e8b-26c1-08db4d9047ea X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:43:48.1355 (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: ru2Q0H7+/poI4+jlfCi7XpFv1yVxGMoZPYz+J+dfAh57ubmjfZOuBsL1o36FQ6LRvGVZegJIakeMV3VTu563vQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: J0hXzc_hJzr1QCEJs9xYqcCFlyOvRn-j X-Proofpoint-ORIG-GUID: J0hXzc_hJzr1QCEJs9xYqcCFlyOvRn-j X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077662531507422?= X-GMAIL-MSGID: =?utf-8?q?1765077662531507422?= 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 5 17:41: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: 90526 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp584113vqo; Fri, 5 May 2023 10:45:58 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7xurMqUh/a1B/ZF95p3tX/cyAnXIqDGepdDY+AR5EEh7OLkeHIwznEWivJnvfD9sJf+jS5 X-Received: by 2002:a17:903:1d1:b0:1a6:9762:6eee with SMTP id e17-20020a17090301d100b001a697626eeemr2228982plh.40.1683308757823; Fri, 05 May 2023 10:45:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683308757; cv=pass; d=google.com; s=arc-20160816; b=ZQo4jP1j//A5JRxkSUeLq8nBF6GslobfukX8S5RqtXoSKoJJ9g8WmzoaptEwsr/zz9 M5yn0qbXbBpF7EECOVaxTaNBaeEhszcGn8GjQvmWX/CPF+QsQ/THpUUOa4rgcCGIBHRD cmspGnr4Nsr+IytU8V4h2sO1u3EeMaWbP5fToDSLZRW5piq0dwtJM2t1D/5niXBltngl RrojTqqsvrUjJ9EB4RKdttNtduqJvH+VGumjVhkFFPmh47kZBtDrbA8peEi7zMwSdFid RNR90oENCuUb3lSQRmUkZdR/BL/Z5acV2K5nxVNf3E/Lf3i4BpzQYgDiNzephjUtwmeJ oS6Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=C3AbTxtdfyzVTdgMrkt+8cguGreW/PZzveEPUyUGMKU=; b=DVAGS9Kiv9X7cW/BibiprorF4mdVksnL0yr+n2iTg9H2/bb6KKkU4pTxf5LtcE36P9 j7zaMxeHFvwCViTBEvWUgaba/XVYcaT4BzSdhNLYQL511BI015G4f4fWfW7a4dMpaK47 yMUrXVfxNdc+47HcgvACv2MGmvo1/alOt7QkQ5vdi8rToiDC3bMSqZCRHshMjJbTYLgh 77pcPKE/cjkgQVAdWNUNUYIeaMzdSzIPfaWN6Df4fjrnd2pfuwRwxSZUDb8b7UaCxfWC F9zKLPNUE7X5WRwe5atr8Gjj9ZxE2vf/XIGESoDADA6KB2ugjZaPNfSVev4eZevXOt1I 37jg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=VgAceUbp; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MSwXfXqX; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b24-20020a17090a991800b002474ddc6a90si6651442pjp.125.2023.05.05.10.45.41; Fri, 05 May 2023 10:45:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=VgAceUbp; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MSwXfXqX; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232243AbjEERoG (ORCPT + 99 others); Fri, 5 May 2023 13:44:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40770 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232948AbjEERn5 (ORCPT ); Fri, 5 May 2023 13:43:57 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 938FA1A4AE for ; Fri, 5 May 2023 10:43:56 -0700 (PDT) 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 345HhQ8T031799; Fri, 5 May 2023 17:43:53 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=VgAceUbpPzWiCwtSQA3dl/l1YD0pUm2LJi/q6R/RFF7PCihmO6oShGHXCo88OW1TgR+5 iXdVVXh4vWFKP6JSn+81zPVx2Z2LbeO4651EfYoDEKtv1m+RTajr92ku7DxzAP/91Ipm 0JHbdMBRq05q2A97glE0AMfxWaW/OLUu2ZP9OIs7zebl4ZYGSMPATtJTMG20y01SjCkw euIwn1X+XJTxuSgnFNr/BjXDr2EIH/BW6OmC2uJ/M7zQFFmadt+xhx6paf7R9Ur2AFqq S4X/4qLsz5noXiKoHRqlwoCf3cc4oKg5yr4KbMkNBxLPfPvX3kKdB1SW4+SdD0bhMlKQ 5w== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8u9d5ndw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:53 +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 345GSEvO009895; Fri, 5 May 2023 17:43:52 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spanjph-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VV/4EhrGzXjfqqrNNbj0jns/nfjKX4G7bigBJF2s5LQngCFC8WWRRZzuWvJgfRGxELoBQh2x8DSMB0k8fgs/iNh3Qgrj6e2Fdh9GgWMdZqWmx9FxH/TY9cnWOvPRaj/sOc+/g29HiYgQk823NksIXXSrp/no2ZSMcak6wuUCnBjfzmAJQjN/hGmtAS068UbW+lePv78rk28jd1onTWxbRYwEiOSc6mCvifVx/F2YQA21Js8XX5FKv16Hu067jSnVz8eiaaOi5LrZVz6uu3wyrmg2PM70Ey0wHbWtgq/VrRT9rYyUt2ij+tt8UcQ3rf6UFjm91TwCP9fMBKFwCSiJ5Q== 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=oFSbPscjy5atJTlSRu9ehuNMAYDTuqKQzKDP3iHfONYEsvTIcukcssQS840msI4fLkI3QHpIKbr6lWBS0q5rhyqxDzhneGNnChBoZAr7Qb9igziwnjbXhaQSjpJJZJb5WXJlhW82m+XHeDSDVxKLJKaL4Hkfc2vYGP9BeLXBlEW1yfYp8B9Dx+O7QSNPmx87+YvP1FEiJh+/z09sGYUJ0c0ug7Qai1h2vJfA5F6CecaVPQguJpWhGT9pm8ngG10ZITuJ4h+f3+lDgZ5aDv+zw9R44FmPo97CH4efZWrb42SMtXF/3ttPpDvv8uKBPqPL1papirtSvLHKRWK03xtPxA== 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=MSwXfXqXyCnq+GqarLVUUL64amtBj2QOtye0tDjlQ9mRl8Gd+NgqEG+BdFQRfoD2qcNw9klRFD/GoB74MH5N3flLBi75AlqEr1Z72cap//SwEslmujdWuFTB+lUM+ES6P2X/wmNCzEq9QspMzCZu8Wds0OeRlNKTNcziiE0x0L0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:43:50 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:43:50 +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 v2 04/36] maple_tree: Clean up mas_dfs_postorder() Date: Fri, 5 May 2023 13:41:32 -0400 Message-Id: <20230505174204.2665599-5-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0238.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:eb::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 20c6f729-02e4-43bb-3a1e-08db4d904927 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zdPoYwWgDJ6Uu/XBXX6eA5So8gQlCiCoH/7onaF3MqQ98cIulkfvXf4M+O6KBPQ2E0xSBEj94V8XqxhoBHObPqOJ8/8Re/AbCA78ooqVUN0tm0aZfJMXoFVhiyBurznf62o03lB9rqTHYKzpjNSbX9uuvkCNql4TWGK7Jz8XCfkLGvQCX12osxxTnLZ9/22TvtYWyrSLMVKh112CqV5Z8vMwP87TIkzQro/DY/xNNkqw3L6qoxDjJqXGP9PHPln1WkX5xBak1hnFnB0app6ZMYLt8b1V7quBM27WfvxIEoPZ8YKcv1TLDfyB7SaCI/yQIRkznJrFr/MjuWUWBnuyJvl3U6MhPWJ4SE1I7HUVdtl5lOsa2j3NrC8gAsMWTyXByAzUixdsRjXyZIYh2CCLK+NJbdcwnVfQdcjpJ1CEnd+cddvDvSFQMC3YZ7Y+aagHgdLmLUChASwLsTLaQPcF5sQlw0+2ur05xdRvt3BLftWQwVDOK2B/ckaiVwwhpoh3qG7puSApeF2B0mW7gMRWziJPU83lKt6ZUG75RNlysZmNct8sp/G/qZTYh/dGQdvV 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(4744005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: USJfvFzUb7nREQgORH1BSnYDPMo2Xc1RH8HEieK4BhMy0OkPiNtIpRT4mi4NFw3rqXPaIsl94uql3flwF5AE8gROZV96DIS/xklkeHKI0oSoTID2HzdoI4xTnQrqMwM/bS/lTiGWIkLsXo7kQDv+V5AwiXtIZlxYSlTm/KAfxfqRK+J1A4uLeMKOkVfHnNVFezeI0/mpOLn/X1s8XHlKo3xlekHycDPftVMiGjk/eovMb+ppj5AS7HXnzCMwmMiLdpkyb5kvEJOTuBvXKPaM2V7udwgac+TzI3GRNeIef5xwQzxRfXoQQ2ipNMgfCEBKhtI4QXpR8GPcONRnzoqfw6YKs6okDlDTLWbNZMOJbHOF93GtvJiC8CSq7Xzx8FUJg0vbqDQ34XRA3eueFmZL9z8GND1xS+bnvnm297Yd6L1WVQfDIOZWeLoyPy1qoK8fhFK3KcWtT160mQ+q+GLbWHMUIgI0Zm8nZ/5Cx4Y9sPcwk9uenVC+pLSI8tNVgWuWsykpTRRPKc3BlbnRKooIhmdnggizhtU23SkOnE9z4GDaFsvdEchhy6lduKLnTu+PN7d9PSyIv5BfNuPc9j6IViY34zoX/jhtmHl0kTCALkjIDjXn0FvExC766dYqiwi+P0sTpqJoMRNwKjmXq2DGr6wbuZ05qlR4OSjaKc/6nFckw5BqRt6na4QPu8VhZ7lk0yS7TZI5QGJieF1vClJSUKI2lp4o+/UW+ahhYngy659+TjTnxfZAOwAiW4sk6RyLoW4NtLlxDAE0pXCALOmZY+GYaqmqjpR/ytSEDEvXmAUzkjOjdF7f6pUGpA3UvAzHsi9k07U0RAlPyU+4164CngSi60l8hYIU4Bh4KGuKkzLucyWTLffH+bS5B9xKFEBhtgOyNWUtqqnW64sxhPtk8Eqtpmg3owEcFd4nQQqrv1cM2Pqn8I0wGVFlAxLBsvfQadilpzUgKgD4dFSEkYDkN2fgG9cy2jqmk57cj7v3Zw1vsTCM+L+HqRgOSVZiqv9C567/1HzKNXvuZNvBziyRkFb3KyyZ68k5jyyBitbpgsjstHxMPLNXveIW9znpX2avt1PukYKyEPyRyvIeSchEV9nIPVgz/FkIfmNDA6UabH+R4LZw7BBQFXyhbO55RliDtBP05MfB6U8oC64SgMUJwznZPy1TiAIJmsFPr/apM00V7XEm3EFWxFu+GoCy6jGwB04HLnLo1OCZKZDku3We4mDz2I5ezpfpEzQlQqsHUrpoLbRzWhOBnxM2A6+MrtaPItGZkadANyQ+vNG0epR1MAw88b1eVrcimrfVuzMpadIIEqI4wBRVxf3u67xqCo2pbUeeg+tM9CUg3Kcnxqnp+4Ltly+Rq/L23+h59hCLUCnecqEgSn4k0tYSmMMjB+S7dOaMUGOYUn0KCOa3YHXDLg5I4YVjX6aahDm8/myTNe7Q8E24mlGzR+W6izKnDuj0S2Cbdat7YneDLD0dTgGB/SDokfQLdSgfl7PdoCV3e8q9wP/35J2glX/koNz3ZJt2if63eRVXdFQn4Dp1YK7k7EYzm1MHwUkGPa1o/k3mceiY3Zn270qkXHF1+7PXz+Z/3XH8OTLtFd80L2o/W4r3gA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nKHwuSny54+hLUUNs6/NKWEWGUbl4Si7DmfQrunPQjgqlUkGu8dWPEcjCWI+hsZlVYVcGv2G+4YBiY+PiTg2lM/w5I1QDEhysuW7SAhkh31fDNtJNJT9GTh8hiNFfnSfR9SyvNG9Zj2OoyuLWyIKBYEprYTUI3jb6vFPd4FqwmF+JkYsLn4qMMf6L18ZIgcXSfTp5KP2DGInvF0qAbVVI9LHs4wAzorM/QApuRSsuyMSBLB7LA8tQDSmyjzx8JHWbVaPAFsGe2glygCcGEFbsLQI8PYJTUHILkd0PPkZmrwqRasVeDKl+wMHGVobB96vKZVFWLODrMifYqz2a0BZ7UZpVSebGvgNgnangG4bbnZUJlIEfFk+PQb5xS5E+9HUeIWCdrDgMZBgiarPqvJP/MRgq9zP8SM7qrUX5D2bz5RTdDIFstdTtw1oVISLXsEGhpjcvrnJl/qw2gJhsbpi5/yWMtoVS596CVJtNBilmfwZ2VWch00xdKIttSXUBBxo/KLKSEW4+BfAvC5sRR7RC4q/XkIAxU2r91xBtKQwguXm6MyNTXdviEnSHkvLbDYg8JT/X4EmNMOaGTOCYzXlgvmzWxX6rYGZYyTRIlyr1U7+Aofr4hioaEvex7qlPq8z15LwtEcfhbIZlaKWPEGlx9Y0qM4tWv/rqC/uF8JQvy0y7UmXkMuUnsBcSHuyuO0Y6hZHHHbgFBQGcQprpCVSin22+sxFsy+4k1jyJyJKy0ce2rzE6TdpIG5mnAjhaMpopW6kMmmAEneon0ia8OzK/14Vt5ntPY3piF1k1e35S4U4MuKhV6oicCx9bXPZ1aR7YA+w7THE222IRTYOuCeMhgX1H8yxOgUmkxBgI9HtQhpqNs02vYxU26v1yGpKvcgVmrlwR+kZqgrmZCdTWv4ZrA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20c6f729-02e4-43bb-3a1e-08db4d904927 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:43:50.2238 (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: MdkU2h/xI/jTFSAGZNIUB2kyZ1r2VXmK4bBAYKQ1XmQ4Nofak5xRuMhPFMYFOfQ6kYwmAgEoAkmaJTE4UkwaGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: bF4WDtPkzC7WAPmPJpFsTkkv4v7qEKS5 X-Proofpoint-ORIG-GUID: bF4WDtPkzC7WAPmPJpFsTkkv4v7qEKS5 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077163775906494?= X-GMAIL-MSGID: =?utf-8?q?1765077163775906494?= 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 5 17:41: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: 90527 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp584109vqo; Fri, 5 May 2023 10:45:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6x0yriWS8REZZJs7k3hq2Gd66Cgq74axmmTsLgvau1aZytcT6Rrwxtjtc34zlAtf1jsGKm X-Received: by 2002:a05:6a20:e30a:b0:f2:fcba:7872 with SMTP id nb10-20020a056a20e30a00b000f2fcba7872mr2574731pzb.28.1683308757400; Fri, 05 May 2023 10:45:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683308757; cv=pass; d=google.com; s=arc-20160816; b=hm4UpgM9cVU+vSPnT7Y7e6Zp0BDjpzJ0ERfr+DyxX7qu0HLosmgZtWUy/uF9I2/AUh aw3zQVzv1K2UfrbvjPWfnH5ROAvlnYMPvMzonDlk35qw42lEeMqHaGr73eCwfdXzQZPx zMr+wvD2lSFttN1KqCQBd0RnheP9YALtVpj6HUi3HyjHW3qqL4pUChbL8/xmeCqjrN3J QkZX4TVdWe+7fex2cpaslmBCYWSv1uZXe/7bZK22Bdj3V4dQuc1ZAn9IA540GqtaJD90 EzbbBt33vhp2YlCdAUQwWXgxG1c0QSMtjL9LfOJzxAmD2Ce2vstujPr4H7mXz3Rosyh9 +bcw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=x1F35Nl/y1jdMAp6sXSkI9LKCTzgTwzSHQmh+g/8a1k=; b=Y8MHwi/pYKt0GnAkjIfgsJQiVBLR24VvYHFU97s2l0WU3Kl0cLJ9BW18Uw/xE7eolj IZ6frL34YsE2BLadVi/RfznX4bVEzEuCGWniO0bjdZ3helsE6z8Yor6CiGy1T+vMhqca pjn0x1FaW+uMhllm3uc7h9HFYMbxeg02Tdgu3cAUK6a2asWteBJWT+ymgeOiaRIB+TE6 rnvwFuxDdLgfy3j0bP1m/TtVTC/Axg1r9MDAGxJv1tliRdUW9ngdn5VRww+hH3fZ3OdF wk3RFMTbBz6DJUez5AtlgQ18jpp8weDHZ6ekXK3rE4MSOMNsg+ghxJfchqc7EC4CgWAr aE6A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=cQFb0KfS; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=IOaIVDnz; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f125-20020a625183000000b0063b89234a5asi2507211pfb.371.2023.05.05.10.45.42; Fri, 05 May 2023 10:45:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=cQFb0KfS; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=IOaIVDnz; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232969AbjEERoJ (ORCPT + 99 others); Fri, 5 May 2023 13:44:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41016 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232979AbjEERoE (ORCPT ); Fri, 5 May 2023 13:44:04 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E929C1C0D9 for ; Fri, 5 May 2023 10:44:00 -0700 (PDT) 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 345HhJ2A014769; Fri, 5 May 2023 17:43: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=x1F35Nl/y1jdMAp6sXSkI9LKCTzgTwzSHQmh+g/8a1k=; b=cQFb0KfSxygxC+DaZ04C9ZAfd7TaOnyTEivoUa/hyyJTuJiRg679HczQ3d009Yr0KvPn xazBh4o4L8yELnL7y2Y6GaT7iyn+TDNU/Z7NP0aUnAuxWmWVEIiuRoN5rhHGVpguaVzl 6fy7kdw/ODDD0xKsPpbrdCfncPL+8xmBl7I4vNYw2lZllumcq27LEHvrkNMTy3GHMC1q tCN2LQIdqEQRjHdYPiQWH3y5xpLpsxm7Mj//nJQighD1tYhPm3TFzf06lKkbBLhh9hQJ VtQmpQUt3h8n9k+ygaCAy21YT5KS+bqj4CVeQZbhy/g0/x6HIJYbr5GkoOtVU8Ej5lTz Fw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8sneddxx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:55 +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 345HUmNx024917; Fri, 5 May 2023 17:43:55 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spachws-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MFubAfT2/OrCTX6BP81JdCqcFzpcBOU2lhsRxqZC0lGs8MtnGa2OAX1rNDtT3QzKmL3x2NlQxWEoEyx0miF1Qd73sgeskVihinJq7wJDUo1YxrjzB5m15xUKk7Id9FIOHGidGj+bmFFXY3R9Z5giuArz7Tm5UWYzo4qQ6SWsRb4aRLzwykpIS2bKT7Ir4qm5+0I8Q7f9H+kHm9mZgQKFMndAgOYw0YWBuU8uENdyWzp8xIexEhCw0E4ZrXiNbmsR+yJf6FSlVPL0WCQnD/HOzZwyE//IYF+7OaxwQepIBYq7q3igYixji3XCRI8lnQsjAR1qQM8oIUgpUYS0LYW3SA== 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=O4jryDruqPUBw5rwzh2wWM1Gm8L2NENuNy6MwMUxyaMO7VsJficPSRK/1z8aswdR36pcJM285cbQLIUD6mqM44IdDevhOAzB9rS5eG3P5/2fzrZlrvEf/f0+i2TNS5QbKCrwVv+XqPax2hiEQrgF0Pu9QhJ1fyxZ7Ak/0ViSV2X7r/bFWH46wCRbh95AjjhK68shzjJW+5HZlk4Urq9uxCToIOe3lJIdruspoGWxJvLzcmOQ3rLRkAGK77V6yFym8n1JjE6XIUHtMMaNBWqMkFzY3S4Kpe9fYFCnnfcxNxmyoqgeMgh1jgA0WThFei0cowHKvHWWIyMFaioWvXKkJw== 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=IOaIVDnzGTs2VjbxQEwlGjDmj6G3mVjl8YwhmzhDF9TCy2QFaTdlBqObQB/cO/mWR6Z8vqqYSfo7IDAcwPwM0JtdkwS8iUViA9BjT/Dnfo7blQIjv+ImyJgst4vANTkGw1XV/4XjUlWKNPOaw1mTzgi0qRWCU7t/KeAJxzxg5EM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:43:52 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:43: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" , "Liam R . Howlett" Subject: [PATCH v2 05/36] maple_tree: Add format option to mt_dump() Date: Fri, 5 May 2023 13:41:33 -0400 Message-Id: <20230505174204.2665599-6-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0239.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:eb::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 4befc877-8761-4ee2-e93f-08db4d904a80 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2q5e+IpiD0vwOkZnrYwLd6nfKs1HLFp05wW/qQn8lg+0+BV1du2Fmkpruq19BvWaxF0i0Xc2njwEQatNJYxgU2k9PXvYiCbNBxVzyK7KjjcaNlk7tvArF2EjVoYHGiumAdGIwq8L5SnX5mrJREenOH0+8i1fcvbx3LI/m01CkjztMz8Ebh//WNZkkDkodC6j/V+dhiPZwjBVxUszeqb3Q/3qNDVUVGdxKylnEzfZxO1ae3VimpMpv/CogbsTHHZf+nEPrpbM3an4pxk4vG5IkLfRjgS+h2Tlb10MBG0SDrUInAlZyBO4osDJ0WQyGBHvolQFxqjKP92xbMWAZaJoYduRt3j/P4zdXgJLCPBz98ULfXNAc7m+szp9dEdV5SsOB2jvdqVrk+5gPDw0YVEs/CbM8pYUU332YHZZb6uaCD6O+cel/rdGA2dBJKWWtLymC1WSBF+Woe/VI1b7I2eQnCGtmx1EgW7qsGgUaoIrGe4s8aAIxP7WJqodpj/eB2xaEM//4Ww78ekMMIDIcxXm5V6TrgCTENFsA8c55GAf4rqE8NLhprMOaBHoZ0ryF3VB 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(30864003)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sAL3cuFEGFeUC4MG0VzFz2avl52VLB6KyhfZ8q1h29DWIEsyVf8QdZq9+TF6QCt6cMBaSDDQuh7KzXYvbLdkM+G1iWC2oIWZF/+A6aKe1Pvq8WMEg11D6/OpOv4H7MGQfRlsioInpcfALTIto4F7dBhN9V6bSMbMeUPIr7pFc6RTYa3TB/kxrvqlzhjTan/vpu/CvGfAgL2obGbYB35w8wbP+l5gnXTuXXojLSS4RKSP8FPoUQL7pvfAsagfU8tz5iynwnkjmN9jSidDfHRqLbyyOkDqSf2Mz++6TfpX+8xfeDQOrSoEcvnLZ8PgEFwBDfhgRsUzFb7jqIjSWIspn4g4yuDKXhw/L87RNYO3vNTvxOgtsQkkZUVDYta0pbg8y52rfviu3ZB6sGWrH5bsofpOaIcrn21h0B2IbpCEGk1DQq9f0W3fKg5IR0LFZ/IRs5iTAb1AfloCm9JbnK/l6LFtfChVmxxxUluLDhyVk/awRUsimEI/S4PEUkgALi82idyYcZ+D4TDKj0a3ephPhv2KAg2BiKnijGQ0p4vQNNmTkieVXPIpTiAI40F8wKIVkTuQ6tF/T0xxYUCM1H2F0sIHdblRjzceJTzNhJlUsR4ElCvpsil4UDgT6ppGTBGRt+HU8Sd9k93dUnjdjOQ4Lgaso2J01gmcJKoEy3olggrMMWykYyI8nqTV9hPltoYpeSl848k/zGwpS2vkwlRPrNZcxzMDed6cqzuiTDBacfuAA3qxlsibW8lQHeOzI9i/WfvyGEMoByToY58+QXIAFyWxm215g7iF1gHuFMugkvUcFxpm4hi/0yY4oHaUJoHeJ2TwYSaSwk9DV9Xsq8iAOTcs7cdV1Q1cEZzgH8m84MaXBYJhil5suUMIEnguZewBSfBX1UiH6xMJPrdUcw7HJ48YCDgX+TCCC+0Qva5b1voLfeodqbwJXG+nt5brl4izXfmfKfmbZIsjXMM3FB+K7g/Pol/PADM3bguzjEAYmIIN9ynVyBpsmjqhkjmksjftAD8FBkrlXiPIT6yenmHQbA4/A9VOwVsTFq6466hztu/anQATfnTPQlPNhIcvDyrPikIDHb0toEiV45qV+JPmZMljBRc6+tVpkAa7wkqq38GqRcxKtefmBwuO+QlMr542adLQcVUr0bXhDub6rE2Ct0XQXVFzWw8VyeluFx8McUCLb2x2fOKQndK9W/xkOGMVbqyAO/kS+3aT1iIwaPHFifJANHpEN2hJ363aq3lwhSdLlXvnL9QHSIEp9rjo35kDx/5jZ0vlsutWIy2Vwz0i7bDm8BjWlhdgXsQtwVFY3tHb74LgdlK7mxZ0xHm2nn4aQ+X+BJGmD5OZ2tjgdjvwvs2g61CWTRq3OQMqPhBe82Ju6YFZMkp3i7gQCRmaXCh7yPMGqGuDojzJbo1xyqHN068wp1AEu3AhMs2aDrtbq3Mqs+5n3Vp4gCJyI3fi7efHxKhGLo+uCeQ8TA8ahl/zCz+fksL9qvhLk1XyRTOuzjkSS48OX10tdPzYUvpJoJTwnUyEdeWnHNYTmFeIElBSLHOeVJ7CuvHGzj0FYGFijaRkFnRdPHTj9cY8+t9fmpqKd7nAFFdZyCatiL/fo4Vtcw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: CCWSswg8fzRSEnYroiWpGobWytDFM5jJd01ypxQnlbBoWOao3ChqvLB9ImcJhBrR408LjFAWSBbgcPVlLoObObZadx2+M5r6+deXgO4ABgKB/hPryJCr7X8p7zPltRdXiX3iMbpB9N21SrY3TPaDJ1O4J2PRIEuP2CiAFCmM7vawoRuUkJ1ngTrq4cDCO3ccR9odukJHzxBy9HptmK/u9Mh6mPsWiFEhWc8KAn6p8ZzENLE78TOu797BTBH396uVd17P/rMdPgaJXVY4eAJaEu6io0yFucWDTshyV6A7ZpuTb/pYCdJpp0ILZl3Api22wz3inXWfjnELZhYmHZoZqjU6ZH0xZjhIuhtB0R1VYAS+2ovvsVmA1LUESxhY4penw8gmqLO1VD9lbARgT0F1a6IgRh2wk4dZvwb+OdjDrKw6VCONcXXrpBrdUW3Eij1r0A/Az/c4TzlCHPEJYiCh5g+L/4CaeE332DK2RMxmejQAuF25q5AIV5ePl7RlTuimMyo2TCVCWrzu/18kh5Nk8ASqknQ67Ms9tVHP/3gxHBI+yOJyolTwxlBGX4DYC3z42oQk4NWzheumbDFzyrsKquyfFCW3xB430SnImVP67PirDuXCq5gyT2oVqPQYXORcUm8wJBwHnkxmvJuy1B+jKMdY96yfG2tRfeIEnfgQDqAYOBQYhuQRa2QVRP8vEM5bEKT6C42vlcvC3xW47Mxa+UVmlCowyGe+wwgH6EHu2jKNv2BLoVwEUSv2GUKTZ9XS8rgmwqDu/v0OlDIzk3Jy+PjYJ+h3rxWPfwk4ghNX/LumBaeUvg1D7pRGL0TH1E2E8tBDBs4PeG2ci4QXL/esfVudDeM9XX2KvvI1guhkaO4rN/CpVPRQ8Y4JASQrecDnrZdOzydiaRsnZbgv4iOhGQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4befc877-8761-4ee2-e93f-08db4d904a80 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:43:52.5615 (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: m/4GxqRXCvlwcJHQKAut12ICDmSPvFH2ozshtgeKoKwvC4yIrKfsJOq7jy7tiA0a9NEYkEHKjJg7uiaYpuEx7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: fCMBOxz_OERR5Ea3L8s58j90Znkkg6ET X-Proofpoint-ORIG-GUID: fCMBOxz_OERR5Ea3L8s58j90Znkkg6ET X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077163333392546?= X-GMAIL-MSGID: =?utf-8?q?1765077163333392546?= 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 5 17:41:34 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: 90534 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp587720vqo; Fri, 5 May 2023 10:52:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7Fxr5qDq49D8Jv1c79wftujUssvw8851/UMEjwov+VsbUZHOehngoZvrL/s/Ie73GC3oeH X-Received: by 2002:a05:6a21:3702:b0:fc:d037:1972 with SMTP id yl2-20020a056a21370200b000fcd0371972mr2334468pzb.39.1683309157243; Fri, 05 May 2023 10:52:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309157; cv=pass; d=google.com; s=arc-20160816; b=m90tgTHecwms81z+Yvazuq9shnakxeYZzrRngo1fLGfxhv1zz0m2irmCeZvQ5rAiZq 79yvZwm9JLVU3JCBuX3Qq8PTz/8zd0/EjH8atXARUGMpE788wlGM/Egt+tgcn4UyIMju v9mpAyQjzczRLLxSQ9WR5RQ/ypYU4x4S96SjIqXP7acLtCa3Ycu1SmvZbK5JIQDBPsHG I4ewHDSjsgEFO798IuBw6uA8ouoLx0mQ8sdhs5J1BjXciumPh/mq8jZcMG1nUYFPO7yC IkEcN2jqDWGfMgrl+yB55goS/EqRAccwMgergEuizNNhcJXAqK2XG1idaiHTa/yJzRSS fx/g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=Bn7CJVTTzCGJHfmLE/+2NIyJatFk0uV6AOMMUMy4o98=; b=HTZZjFdEre9ivjkQRY1hCn2JPmdVWL6F7WLGZAn5NIg9PO0rCTYbiR3sKOEv+ueiqm mkKFZUmP5RR7vF58R1z5kmMgj1549Z2yRRVoH9onmIGWIweEs9CdVwM4HRWbNCeUjqgx jR2cU/FD6tLLUFX1e7TQXR1bRX63ziGXVFiDtthXyQYmezJs30d/nFPxHhB9j2eUhJqd SD8srqqrEsZdvp+wtduLVD4vSANUMM5K4IlEDm+rcjGB6nmlEkmy/TeBA5X6+hSj5UEu ro9/VpwTlNRWnqySoY+4BKHFvukl9Z3iL1J3eELBjvDZMhZ0wtWEh1pgWz1RRFkvIM2W MEFw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=eCLtTp28; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UezRQApu; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t5-20020a63b705000000b00528b933cffesi2532261pgf.868.2023.05.05.10.52.19; Fri, 05 May 2023 10:52:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=eCLtTp28; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UezRQApu; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233009AbjEERoN (ORCPT + 99 others); Fri, 5 May 2023 13:44:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232999AbjEERoF (ORCPT ); Fri, 5 May 2023 13:44:05 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4874D1A608 for ; Fri, 5 May 2023 10:44:02 -0700 (PDT) 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 345HhDHg020188; Fri, 5 May 2023 17:43: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=Bn7CJVTTzCGJHfmLE/+2NIyJatFk0uV6AOMMUMy4o98=; b=eCLtTp28q5kfhjOyhJ9SQ0tElaDRPrLBIn3+yYuog5+ZtskK5jNa97bQNsx8kGfT8BL9 eNbrQWJ7TSzad0Q5g056wug7uQbpvX5fhm1j8zGi3KrEpsm/PRJQqO3pMTOtCQNdL1Qm ZuVyHUnBjHIK0+rW1IW6FHKlX9s6H/LtSJRzEataG6PLDLdTKE6QDgQ6fKPZnWHbxLLv 5iusK3Rr8iaakdW4EmBEwpIDMaxdhCn2gqxFwxeuS/k9IKq7BHH625gxB2g4RI9e6dVa hpGDKMcpzyeHH7IaU6RrEkKjKoKhTxI6YpK7QCdie6XpCYql6qZcfFsX+e5j6BzbFnjk cw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8usv5crr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:58 +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 345H4Dir026812; Fri, 5 May 2023 17:43:57 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spgeyfv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:43:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m1P2+r8PoJDMxG5xx4KTTLPMIhsXu9I5HK3VOUdvOBLAQHz2YBZXaOqzjFGt7A78BZPk2tKDlGBCphGqPEhal9B5bM+JOb74OR6+IzsTXYQ6Xv8Gfdsv4DZeBBlSgZSgRDdqrTTa/eZU9o8kUQASg0JHm5bj74MHiIlwG3djh1+xrilPfafVWP1kuHGJhkyD0KYtMv/9vL4QHZQBm1UBoGRZWVZpkBmOZmnYT0Ei9YwzAIuPG1j3Tsc6ySBItUVEOKtMpi6UYAlc2xQpraip0h9+yR9/LOayqP/rDWMV3XQENadFT2XgmTFGTC6p0yh2u7W2oybaxC7vjfi0fsLjjw== 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=Kn3CkRqcOVQA4wGCBuKNnM3yt+VZ9s43Wi9BT1Dd4VY9O8NeUPog1h3FGNjdoEjMzcKRGjKNMztEwMOxXgQa5Qb5DQvA+MJuZ8Kji27si6U0rj0ty6kn30T1/v2aJwe8nI3+9dbj7vBGVXbiv6o6vcN71otwRXK3TwP8SO+9AMfb/frvmohjAIoawEc9GM/smkFaXcO3xtG6OgKxMyd1IwMw643s7WN40C2F2FYub4Oh7jBcGq6vB06d5R/y+KwAilZlv8pm8q2K/mE629s8ZMxm4uX05dZoDP3Dx7D/t2g7NmBhQap4iVMYW+/pxZtak2KymjCYVm4or7fM7phAIA== 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=UezRQApuE/oGokPTBepJCJtEnMkfJpTkupfxXt8f355M6AQfLNm33z4o10rifaL4I8TS7K9radzXyklEMd0jtgWROvR9OiukW93po0FNym4puqJf0q27rq+iycKNcCsGart2XDgmvzMqPQfjyN4RlDcoAM306RYJ5ZSz6hl+doA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:43:54 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:43: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" Subject: [PATCH v2 06/36] maple_tree: Add debug BUG_ON and WARN_ON variants Date: Fri, 5 May 2023 13:41:34 -0400 Message-Id: <20230505174204.2665599-7-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0016.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d4::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d4bd6e8-1585-48e5-aadd-08db4d904bed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6qgWEQdPtx/18ROW9aY+/n5sSH+IAFtJodIezjiZaSL7Dvmx8JJV8c+v3khatrtWDZzCXWuppeRY7bKxFuI24Vb3s9vxx+jVYzrPWhNJ6PcglIj0uTIBxOViN3e9muF66uH1WrGr5ZRjF20kp/4YFzfDLCvh9YV6b2RLAsgD5NQMGKhj9QCk1btj3YR00oUaeKY++2263TfJansYE1oI6BnhfTInKZJMU8BQyG3wD2B3k9CErgJczPOPBGvlNhyApdwu5G9IRU4nqEAakqQhp3FyBHCCiQw9LMlmuIOFBilEMv++fRLRr024yLTAJFjVSYzcnVhTzVcoDKL0BwTrxdnD1e3qW1qs5rr67EMYemv9loI5UJr9jr9ZcUtfHKyuY3E/vDpS0JnkvA1FTP2FzuGV+4WXyZDbK2s8UQhm5V9sRFXJ/RLPAbSK5ygK/Nhc719NuWrQ5wcX8hmEh17x5aVa3FjJxYJVF4DaQV6QLH1fdDcimOkMJM4ovMQzkGTt1FWkKgZ2zlNbyGprLujgFEIjD2dN6qZVItlBHb2c348x9+vVF9fZXXYv3x4ujDvy 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uPs27AAqHPLOhnXFDLdp6tMdzqTcBWvycD8cDDeigTxNRe2DmShZfGz2ok33orUqlpnMnnapJhx40W3NAFysWNxb7G/RluKHY6EugWgiuNP0Ozr1hBTy0WuvoZiTvBTHrb9lweTdPnevv/lW1t66DJvoWAPoIQaqDi+HunY8twjpQh4bSr14Qe+s614cZpGNEwtXuHS4w5JESgByjXH39uZomIrk5S1PHwrYSAsspiXCNCXdCgIpfeSwMCo9DyzHBoLKPiMxfPmzDw4cCkL7/ginQaZ8BgTzyEN1f8nbei0lHbS6S6P3LKTXtGuRjEcyuaQzoiIVnsenBjcrf8XIeZ6jmae1vcVpOUvh9WZ8jBkhll8JDiR4TUU+/AYpw+aRaxOY/Q15Yx2PvjOlOD6ZXSWz/LwN0Z4uiRuZiSnwI4WR8EUAysM7o3kw/AkJELkokg4UPIM5dIWhmZm/Gm18rEklLmBckK59GUaIjBV/DK234h3BNH0KC+fAdXArhUpcNWwcL4XAfaEvEV4j8ixtPY/5fnFMAfpBJYMglP6etysCqut4HY6rVjVVy7GxRd6jNJOWSf76VtDksZ3GVK1x2HvsOhLtvfiZBswgtUMO6lrdSq4SNNNFgIBXMa+fvpISC4hkUzxQPzl3YZ4D5+4OZGSKn9pX+hmah4NrfZJe2QwiCHEn1yFzXZMvxgJY8nCS78NwgjXYFwU8MihXGMY0FwBm4UKWkO8bZB/F0HG6KgdQRWVpRaCpypPd/GKZz9ycYb1ProINSMo/7ckhjzInDClHAjYAckRltdu3a/gEnbiGIUcThL1wTn4PmBxSUm3EZaxq1oUJD/vqCElBWrobscCxBsK1VMLqsoL5kX0aLdVy39vA7EeuXI265eGOUEA3hieNijY3BP05aXq7bp9/r2UIwTxdmsDwrnXBOd9E8KWBV9R6S3/PsXnLB7kYsqRvvdLrplvoIBknH3T+VOCG8qQwPCB71pPkZC2gnpMEGvZf1OMA3b0cYgv8YbGnZpDRFQZI9I7Yhvrr82nVOCqvNADFzEbV3UQjNNMpowe38yNNXmi7zW4dM6foaRmHtIikks9gnRvJ7B54pX/3kXk77oIYM285sswAxuCxjgCgt+VA6xYUcxS43rxmD7Gcr32xHBCAflx3nS/sdTQslWMzHJjjciClNaSSe2FulLv8QvpokC+ZWQu4kbhTY4IJfxQRIyAfGQD9FbGLUa6kRhacr658OZJkH9WwJJg38alP1P3XyceOBrxT6QRryuT7EhbF+h1PUWh0GR7kq3T+SE7M2mF8vFeo4MXDHZaVsE97/nOThOBfuUBdxBv+dM8kvUNIxfDWfTyhIDE/meCBqMY9ZyKCCT/zEORhoCQdinfycuXTAgw/QaL6NJ5DdVBexxBgzcu4q6Pz+w72L4ay+CwoC3J1Y/K1meX6vsLaqbIRx8xFNMeOIL/9RQJFvDie/UX0XOq1/78rebc1pJD44sd6greDQoI3vlR2us6ckan5KGTzPxfypzo0cLwliUnyfRXBySDA1640X095ckpEM2LwqiAJR4E4wRxMZPuDBgDgfAiDXnz511THtNIlCWCZd7qz46XPIxYUkU7YQEnF+UFeYA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0tqRSs8lqu2Z5v05hmol47nBAuTF35AkzHRtSTNunzOSRpqgcTUyBmGHjOSLOKVBsKbs03sCR3ZQxPdvFAHCUavtHgcjN53RGvghSPRCjUQ+iFYFff0RVWoHrttbvT07F4eHJW63iWIdyWt/Wq/zD3/5bjiizym+czCo8KBDFmSS2jvDPGKjbfp0eWlzLJGEnuKNuDmx6bKCWXaUnwni8dgHw+G6z02rjI48zCn3oQFNHfTjQALm+Qf8zxaFP0KbxGuZWyPhU8rzcza7y5hDrxro6M+bS1qFM08Lx1uuarALqYi+6qXnlzDSIlea+9MppZjLG+ggzDOK2abl8Agj2IcwnZSyFXsH3T0SjVPmYZUJSTg9+S/2nOASMlIaqIGdIewlH3H4h2U9YHqnuPsu073Je8gDQqOwgeu4Ah6tD7T2VkZplzsAuYt0wXqXiyTueKGRbat1pDqto9qimnGweyO09GZ24KKrPY8nsRhYMuKgZKz0U/bRhMCjd9diYIGRmABwOrAVy6QMxGi39vm09+trSOZmKbz+llOOrn6z1DMAssVWI1r2/XUMVkYI7mAT2UZylpt1PYZ0U8ayi0jw7Y8FTF+iSEBboeK+fpcqyCghzR82WlJBVPhGR/V9depwDHkzwgV7Vpp3DR0ZTWXmsRUDvFUD4eEKw6NR4PF9uNUzBq3J9z0OElyaVkfbE/YSeAI9HwG4h789LwyR9nMrdHusOasKjs6igCtRBcFOB77T1lCadBkS/ktjjk6ndYy/L6voGU81KSiXBmE60ow3zLbD4F7Pm4p/t5nq4jpOoC76ef9oQG+A6W3wcahBM0n0cSyuXzFQgMMoiJZSMNlRG8bZADo9uTC16JZ6HeCdlLga4qkn8pUEIYP21yldx+ai+49OWGCmTxyf4pfAeKeH9A== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d4bd6e8-1585-48e5-aadd-08db4d904bed X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:43:54.8546 (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: ArjaPRTLv1vxnpQN2x6cFjkcgVH6eIvdvLoeNbgTT+pp11F+wKcEtp+kg667FM3X/Vwm5e+qLWeHj+Mg2sTeWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-ORIG-GUID: nR6x51K2FWxajrG9MacuTRyZyrQW5SBf X-Proofpoint-GUID: nR6x51K2FWxajrG9MacuTRyZyrQW5SBf X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077582786452250?= X-GMAIL-MSGID: =?utf-8?q?1765077582786452250?= 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 5 17:41: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: 90528 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp584367vqo; Fri, 5 May 2023 10:46:19 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4hqaT2xQPHXrFbkQVjKwtqzUfN+cwCMhpfnJ6rO6XrSnanydvC6LGYAnneTqI9de9Rnphh X-Received: by 2002:a17:90a:9a8c:b0:250:3e18:9a74 with SMTP id e12-20020a17090a9a8c00b002503e189a74mr1034794pjp.18.1683308779616; Fri, 05 May 2023 10:46:19 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683308779; cv=pass; d=google.com; s=arc-20160816; b=eWiTWcsyATZUdSmIIrRdXYIAeM4jUb89OgGbiyvlsdBXxzUI2AGaqwOs/dpKXGJVHS 8LmajfOcGt0qAS/7FUd2EPTTn8fd/hjKIKL38LgX4lpG5EpBS5e05lLp3TgOJaex2Eb2 Hr78Ooj4N6cTEKXxPdzR6uQyCUyROQ7KynSIqdHPL5peTQBDkYgTtuO5n7cZpDkJc2ha SmX3jA66+hUibtymuh/AjLoJfQvida3SsLmigqR2eXscT1rktKD6dXLER/R3cVi9m5/K RYHleDO84LVCUK8GpU4DrlMbwtYaslfsff/5NBxG0kQjJFiwQd8DJIpCdUyG6VAROCSD TPeA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=IbTSmdyb2l0AxI/fykNQrwHeQXPrfhWT/toCcPlgTno=; b=DmhpoXv7wPF3tnRZrLNboovweB8K+lMJj68ps33vME3yEbVJikF0I0QsFbgCYX2WV8 DZFsIQJ7vb8x8CTOP3x3MCvWKbos0/KLc3JhO/hWq0NBpCh2WaCl1rkUtWoay/45uCY9 8f8jDJRMpSbTTMvuMgN+zga9ZP0XFKXA75SSP+EC0um7Ythg+9R1M3spavn3ujlA6ndi pN7sMPppW4xLOSFhyQyJu+UZaPACfS4Mz9uvo2cihCbik7nG1K/JmvX87Mfta8JXICJ3 lcdjmro5QdsUFrXW2lvRBn6hsUDg6aWfFBbnyg0EXyo7ikKvLNcUVxe+RK5SWemznNf1 Mm3g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=FIgsVyjH; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j6RpMMIL; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k5-20020a17090ad08500b0024e26ee7b93si9492065pju.9.2023.05.05.10.46.04; Fri, 05 May 2023 10:46:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=FIgsVyjH; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j6RpMMIL; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233028AbjEERoh (ORCPT + 99 others); Fri, 5 May 2023 13:44:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232975AbjEERod (ORCPT ); Fri, 5 May 2023 13:44:33 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D3CB11C0DE for ; Fri, 5 May 2023 10:44:09 -0700 (PDT) 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 345HhOID028094; Fri, 5 May 2023 17:44:05 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=FIgsVyjHkx1HBwzNx5m93fIiUUIyWgcZt4DpauEzRefY5gycl40dDTlixkwpK9w61jDz pxF5xYfw2CYToK2cQgkM7xqjZPR+lADCkGxhoBrDpFbGddgDWBLn9BOrhwf4EsueVCt2 oPMqs2aKLlf0kUKsJudjh1bXjQb1njNHaeiKqkk15YOP67kN9nsogX4v28FbGlSM048m ymA6nQTSTG5tMRxhIvaN1h5ISfThcY+x8MBb+8nnDMmKKGoHqZ4PDNTsDkiKRsamdZ58 7RSQY0gJYfG2xQdrOSx4yxdA700GuIWSONUo3QyJKbNWrRg6NJLWqWHtjZ9Qx16ALNG7 cg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t145jcq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:05 +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 345GVNqt024864; Fri, 5 May 2023 17:44:04 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spacj05-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jwTHHocOicNwRtjzoeWERVPG7WXSZ/qDbfLXlXAupLIMus8hjhB/FJj8/st3aQjMkgJ5F9oqBZwd4QiMt9hz7cnK31bq83ll2kLlqzm4vIf7TSmLVnO//gV8UVJIM5aYtLH6UXEQHQxR/TC1oU+Dy2gJWbhVWNdxqAUVE9L2SLKnshB7YhkuGuW0gXi4G/ryEhNiqEsHVOR5mwlaQghvutGSGlIrxZEtJ0mFMcGr3VAwYjmTHNRZan2zEfKOq5APzmgTFl2e82s2wh186DQaUkVfZVtaVNRs0JcthZD5lxpYDSimZdMWZ6CdVvM+BbDPr/hbJcN0wG7xfG9FVmkFGA== 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=Pk1+6OB2HDWDF+A+1R033hufITiZA3jQW2ce/ZQfE96UWKC0dXTS7aG/4xaHRr10UHzN2GA/3DW38oGtTyWOoCqE47U03bQAFm0pRzC6I1Ew46bx/17zPpXELrZnW08kfXN1dE0D6pAnlibxZWk+gEhITStdvY7Hnpna5MWj8aJrbYJfyoRuUxPfDEWBbgOnPWXqk2ahzJEPuYfcpseP92wRqE5bXyGI5fGa1o8jKOUdJA0CGolIV19g6k/mMnmzY5j/gZZUyRKuC19mWgm73JR0f4ZVxXIOFTWb6TrJh7EXYYW5FZV4a2q6YGHzYQY0crM8QrT0AZPOzpQFmqH1rA== 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=j6RpMMILtZ6XEmehJ0AkQRRvQwOyNqgZcLg4YscrxWkms2fj2aWO/j0V9dhlj66qIBKDjuptKoOJ9uOPGI3qSMu1cto25Rz3vW2kEZE98R3g7jyBwSythjO/d7hPiPpsvjW0ueJCePm8Nfa/oFpxXneGN3blNFEa2CtdA5RAa1Q= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:43:57 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:43: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" , "Liam R . Howlett" Subject: [PATCH v2 07/36] maple_tree: Convert BUG_ON() to MT_BUG_ON() Date: Fri, 5 May 2023 13:41:35 -0400 Message-Id: <20230505174204.2665599-8-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0262.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10f::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: f838c09a-da3d-4f7f-4586-08db4d904d53 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TVjs/kMUbaTNT+Zw0TwIiWprUjseWCCkvLSM4cbVPiFmSqb+V/zclfD8IOWdOAeLD2gTrdVQJ+TQEL3czlTdEASRzG9gIHf1bVraXo79AHS39Z/ofdkZN6fP0D43TLtqDIFAw+FCzAk7n19ZTxJXXuB05VofHobXxd72y6p8YsP+iHiaprJKOAZpGg4pPiBdmxHPJd9VhPu+CwxQ91Ykq/dHdha21kmGK9KCbZTJZDfoKPQzantiw9sBwthDMCKuqi4LSPp5f5nj2/32l1L/K4166Do7M93XV82zFyGmr91nsYforjXDPcGK2+PC2InLWrel36qtNyMlWkK5xi47OX/zy9WkRjE3InAVk8wJi0YrL6XFKc7lN1BQA5PYX132npRtqzaeushstHPa6mdRwikySuIoHrVKIzt6ScfOixicNzRjLkwhpp2EM8K4wH6NwcdXZj2IKXgZIlIoFYvheh7NwpKzsKmjaKjTn7OPhqrQUcaUJ7oWLSV0mxsmJSDKbM/GpagLyR5Wywvh79Ta4ELJtqOvEg+4iBRInuUoMBrWpAav2UNUs3nPw7dWybzA 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(4744005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2KtuLIsyPwugbGvWwM2s+ppSn1nCiXvrbjipKASHuBLNYZ+mXfTy5s4O9p9eZe10pCL3rDj+DlzoAggHGTp1Qtzw6aKr8LPgW4LqTjSFnj4326t1HZB4ddtonIbZEYNf/gGy1UUUGMbInDs7KUIKGEPNuWRL3c4MFQzstqwGxYgnjksHl0bWvR5tVQOWRzl86+t2OXjYIZKwT8/l9WffenA0/cTvDcUOSBMKRr7zysImPGl+y2BWw4lWjN/bFSNySxQLM+izKjE+mYKZOqd6let4dJLNyN8spzECvtJYGlmvEPJjqpANPEuzelNIlzl5qqvXGbbHGLrHHkpWx+h6NLxvxf8858bc5qMTfQzakfrMA+eqlWcmZTdioLRMUOZNX3Mwb6iOw+aJGZZZVpdqu4AvU1xfjkhc5uo6SLKjBogf71wrMo/TYQ0/VtK3vg0V70aOpweoR+SESHuuNre+OgfJQ1QAGQFwhViGGUZ/6hbovyEUmdMc1cpRFPumCHC1FMYT1TguoHl9WSK6Y+xnf1xp+iLsW8+DTMaDBd70A+NwBRbOFW7dbmgf6koHrz53zbUNFqKBQ+bl7tcgIG5r4zywW3eY6b4bGb7nyGr5Vbcdd8RD1mmNVtVcfYzlFGOxCZKMlFH3WFA9ZHrflvPR4etM2lnciuA8+bE21FxEXu6UVO3bQCCGJXHtPOs/ytT8z0+eg06e14qK9z5TRjPJnHFMljSN7kcc2et9h347Ha2dRyACJoAvUn5UzdO7Yuha+AvKGiEHCrGANKeJABCR+UdcBN+Xj01N6Ujd0RktUBp67Ggb7I/ZAu1asJ8h/oJOxv264usYyGaSfXTC3R/hO55JVR6YByCyFvAR6z4ljoM3jtQefaLFhMDoFyKcKhwDZ3vfua43kiBjtkAL1R90YeK8KMYhWYFfvrKYYWBeaRr0hCOy5KCH8bMloUWF/5pRM5QYXi8OT8PsKBBmdwnMKU+s3efN56c5obmchiBaNYKDMybWyqas6hvNCrodcNrRZGnVxmNHDHNjgrIN9rrTzY29Bk7+ojbh8hQ/H4TN3MBv2aD+5ki8DWqkgap539eDd1kDEFe2VAOeUQlYKKuoZLnzaDLhb/yC2XaSghWfs9acubmtempaD5RaHgdHbJTYBInTBzjuz5r55CHTZnqdwcTf6aP4474WEuzR78lvXm5oYXPVusbs+SVKTzfgNRxbCskVoDSWi7qp5/HGOo8Uc3Ma47QQ+9a8C/ClacFkFauUrDiYsP0HDDA8jN9AjtFrsNut4pa2kJCV4HfG9otvacOspjGSF8Mx7JYZjflKtqzqBzsjn5KsfXNbotPRClkJvQFZYQGgIXF+7K8PpIt/Wvp+0PCfCTh82WNZBrpCiVjcuxe5yqtXSRKeqcHwwPefiZU9X8GYBsOXCYYkCA2VfwudLDjuDF4k3l532D5AJzEbBHb52iLmmwIrUyxz1SsNa1YN6cozWslm3Q7D7gWhUWRWQIvR/JrlI3x8mPDUDuwghwGd3C7DjmQZQ5soo0owB1eP9tB6EL4d1R8cIdWM4Dnq47pIcvRLW2/6fN8d5NabgJU1AvYspawu12jtK/p1k90GAak41R/m0XquPnPs6Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: TR5CI5HGFDGntasAJpbZw5RBMEtdBNMd7iF5sgzYmZMHESJOCFRChTrq68Vo50L4LYIdkWTVXZLfxz5omOL7ZXoyq9SKyljCXZpcJCFG9KrMqMT/Yovnx0rjBYXVo5EGb3f5za+uAUlh19kpfofhf5hUb4mJoS1gOdIi+1KqMu++yiPWy2uQOXrq8uI5pjO85J++/kVnjmwfOgsfO8uWJeZb/ru8LXeklW19JPlTNeNyl38t0rTP2PnSY3NyhGrOF4vJXnf43TXK4kOU70NuTwKqerwVaei7bxtz7HI5IzV3/s9e9Ks+y2MvG2FfKWuHCTSK/JnEddJovWvFT+fKBvPAdN89/DAgyzEILbKBo0k8Kx3FsMl0VdxM88ASFUfpnZkC7kny8/ZcdxLXSBDe6AvP7klZJJC3lIff+xuWNVcPnMPk/qG1n3HCJoK6pgSpnLpvzBn1isJFDKVFCJx8xnl6IsfAwVw1IbAUAM3VrjAdEN0YNTEhoaQtMDJCxjkeEBcPwM/HWaQzwhyaghPuy/H+WsJ77aqmSxIKj+4RsLFgN9XVZRy7/cGkLx/CM3RD+mQf0WUI5bcKOe6015BZtOcsacq5W8YrX2lXZ2WQm06Or9QanYkceEeUlxgVqMAv6tgqgkvVlw/dgO8WU3ofR5JtbKYbEYJomOp0MstcH3SbtnwrUauObuDahVBL365fSiG8/mjaM7W9BDHCDSE39wOSDcy7owhW5E7ZaGOJJ01zKury4GFViD8MhxpnkDNKhIzYW1aQTtgn8ZY0QsKdHczf7et+b7VpeEM+dCiH/3c6gkx73QDHzOoipd4E/NoJvNgoApNlHHK+9grG47HDEdxJtBsyY/PfBtKi0zNqR65ib/53BgdRlYjxzXEp0W7F7AH5OR50hYhVYr+dOxXR5w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f838c09a-da3d-4f7f-4586-08db4d904d53 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:43:57.2123 (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: QawuG0CLqHXL+lzdg3PzY5EXxb3eABbfQfM06N825NZgVpNV1z1ssj/OWexxM5KoMfLFue2EIwwnme679mzzqw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: QrLV76Ilo-Cwoq2-kmfLUs69XoD8go7A X-Proofpoint-ORIG-GUID: QrLV76Ilo-Cwoq2-kmfLUs69XoD8go7A X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077187049559076?= X-GMAIL-MSGID: =?utf-8?q?1765077187049559076?= 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 5 17:41: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: 90541 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588490vqo; Fri, 5 May 2023 10:54:07 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7pWqj2oBsKSrl3NV888uaNmppBnBqsRzZzotxBFqktQoFx5zVM9wFJNgu+VH7Veb4i4m1v X-Received: by 2002:a05:6a20:8f29:b0:d3:89a1:76d1 with SMTP id b41-20020a056a208f2900b000d389a176d1mr3163109pzk.11.1683309246667; Fri, 05 May 2023 10:54:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309246; cv=pass; d=google.com; s=arc-20160816; b=e6ST+wMtbyfHlcnQW0vTtLa5MXZz/habkZbGkLv2yi+ZaMjdhV9r0Mk1lBl20wIR2T XLJ05p1aV8rdu/20itIVxXgowCHuk3rO8RjLCE4fS3aTiigvrExYqpGtgn5+y0VJ9Hrr gyMeh+B2TAq9sJSOYdiJ39ngkZksI9IXfgw0CAMKK7IyuDjxjFezJ+rEjz7w2V+cMW9X 5pnQhw1Kh0d3VAwkYqmzd6REZAwuQPXtzqnyEHIw+DzFaizQGtewQ+G2IJESEDI7EUBq R9KMAtWq23ru6GWj1fSkYeT0/Z2IB71DO3BDmfwToCdTemM0+vmNK2hqJRSKEGDu0jfJ EpOA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=W5VCQae/u+KrSguTgZokUl+Fxo+cz9ZckZBWA2If+Ro=; b=uAooaMDg7NUcyeLFuN9lOG6R03C9vzskfd9xPQdS+amZ555mEjw7j3+90T8KSPqxyV PEYsvmgyvLCagrRPBXxi533StfgA5ihCoakwI48PbX47w8eOZosvZ4zg7tRM40X058zD qheVMN0LpgjKyk+A3AH8oNvnJFEVLgPjwcq5z2/YIN4l7uYlw0CWmxk3yoQnbw3GxEmf KloYeeeHTl88I9Ri6XgFJFU+AkLZq13JAGqdJ6exZRNcE22Iv36or3ju2kRakmglYc8g SLepLOD8A6zV139XfyEpXuAQrIHtUifq8D6jUnNP+zLtySBOBfLqvzXyThNkKdIt2UDW rq9w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=PYRNpmeU; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=EqjmN0dO; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m13-20020a637d4d000000b0050bf5a814a8si2448573pgn.403.2023.05.05.10.53.53; Fri, 05 May 2023 10:54:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=PYRNpmeU; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=EqjmN0dO; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233045AbjEERok (ORCPT + 99 others); Fri, 5 May 2023 13:44:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233002AbjEERoe (ORCPT ); Fri, 5 May 2023 13:44:34 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EBE961CFD5 for ; Fri, 5 May 2023 10:44:09 -0700 (PDT) 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 345HhI2W028007; Fri, 5 May 2023 17:44: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=W5VCQae/u+KrSguTgZokUl+Fxo+cz9ZckZBWA2If+Ro=; b=PYRNpmeUczSDqawrC/QcyXE6aI1B2NpsCZUw+mkg8Uss/aKmTGEQPhdNpRItCncFLOct 9fCZLL28+MAkHpztI2JtLkiiytkBYWNqsXxdCMHJCKX+n4EBMaBx/FCnYxWqg6KW7ZCT g42C+uMrUZXoEAXnMFnFDmq9FEhdoap2F5rh4ge03r7/rPnWkAhmDlr+uaE+UyhgYV/l LS4GByXOpbe3RNdk7vrV3x/Q63yv2IVIiQ0I/cV/SCRBdyew3/DyTEztQ+zFA9cQgbik cT3HncYfj/TOLMcN5Q+Cw9FbDYV2sdBXxqAofQ1Wnsx3xxDuzTXbJYwW2ieRs5l0RabQ 5g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t145jcr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:05 +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 345GVNqu024864; Fri, 5 May 2023 17:44:04 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spacj05-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PR7VMIph/fO9l3zLeXBF6nZmOAMCEyMBoL3XNvU4VXVZjNYgi+2qFRZFbLQGHzsZMUxd6DIdGP0hX0fX++YhnRq+c8wliSAexbzIz0n9vOe0pBdCx1kRdc8YkWnACEx5cIjeukzTl+2XcRudxXOEucXekoa+GT5pWMoTZ86DdnczeTa6SZRrGZeZCh2l6FRWR+2D0GZ/veK2ZuU2ZIbvb93UjSeN/ZazI1+mXy3HBWStnRxfmnRvsRYSYotjmmV122LJcR4B3nUScAp/wqTw8E9ptTLWp7NYrEjdVCRBQbUQc5qMVS0DevbM7RIhMpFZ09c4y86y0zmvVeErIr6JbQ== 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=m+weNgqhz1/dpLNoK44Bd6NMNfnGNcCGk/y66Za69hd0B0LQ9iupZYRsxXz+lqSxTNbwp57B2UUx2tNU8s5xyRHcbuQhCChWWhI94+cNf2nZtmgsL03wQd8jd3Uz1167f0V5mfUw5IMXd0+zWQG+1/LrwIo8NzW2ZtpZ3iiZ0jTvgETOyfEGE/kmoIZPjGm1CxlWBWhMW13PmrIaZEGjn8a8xmk5Z+V+jJeKzEgVpU7qDHazXm13rVG1oA/8WPWKaDN/rh1a51S6Qed6x/KeMyi/z7YNJsE8FlDcSgZYc0uSt7j6tHv+Op3bTaBRXFSyUf9PzF8/rE5MSi3lBruHJQ== 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=EqjmN0dO+xauWhY9p7Z68FvQzrqZSJiOa7tMr8TJAy6+VKqrNHEv9Oz3XZT8c974J2kmR8TgAcebrHTx+f1Rki8uFORK03qviMZOzKAJu5QrFX6LQZnBtp3ZcUm5HCoe67SpP5TSncdfXocv9aAHDBpDPEseUo/j6HppxynFwAo= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:43:59 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:43:59 +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 v2 08/36] maple_tree: Change RCU checks to WARN_ON() instead of BUG_ON() Date: Fri, 5 May 2023 13:41:36 -0400 Message-Id: <20230505174204.2665599-9-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0009.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 902de8eb-59db-4565-3005-08db4d904ea8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DSU1fR+s/856spKUFEFrzTqDWguS3/lNfO+0YdsdxbEjBDai571NsuQNSCPx2UbwZWcfBvredlGz4njOlZKuntH0HqGW7dbFMw+atZzDjKi39kMj/w7wDQEodQWKX9FjPutUY1V7EeYV9YBu6/SBH1l5zLSta9YzlgD/lhU6lIoMhWHSqKteORKFxBJV7dVomruPolowQdq6nTZwkcMjfmdJ4tMLDibDibqSJ0TSq9HZf7aY6Zb6o9QUw6/x95mc8g9zuFvp3ZXPotZTDzJ7rFV/jus3xFnCJiAzoU423SVHIGfnx4jJ9FVhXcDV+CRyNMxO592iPSfJ5Vhm4ji6fJczUqwc8olOtvRPY4rtStU+uCYgECCuf+kmWzEokAs59HhqTtd8p71qNOO1vJsLaqNbkyyW4FFwByAAt4QjPTkOKYGXXNYQwvsiGCpOqsWeh+mgRC9hCVYKSgQKGVtFZAPmI5JPUyoWEj/M8qtLpBs71vrJYpYsFob6kOU8H4QN/mfFar8xPk2zdoCxKUitNH3MRqmEn3jWLR6JAlxA6xx9YR/G4+SOxDYWf3NvDyld 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(4744005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BaFQDCkdvGgyx0BHFUXcXLlwJgHldSLPxgIQArM0B6xBW5AHqnREzvzHjDogV1+1YXDRsqQa6xkoJvS0a12K50+58Y+A133QtnuG2Vjw7xDRG1Zyyjvv0K7cS0/PTqMZwJni7Ivo9GckLv3I3xeC1be58UUkaZHk9PgcCd6f90LTVLpCcJHQiO22rU8Q5X81tPhz12n679w9bk9gBMD/ad55n9NGbgMC+b45TG896lrCVIL2N+fuNucQNIB27cl4kIgSvH/aL0PxU//SLosHgFq5O5f0gXAUF+blU02Z2VWhzfCtFwyS/AZbPC37I3FJRzL+fmBe86WZ1nD+h0moJmhcWdLCzBwprTlbEdCqNXFhBVYGaVj3Pz5ikpt+J9h+e6m3hu4EgKy9jkIiTsV7WScK7GZ0ptHwo5FQFYMNimXKioD7kmv/dy24fTNNOz5XUI6T9VJpIrs4NPwXH1YtPCeR1zGiZjkvac7rEbXxWgCfiHZ/cq2wVCL69DU3uBA6b44xynV7svB+m7qnvIQ3c/3b2jAGjIcoCsqf1phCAteKdla/LAMVAU6K8BxAhAPOePVgbGbLv94AVnHaQ+5OwJMu7G/vKX+389w6gIQ3zViTMX6j4Uwun9s4C1Y1NRcSTu+MEzALvi6pXx5ecLn+9Lf0MNMXSbxOFeLjI9SzhzNBUsz/nxlMmW+tq8kAXhs8C2W0HkB/t+3/sNj4JFQbxYjrwwjaJ0D6o4rKcDD0h6AtsVWDPwUM4pnAhqelPx9LNV86n2QIzd4nm7wy65dmbQDLIaxsUCFtpEmdD8GsCFucQzM/Te9FniwKX+CmxbNFB8t6PHucbtitz94s4uYeYDWl3Xmiqt/bmlUU2nN73VW611nIONOt1f8K3DYbHqqiMTrveGg7f4Jq0OGXdPVBTN9+LzZgbzBCZ0s/LQspMtYQLRc+VY8Ht7H9CVeNu0WLIMy8v1IzTa3HxYrUQNsJz/gR+njrXU8SvKeLwJWa6gIqhwE45Bgz5dztlirDhbEXKNS75u2qB3LsJ2sD96OrSQC4dyJ0ccGsnITL2+xUIUtOrCCe+1Ic7jGslOTs426JgGvnYNMef2NUJDwqH+gK5pIFSOd6A+7v22NMnAOD8fxuh+kS84pEtyl1MKithJCaixdhxd7LuaUQZQfb37nhJoa6RPikwRWL2IxStg9QdpNuMBxLUDzcNQYkFZdefCmzQ2btwiBaexoju/D20z823drrnAsPblOf9vZtD3Xd1DZD5kazgA+uVCPL2N6q/lwe0mCX2YnLCy/avePZvFQVv2jhPvGSnxmnMXP9JOjq2Innrpb0NmtVcUsNxpTD4aj6trlEuxrYM3OE/jxVuwSeWQAVfOeJP7CBR+lQWjvN/kRRkpz0beh2PtPoWl5z3Rp6TFp6X2sRtPNxp1HPv+aUNqSND/cTD7JClKw0U+tFHve4LlckD3uNnE+b0m1e9s7xCL+KQJ+aBfuyKehPXj7d7RaNJB2yCtaGZLSQeQlhODyh6Y5vs0RvFpDNiwRebS7MEGsDPTg8Bkzlx+zHsdua/ilmQXEnV/ANu4TcFMcKHVpdL7lb9E+ZGfthUuMbCWk/JX+NaK9kZoJ5o/V7A23cSg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: prYBFNYLuddNwBT7bPBmSR5bFn0V5dSUiXQNv4jak3avRiNcfLcR1S2II+xL7u/INEqkDRQvSpOdJi8RMPfM5q4fUQJGO3U+yfBjbwlD4QADATniFBzXbhhx981MMV4xBB9BvhWRZggCBDfMwtc7yPSv4H5ZxIViap6zO0R9vVQyaPLgIEv8ALEHX3Opah7pkNWfNI1QKRdLiZ5/WdX7WFroi5jJLRvbouRNYdJM6vO/3jY+OrSDusL2D7+fJihqOdj6jy9ioh4X4WYa3CnQhWART6OtKU1ChDR91xU4koRt0ZJ2dd8LpcQ+vrfvoVryXQh85nXlfTYbJccQ918m3mPRp1Dq5rBlkj961vMAGWyzTH60vv8aDjyigxm1AaTbH1AHjwpR69Ab6bXQi1Y8BxxLpgvx1KXed47MRH3pBx0aQPPJ8qyTWaKOvgAaK0XJVncdiARcju1KZ3fwj7moSbp0xUOHQO4QemLk0Xryw2cUmWoZ+C/o9Iv9DPXLEqaNytr8syz4Z/hIMwQn1rKvLjDOLC7hn6KiZkaGk3ydr/FmCZBnshXnXBzAr/+qdNLgoqYnn2X6P6giGfVhgDUI8Dn57SwwjQMuBWzj0UAKRK1Dc/2RDgwpCsulY6v69WX74MPL+Y3II/bJoWyGhrHl+MCdLvVR7W1JX+Ri6xqMgmnO0gi3IzEr6FqNYHo4KWD1e0/11ApHyd6EaLg9dKmKSgaQxtA/iieub5QxwOO5+ebUDeokjYIZIhVlDXUraAP1eQltdRWxCh//j1prJD5+I0DnswPNWnU0znPq0V8oPG7d65Exh3QpPoKJEEDGDEpEXjnImRYpEGtaTGTvQklZvE2DN8UaTb8kqHNSM2ebw9HFGV9K1zz7j2LDUFqRpdIPa1FvtT5Ajx3ihW12mOf/uA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 902de8eb-59db-4565-3005-08db4d904ea8 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:43:59.4541 (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: 9B4GKTkRymNlPT0CCMCPBmnUgYAziN8daov0Eg4PtDoyusqnvGeQAz/Ivm+O3ploK6CldBTmOSIR6xuvyy0lHQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: SsO2WRPHfTzJBXWP9TYV7fuokPEnX2Wz X-Proofpoint-ORIG-GUID: SsO2WRPHfTzJBXWP9TYV7fuokPEnX2Wz X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077676421143862?= X-GMAIL-MSGID: =?utf-8?q?1765077676421143862?= 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 5 17:41:37 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: 90529 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp584421vqo; Fri, 5 May 2023 10:46:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5UDkm2DBmEJkwiYN6rIl9XelAEcg+zr0X2RdGQHyhxfDCLk7G50vxjYIXVJiJRPoKLe/SK X-Received: by 2002:a17:902:e810:b0:1aa:f6c3:ba24 with SMTP id u16-20020a170902e81000b001aaf6c3ba24mr2799509plg.4.1683308784994; Fri, 05 May 2023 10:46:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683308784; cv=pass; d=google.com; s=arc-20160816; b=0IbWeGNfMLiNGSkGyWpfYEavF9vTl5ezDal6IFeFRcfIK55RN43HEZ06XeUJNumYSB LqsgOxWA4S94PoWq6GrWcnsbs6B3GeP2Lcc/A9UIC2Gs4CQqXTyWZO/oidJn7B0bsPD2 urGZ1P1zFTsGoh1mfIUsuaojQ91iHv2l6I7iyoPhmDZmbr6phSjlJgSIr3qmn4ZJs+tD Fa8muy6r+x0rTI+W/wrKMxSNRBbMtyC9MzJXQrxigeg6lMu857T6FIvcSu26RkqMyUkU KEZq5pIRGjnw7NosPZ6/VbkJHESZaQGK5QtA+1eYKOkD+bPKwgqxz1brQTzzwk88OvVl pchg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=A/hWRGZ+r+UMcw2/v9TIxTDIJ+JR1dErT7KveUbbwtw=; b=T3JRBZuObsFvsqWkCbsk+k405WwJkID6FgnnFwuqgjYKi7wWX1iRx0Ytsh8iMRgrgs G74vZQUsfHvhdHIt9dTmqHjRNu3N634tKDL8gK8eh8iEEVQyMf4aIvANWzG4yHrFs+2u jmZjeCL2MQNjXEecWkcjbb3zUtkecmvaOA/8DuDWwnPmQgfw9qo6T0rzqEoxlJcvcHXx uqJvckfgQBVbHMpYEoRLwMP0Bulfo/oLO3aJIbtiB+RUQwabu6UG3sQoZjiJduEu4AAZ l1PXR9L9dhC5rFQWZ0b8TjlbPupRgwn85BGE7R4GtST48V5WYqHURtIhEFl4SLGsXCyd SHWA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=fbjDNS3N; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VhgVecnj; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o7-20020a170902d4c700b001a94b91f428si2313192plg.319.2023.05.05.10.45.55; Fri, 05 May 2023 10:46:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=fbjDNS3N; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VhgVecnj; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232999AbjEERoe (ORCPT + 99 others); Fri, 5 May 2023 13:44:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41020 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233026AbjEERoa (ORCPT ); Fri, 5 May 2023 13:44:30 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A89D018DC5 for ; Fri, 5 May 2023 10:44:09 -0700 (PDT) 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 345Hh61m027900; Fri, 5 May 2023 17:44: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=A/hWRGZ+r+UMcw2/v9TIxTDIJ+JR1dErT7KveUbbwtw=; b=fbjDNS3N965hQg2Kn0hFv+NueLkt/Ov3sSK2Sx6jOv8mSi+7X/JLZeDENLLeuhNgAtPF Gnu0tBAXcgtBapAcHZfzBnN+AB6dxR71OKrSytuEIw3Y7Z4oAkmc+grrsJKIh2xUwr8x RbPuXTNCGow+gEmcuLUF39QbDFni5CYcPU5NGMnIlHxTBc4mIoWxG4OKtA7ll9C9k6LW IeYpfQLTCnpUb1hEkuY/dX7TjxGviRdAv4UlEWVQt6OE/d4cB5tShCo2Q9cV0okv/iap TdmsgevCi09FqlHZ2R1aoLWlYSB6mbXLpO9/n/LsJkXC3uHn3tuaA3M4ODx7/gykqlKF eg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t5fwf3a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44: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 345GVNqv024864; Fri, 5 May 2023 17:44:05 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spacj05-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L0M2adONDnlfZJrwppUx/es1al6o9KmhsqQKdtOpDR2+m/zZ5qFuXDEQf5DvtObPlGk4DGrEp2QvkJfXFmbw1ChqDCc5SWVdcyOgBXndeAgNs++1L+Q++LeQ8rC531H2JP6krSOXEzGInyH45B7vlI0WbQgSn8cr2vp1Q2rDsZaPbbHp9WuuWxREn+7ghpk+ws1u0Kr0lqLbMvIlDzx4tPyGJm6lay93FBlMmhmeXOQmt+oWAFgFyTOK7DddyvRHGMx32WqVNkh/v8ulSUJKftmsSYrKFy2ck3bWmq73m0Iv3h4XSkW6MI1TZQ1FfqXh7v2xr5td8N90zHzPpkQe1g== 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=ShuPvrMwDJVqHE8NhmOvWq+6/jb+7rw2dgaH1VsWWrhMd+GiI/u1PTrhTHqf3UoY50NQ2NqUKj05DHzqNCQkCYUoMcpKzibCvogP1W8lg2eE8ipS74qUeX8jgU+g5qnvdvOxrdhO3sJgsxcyJLJUdyg9vYLxg7YDMPTRMopfOq1s6yhVNiHHyAd8Ym9j2mhTETP18K4PdjVAKamf6jfTYAyzlUVZoJcURRogjg47MoZaE9Imjc7dsTmpcrVzLeu7icaaUJnH8E6gfmIGc7dK1NTavvBU8V6XK3pf0kvYldecZrQ/3t5usibQVk0WOq4DBvCOKLdcubAa2khr0QKd+w== 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=VhgVecnjvBmf7uVeGCCAIHMT7McMX118BTBpvi4RyDIBBhTNCLQdvyBYHh2F6AjdlmqwKupIKhuZI9d/zLC6zxdgTJMgv+BVlWqlUOD/ioIZILmmGVFdzF+kAbQbpyTIKhTYv9SLKP7oXC8Q6UElKMRD52W+D2t13K33JcV4PeM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:02 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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 v2 09/36] maple_tree: Convert debug code to use MT_WARN_ON() and MAS_WARN_ON() Date: Fri, 5 May 2023 13:41:37 -0400 Message-Id: <20230505174204.2665599-10-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0131.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d5::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 68f39d8e-4e3b-4a05-efb4-08db4d905033 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qOMooxY1m+g4BZZvymxgXsr+/VkErSwfeWqE2CSCknuuHjQ9V5GKCcc2iwqVxVa8z0r4/EXb76zcZ/aBZKcTAOEwVh6tAJ3cF2ELsr9IaGszDn9laYrpvTkk2gf/NyncQsv52GGci+E8w3dF8hCNy4qWiEEGdYFgonY0EgHrc1DI26FjEHVuow0T8tWwhzae/DaJDzCs73GujWVYHV8G0euo0Xs9chqzeM/TiCgLxnWDb3Ry1LF7ACot+g68VRNU2jsMOjzikdrdOYI5GVNyQ8m5rUh7YUaK0rRtYUW39GKeuVmyaetcmc471Bn/qRWjEGfIA1bCiaFvXJw47RELjWxzerPKxjSpRRah676tm7LkLLU7HssZCIDMP0xisGM/usbkETrHi+mGBN2m34A7B3MkCGdK9Kb/CM62taonpThPhBwK3CjNsINVoS/90sneZq0r4En3Yu5HM9eo9LmH0epWcbJDbpFIEfz3mO5a45of347ar7+B5Xaq26kVV1j7XnTfLioj8nDx/Jk3m4Ew/GUwKaub+qPej8sUh1eUXiMUUKhCpfQHQb/P+y08IfEt 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ko05ixTfypauaaWTgnwUi5zpRK3gIhZzTEEnPaSaGMrT5gLXH/bwNAmvKE9L1w3fTxJi2sgPYYhyGya+eg7mg9w/8D1fIjlDAyAs2d4F6Kz4wlbNUIuxS72AGv3alGXrzQW4pJGkw17xSxMNOjj1GJXWmPPXQci11PJCFD2Dkj+cyG/e/6ejAVsLj9sdOtG9qA4RmC8Xqve04NADHVxTMv/ckHTHH5M9f9PWMiueGoZ8mTf+Ifzn51NLbGdQuSBxQIZ5Qo9nvBlP1Bf46jasbqnKsz7W/6SOIyFK2PxPjnv8ccWV2bGR0dAsxTsjrYA+5968sCC5u0748ob7shZgTlWgp/HQTQii/SeOPJeBYVGZPlEw63K7vbcSuOyYY0McxFuylD13O6snYseJYSoQ9VWVTYDAgEPiR38MuNIg779CujIcgfj+xkT3rASkHH1+3J9gtbCHbJYaoGHgYlxPwlcH43zmCX3N+HP6BaBMAWzdLRiESV0xD++jRUn5XcZjmgyZcqeGXZXZiFswl3ycO9A1MXWEmdToeGdSRTviT2sPYd3zV1rzwb9G8/pLX9BomhO8aQsbuCL6hdVjED/PdArFBHJ5+5ReaEnA1n3YHCqtKyW6LQmty8CWcF6yA9KADNitmmRS4ChLXkQxAv008TpIItOxTSZbSzwZfEZpIO1hoCLeBG0P+pYk8bwNzWSdpCOHjAfu0qXUeBj7ZAEtPICC9fUnxbO/o8DG1KjZj1scCkLOvz4iYX8pKCJsso38GWkypG0ncv3faQ/MqsVze9QhitZ0fMQfw9nQLwv0LKRvA6aDwsfSx6Nq4t5RovxH7Hs2R3YYGUFUK1BCEIn2ecOpxZ1H4rIFSKnVYd4CfyYbgzsYssBwT0zY8iVTUnroWagWqjABTONDMLdrTHs93As62MIPCAQ1OQcPnmIVJO6YMr84YePvOTES/5X+e94kOqYBzrkJzFR5btSsAcT9o9JvKHuAUGjltOy7BocSxbihCQpxhknbbfZ9KJ99t0uwYgPEgbImEjiq1RGJyCI3Vd6TaPytqNbkeujsfV4vuxJphIxA1PtbiEhARdRven1WWP4XHiHt1n1ZJ7BgJKlAvo+WP8upDPJ533zqHLrKxcImZqV6JlubEloMl8kZodcS74BKXFXZpYRGD+WDbTBvahldkfFH1c1WNT4eSbS4sXD6bXBEgSwgGGzAjm1Ezu3J5Ta/VnDk1RPlecpbBByDVW/ZEPvIL9F+4mhgRt88xg24X4n1wGrsT6msR3KO4bavNECd/874+BINP/FwdL72CALA1CGdm00gfexdVQXDTZ46JBro1KSEBHLXd7QgI8xyR5l8/58g6OWlIQOOB5jVVFO7NDOfNtv4juzboNzYZ5w+ZUjd9hOHu6cZeLraioAbADxqBXuuwjljsQEkeha9O3nYSA02zQ5yC4TYavSamlB94pdd9LuDRhT4g8cY46KyLgCmY+AhKDg39GrtXTccVrxUOkuQSGRfgAbK90N/8OV5R94RzhfwTIsbfvj6OVn68KN82CKHMlM00Z5j/cfY4h0kyFDVIsZZcWb0qp+DZGJ/G4pvfp46Hhdl2CpgP0Rhe3BzlyIf4ui4xzpDN0hStw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: PpYkklic4YvYnnPmVSU31hHOwE+hDLpm6A1ulwaDansKdOXtV89dvrlBFxySdIFxmk+jcR5LWOGycTx7RPn3VTtHwHHPwtoXz3g3minBn2iJn5aYOGznsteP7sHoA+/elB1R46WipuGjcMBF1loPEHV5lZaKI9wYIfy90kQSjS5fRAuU+WKEgaGnkmD+5ElGYUGRuz1VicOrmFULPsMNpXv5IGucov0udJeZrmMvWdbYTrmhnlQLo/a6LNhLwxhgSHNQQIQMEanTPC3kxkMZtcm38g78Vpl9VWrGZkrJNwI/YDDuzeGsNyhw9Mx7MWmy9w4QskL12TWIMr57Bxd63K9IjrYZWo6kh2zB6JkTcDnKzFDoSm6GfVNdK7cH2Qamd9NdZk4IaJeydGzmkGb3eGcfflfd3VJ5pqqhPPitLshtZKB763o9ND0XHJtaB6wYtdcR6GUuCVcixmCZuIx7gHzj3GW5CsdoeZ3MnsTYivWfpE86CJHHvHSa9DGFx/r0DLdZIYkmSyRncJb+PibBOKHs21lB6Mswec4W4q+z5wbYqvPpcYyVtJUdYhICIEOih2Z0S9O5ASP0t3s2YOExViZ3ZHPI12homyjX+8u0NuFQFTq8MlOQPFlNDeL+QW8YmXtf6Mw3iY/u/eTwe0E0qIm7Kr8jjsgwpCvJE3Gy+TfTaZnvMQ884Qz9aVlJg+9POM9uQgux2G3kEMCnwS4Afb93J7fQafNhRWTl4MpfHRLwNTSPmv1KJP4TifZ4K/UhfDSLHhkhGlnG15XC3zFSSiPFhQBqNWz3fZT06vUjIptwYvxnNhL5iSLjGG9+hDJzClj0PRlMsAoVWfED+EQLj3GOECjPLiX+fOXIU0tsD624furHzc1avurAEbTQMIJcGdhOiI7t7joi0gXXxKsjdQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 68f39d8e-4e3b-4a05-efb4-08db4d905033 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:02.0232 (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: 7R4t20kWAoG6qYbvd5b0mvgc7tG4gPCq40uadAiIciscnErK5bb1v+02APAIyZhtG01UuyZ8IbWH5uMMAFZ8Qw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: LeDJOY7V9-E8eBVSuQ_fulIGXj7q1wGa X-Proofpoint-ORIG-GUID: LeDJOY7V9-E8eBVSuQ_fulIGXj7q1wGa X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077192340172420?= X-GMAIL-MSGID: =?utf-8?q?1765077192340172420?= 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 5 17:41:38 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: 90546 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588798vqo; Fri, 5 May 2023 10:54:43 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4y59UBJ9ioIzKtNxL9zIEnmi0qPRKj7/mAvjIWG8WCPzOh5NdpaT5Rsr+mYgeIs/nFie/W X-Received: by 2002:a05:6a20:94c3:b0:f2:73a7:b755 with SMTP id ht3-20020a056a2094c300b000f273a7b755mr2479550pzb.20.1683309283620; Fri, 05 May 2023 10:54:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309283; cv=pass; d=google.com; s=arc-20160816; b=pwvE4D6llDIYg6YuM/ZN0gUYxQ9tdKkqidEytk1diR7ZSbX+Meq894ZRT4Gk73h+77 uxzNnP81ub8XnVj5DBeM8guTjiAdxzMveTqkkhca8/gO2sYY4Hd9fayjDKg8VP7nSj2q wrID4m6rJ5+bijd6dCYYnVpwivpWznHXVBBmIMQ3IxA4ia2H9xjvxWybnCnJxlufw4cX rVVuJNZ84RnmD5q789uVspGj0mU4y8gegJN0aEAS/7xKiA27prCWCHaKz//1MaJnVp7S iI0kTiTS8SRwIAxeo0jbu00SoyFP/BhfHQ7WcDTVoIHX8i/yTYTR4p3U6fQdbPfWK+Hc Kndw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=VFSQL5/0YuqNDgTT1gzifbZK16he4AsT0QLV48AYt1g=; b=QTwsXihD3gxMfNhSJrroNp4/wxOxxf4H4btCddJAIoikUSi1kpJ3zqdPg7SVE951JH sGR7cZVgLSgHdEayCOXAZZoW3mQ0q+qG4h/CwcLqx80i/V4CzmRDxyMcdDTeLQqwHmv+ GYaRNwrUkj66mzj2rKz+u+yHV2NBSPVMxYdp92UiLgQZVoRaAceETIMeQryBX25xCbGj 9fTtDqh8Vu22hS7OTQEt9qJDzNeh9ZFHIW06KUrETEpEfP9tr8qRiGsphehXF2BO3muC eP6AGvF+Wlsvj1vQGkcBMGACZFtAVwims/qP23dbM/m9fWhld2aK7m7ZmWoXIWUdLP+f /uBQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ZaugMnNj; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="KwRBA/bb"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y4-20020aa79e04000000b0063b88c406c4si2534560pfq.171.2023.05.05.10.54.31; Fri, 05 May 2023 10:54:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ZaugMnNj; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="KwRBA/bb"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233052AbjEERon (ORCPT + 99 others); Fri, 5 May 2023 13:44:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233016AbjEERoh (ORCPT ); Fri, 5 May 2023 13:44:37 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7FD761A614 for ; Fri, 5 May 2023 10:44:11 -0700 (PDT) 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 345HhIvK029381; Fri, 5 May 2023 17:44:08 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=ZaugMnNjTBk3nfgwsdnS11VSGluAiwHbpfH/QUkdKUZxZmxcll5/XfV+bpQp3o+dghf7 DzBvPqnkDpq4Oy7KJ3mwhn9C8E+mmV1tNy7p/gDN96xsk0CrHV8ahfA5tmIFw9l8sdLk dGW1uI3/CllmBEmFCR/bwJw2Jc2jgLd78eo3jCKF7NOCn/K7fpMEYZjkqnI9bNZCYCyK rQ6zDILNor3VIt2pX/PFqGVdZn7tpENiVy/tVRHbkRdXOY8nLmLUNA4vImQ5THUyf2sx QZmyFjuQ7dI1LYlaq5khMsrIsSFGEbXtxOReeC5KrNOjJuSQTAjkBnd/Hun2US9f4f+H Yg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8su1wf4r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:07 +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 345GQG4V026938; Fri, 5 May 2023 17:44:06 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spgeyp5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tl68ta80GoKxNU9lBMOqW48Zg/CJGLdYVvIcYAM7APyWLswHAkpPG4+gvT1r8TEoKOQER/Xi7Mo3HUDY+MkXHtnZW50sj0/tNIqiv4MjPwgp1pliqh6UT+PxCB3ruTbQa3uYDbo3HlPrtpa4HWhRmQC97yRe66zLrjTZFy3JD9IgQPtqsf9ZALYCsqBGgpdxCciA1CFIEcBuQ0cDGc5lqWz+EywjnnAXWuBKpHT9zJtAczlYWwhqN3rMbid2G8+qGGbmcVrzjoYi15JcZaaBH3Nhp1KKXFfYSdL7DcOVp9Ar9OkUfucgdiXCeCdWXKnZWP/ZN/XrJnZpQjerXZTpjg== 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=dvybn2ZVjQVs0rS26I3uOrTRV6jyRoZXmt1LHfFsCwi/CTeAMAGO2NDt2W/8Pbm8Uq3xIdKSXxDAXtujZXoPaIz4CxAVEixwAhNWMUUvLmDgzLrs3otvEZAKqjqFyHG94NfvtJbtpfOsAgLq/14yUG4rnk/hyPtwWISSKVJHvbN0+GsLFq72xN5208Out8WvYEvUXPHIxdbJpmdS4bZsOyArwAm4I3XubKGDlhoMguvPpLngU5L+ON+aVDA3s/VSznqi7j7DB2qVMiBNJiRR7/YEJNfxSwEcHIM5s4gBEuM1Yjq2vXRP2/lf9d1qObN7vg9MHXHaBbBSplw5ThLTJA== 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=KwRBA/bbQoIig2JQmIDR5UoSQRQu2EUvr1CbFZTUaxVRH0yQ8HcTsRCzAcSCynrl4lnZYoABsUxAvif8047i0WB968fx3o7UKX93TO0F8SoXBWK/sX0A4YNP+eYqYEcPy1vV/PvThRddSYbfx0L/cNHyQmnlt4rrkXK5igniTmk= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:04 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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 v2 10/36] maple_tree: Use MAS_BUG_ON() when setting a leaf node as a parent Date: Fri, 5 May 2023 13:41:38 -0400 Message-Id: <20230505174204.2665599-11-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0144.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d5::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b9321ec-c6ca-4807-75e5-08db4d9051a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5IrhhRdvB8vv/17lhNS6AdWofb8lZZIR5z3871A/n9DPKkaqeSIMTcCDr+XoVO1+HqVJfsBSTSqrJU1KcCQIGDs+xeuQYLGV8c2adVIXLAkqgP4cM/x/K+dtS5SINQYYGavq0Z2B9NwO5wUEU8fcwepkg4WWE6Htfhh9d74NcjAMCLT+6wL73tc2y8vjpMtBT59+KInzZXk8r6VbX+Pzf2RXWkKfHjs/SyCgeb8dEmd6UOK1YEoV5buTCXwVlNrLS+TOZnxGyslXkhRl0AGn5+tFAaWVG7CeFDYcI97Uj1+l3vrqbcz2lWiYVHtSKY+yc7JATTj7HqNnsbDNzVY2Wq4k8yQaM3tdPgc/VHO5+DxXLDlFo7a1LY4H4wZVNlCK2xEBLXcPif8bNfG622yYIFJebmuHzoVpCPMsrn/4aovLQzkrNVa8+/pximnb1oQgSoooJ5z/8LfA4/0oEZZhBXsP/gTm7TaOQG1JIGhx3ucg0hHqnLM3nFWBm+eZmVm5hd7q1a8+A8+6DIeH24S0ANh38vXnqXHdJTRqY6DJHR458eytg3zXMfxNxRcPo8c1 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: By2OzFSEbXewBukove7VeQG2ACqCGtvk6ajnT2N+tEfsTinSf/QvwA4K7Mkf1qsKY9fm2mk9077xxrmrRdS0dHJV9NmGIecdQxjlBwMowMW43KAxk6dwXO1qVobf/AuNeRFmAEqFDTZtyxqFOfnCiflZxgay9g6vbLDKLNBGwWjOu8pOwCOtTzzCs81oRReynPlPqAsNFiU/jv7A48Haxg2AzECZLt/PzZ86VMEoS+L7RZJG6Yv77fBRVCEuuhTQ1WaDPmGXJSN/+I+9U4Y9Tr3PFgc3GbVxXKiWF6VWzxo6P5CCVczLUwryfvxb/VImrXst8psxDq3Fxxe9OFbLdIGBOd+mGjeXU9wFVpvVtPXWvdIFcfE2EGusYdQYPeuRYx7b2BG7DzhjhCyIqs3HBTXQIJ7VqffPH1GhunctVE9IrrVSYDp0wKK6eCWJTa5qaUTiCJ+xJg2OZTNduODAz0vISoMhhKYkrCPif2qSMjtHtvKAj0MqHYyjKHzV33F6y4+pylLimYQ73RVW+LR4/iLUcfmDeNoRjI/JY46p2283QjYWZPkU15aiZ1ZdwUiFbD6tQNznlHdNQ7ChPm2DpUydutCA42DjR8NsEl7jQJ+YFZeybWN8izJnzBWijFMtc5GYJtDqWJSa3rzHYXi6sXBJCsTZgslxsWHnKXCukjNUDtE9Pj3BV84ZSo2V8EB5ds1D2C9dfAwtcwD9WoEeQcZeGHva/gWxsOpMCyGihCPs0SEtSUOsH434FNTUim2RZIs+f6IGYoqjZt5YD8DIZIBIbF8U/nFVddC3abzvdXie3EMXZthvsuZhtBn88rQvsUUtxbrcPEpXxZXrZseEvGA8bk3J9gpxGWXba/VzpsdW2BliX/FSnQdAatiU+uCiLKzlcmpsV5ITYVXxZF9qJvv8ftXLDpbBdU07Gjzmo8lGEn56MWyE+lQPkOaqsAUp+dYGvxDEDuhvXuRvC4AbiKvW3TsbckQ7qm/Ps/pJzi7v5eEq99FpVb7kdob6dAoBNgfqxDEmxoCh4t16KBD0UG9jqYUUWwvIOoF/9sc99QEw8MpbnPheY0pkoORHV4Si8Ue2WSenJ68Qmj+IOlzJTVlWwZvRx8ine25FKBl9yOR5Jvv7XQgsIqpEmPFxxqq5kfsY+YyxdvsyXjzdxF24eeqdlNgeS7cu4g1YyUa1yTfjx/XCqhR3iy83xPuqL70PW2hTM6H/UYckhxKyqbzDHGaHTXs+DY/GGcmsv08W2Pbco2eqIIK5nLbtBAmsc2LRdS6Fw3h+JT5OuVaJnOCqIE4QPNkdD5cWx8EUfRM58sHZ1pZ7QUI0mNdqn3ullJGjTZesHYSIClxR4Tw5gn0Od+JieRfSOXcJL/5znvmp0K37Kq/QFQoYrgHXpvTPLkHWnL4gPN685uH/2pp9qi6hN/JONlGOgvelDt9doaSvP5gCTgoR6F3W7P0Jme4tbIEri9tAydiHDah6BaBDSP8BCHrXvItM7qYmh8FOyz6KG/ySkVrycbH/gUaugu4CFswu1E1QYkNGENq+JOtc7HlTAKXrukJRCgO2t5h+oPm0v7K5y+EICE9r8fN/0OxiEyz3qbni2fm7WIIqybDonIAqaA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: XmCub5lnT7WXu04XcsDNzQGJJqNxZA7+t0Uo0X4CrXlD23X+QMQXVm0/XpebGNVjhvUKIu4aeH3GWnlGe/YzvRI4wfyz7eXfKWP8OFMGP/euhfeLrtGpLeADXxBwnttTV6qRPGCVuLMEbfMjHByEfVOiT4nH9Mp7NiNSkvxXV6Yitd186phyI7IeKkT2tfbE70GlXFCqGa1EulbqWrxYBksiuz1sHqM5N5dWe6u1ZII3XI4BxS1t21NfUDA0pxDWbTYrDn9Q9ePnqCijWlmRbYZd5/iOffSYi+PJdYT42VPvnWaSwERXQBQ+KattU5plMM7hfzoxvePixijD/bCsAvU3S7GE9ASXDPQHjo9A7ykhbaUv+aIa7kbYVs6yokwDCnjAhMxpLSblHanF9ebiQ2luBDhBlM/5k4aKKPMA5jRthFPJd0i22WruUZGVEfGnPluimBdUwvSAxkljVBVBUN+YP33r2lu2/X0jsACRNyE6I1t6jjWhlHA9PVM/mKiZdE+w6GYVH7M5sRFKtl/8gDnpKqJn4gjB+hoUyg83C9sb3wdBlrWphaIZ3uzbY8IPOx2NrGh4UZHcf7xJIU1UfRA/N4WBZ9ojUDza8RrjuejTOlUFxxJ43eEAgdr7jG8CAgKhFyzSp++Qqtm1xMQPsf+Ocdg1iAWV8rua1RndHE0+5hf9T7YUTTFNh4dFzaGRYGbKGAgkZFQHdLSvq0xEyOMi09ihUqMZ3P+D3WQOkWCVg9JOmLX/gvYo5/WKwaD7QkswoWnF2s9CEC+QgR3dowdDKmEf7JiXsGTn2joIhiSHsoYM52nFYPhit4FRoBJpC+/b4FPaab8l7YGIfeiQn++K+d1lCAob/xCeOvlxsm6Oj/omy77raPJ9GJjQ3UUzZUoxU4r5ETrFOgmHV35z2w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8b9321ec-c6ca-4807-75e5-08db4d9051a5 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:04.4688 (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: vb3iBgdDKw1izveosrSgKJvbQXEJZ0ikD+pBJYcdlHc/EdN6GOYgMdk+pdPYAUZFBXGPfi8DBq4I/fHnKeTnSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: e9RYm0PeKU_u5aA2vraGPTpuqLugWopS X-Proofpoint-ORIG-GUID: e9RYm0PeKU_u5aA2vraGPTpuqLugWopS X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077715271418088?= X-GMAIL-MSGID: =?utf-8?q?1765077715271418088?= 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 5 17:41:39 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: 90531 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp584537vqo; Fri, 5 May 2023 10:46:36 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4s1J6d+Ot1E8jc/g/RV4Vzn9SDZRZ/Ia2GiU4MbKCH3BwVjuaZfgQcYVgE4L1wvneW5Fv2 X-Received: by 2002:a17:903:124f:b0:1aa:f6e9:4cb3 with SMTP id u15-20020a170903124f00b001aaf6e94cb3mr2669143plh.52.1683308795888; Fri, 05 May 2023 10:46:35 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683308795; cv=pass; d=google.com; s=arc-20160816; b=RFS/h3+D4x+xRodXj5vskacsC0OnRBBcRjEKP1BOvuyGDbNJhZAuVwI2eowsPaG/qk Z9nyk4QkQCg7RYBqmelfed/zrTqb/cyF9iogPNRf4BN8Vh4MGfe8sCIBCbLcGBaGeDX0 JQ/2yBbZvxQ4tIkyz+c7ibvAJN+SjAXhstkrk4/emJv1CDsi7Hha+JZ000luFYa1lFbo kS4GpG2xARTFKinomEeUpi135v3r8kbl1XOyiXa9qxhGBcesdo2qhrvG00l+2c9HetRY d1MrtpxtCAs4TXyW4yefX19qDNOgA+vSXYphWVf/a1cLWOsKVX+kWJ2bt3O8EwtxfOa7 dg+Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=3KyBz6QjokieOxuGt50Z4gigq9psaMvhxNm998CObA4=; b=KKfbbjJh6uoJVVafcNpIBHBg2M9avkcokkig+eHv1qIgUjRPtSVhWp6HXE0bc20i/c +YQjOpSko23sKuerDZAAzskHVRZzP+uAMZvtWcOmidCKaqzMRhYRgsSVmdxVFVuFr4wy jMVSZtMyIo/xXKO8BSuG6GYGvOk5nNY8gxQBig87DUAv8J99W9TV12nZdMzVjqj3znct SMBPV4namwsJQDWGRVEn65zYXBFxiHYIjEXyFLZnj4etqztlZsKYL2WnFbFS84a+vXUc r0SQcN8faSxMlC3X7ialTi9iSjcvoDX/y0UTQL8NFExV9JznUWt+b9X35l/J3auFEhHT qUEQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=GDD+mLNi; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="UjT/W8z9"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 68-20020a630047000000b0052c73483bbfsi2337938pga.830.2023.05.05.10.46.20; Fri, 05 May 2023 10:46:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=GDD+mLNi; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="UjT/W8z9"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233079AbjEERpG (ORCPT + 99 others); Fri, 5 May 2023 13:45:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41908 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233056AbjEERor (ORCPT ); Fri, 5 May 2023 13:44:47 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B5AA41D96D for ; Fri, 5 May 2023 10:44:13 -0700 (PDT) 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 345Hh4h4029134; Fri, 5 May 2023 17:44:10 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=GDD+mLNirCcGAYlTuRZb5VCmYwv5U26pWcgVsYvLALxo75qp2yGi7UZHX/6qgZeke6Lm aSUebghC97x+GFBVgurkzWnBM4UmMPc+QiGM/b9jAjhGqfAOlyNYhmphzxnqJ/HwViBc J85A3HYuS8U7aCjbhS/q5pbzvGF3fHVtn854NDFw5Wmeqwgn2Y4BaC0fZE12XmdZAKs+ lrYlMlpEsGbEEOwfqOKFisZjvsXOamKXbZ2toxtO4TiikOAnb27tLCbVJt3P5k3+StHd z0XJzU+z9HccazAuVZpm1TRtpP/7bnrXWPJZx1oszVRYtLAb7IB6wFwA0DLsqb9AXBPz 4g== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8su1wf4v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:10 +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 345Fx0fO026877; Fri, 5 May 2023 17:44:09 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spgeyqq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P+cWwZ2WPVfD4BfHYksS98i6MCpGz9KA3pt9qZKMvsAF+diLR0q/SBi9JYkmbTVW1UY/+Wb9iPsRHoMR9ZXT8mOLT+RumfhpwJY8pjLrFfLozDd+aGKKFtbhsdLJP1dF9pTmYNiaLpaqre5VgW/I740YSZDAzkCt/qDKfpIeC2ztfeMoTUBbizlBm/XCgolD3DFcELVR/rD+DsLaXqPWnXIGuYIA1YmjYeqsEAgIvLQ8ebwKwHtWdELg/NDkgfYMWZ/oOL40XOQ1JLETdlk8KqfaRbUDsmsqqdmxnuJxJjCX0GneLuRMkhM5SYAx0xa40ooWI8iB0gEKLxKlr97xHQ== 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=AhY4/R1UbSwkfHOHFUcT97s8ozLBosWX8DwIhRWuNsQoIDsdjtvIzg8M0rs6CWzq979UxoT3mvHe8s22MKKYssblXdXJcFrjdMhgsr3d0fQgj9WHbrONASY1KlfrEnfWL6LNQxPej/Q2HzWX6dmCDYaJiMVIzbFhzHT/k8QUYNGSWg7tpDvLKGgjCFa62wHJDKkHH6LRiMIXPKnGh7mvFs4K9QRFmux0KGOoy9RHqQbyB1d5BRm31sb80SHjI+cssFuVunq2T1ogTCZQst2CAKXop7ccXQFBEl3zMWN0LmdASknJzbGbrp86EUc/FyZzBMAgRPW7vpjYP+22bWGVDQ== 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=UjT/W8z9mdrRJhk2+Ue67KqWM77cpVH07fmda1zOVz7J7yWFtQMZrvIjB5FdtLUOfXkQtqgyaQUHBuHdKt/yfW/2ZIL4D9seHiw9afX2o3spT+O9CQbjO2axksrAUGGoVkeBeWb4+TW7TAhQolUaHlfSz2NVU6agQZDg7VRShpU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:07 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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 v2 11/36] maple_tree: Use MAS_BUG_ON() in mas_set_height() Date: Fri, 5 May 2023 13:41:39 -0400 Message-Id: <20230505174204.2665599-12-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0364.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fd::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 6da968de-662b-4611-5c8f-08db4d905338 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0kLXTBb5imCkbFAvqOL6wLwOGhm6z5Xrr7TxIaF3Zgm6qMHZG9RV+rf32OKe3dDccLOxO+5BkC7nCiLuCJm6LPB7EY/gm89BdEX9CsNJD9rtzsXWnG3IspY4ho0lBzR46DYwCwlwRzYhyTQs7wKtQMx1fwEK00yB9J1Pgj1uTvMScvSYiSUKRh/mtmlYebn3GrwLCgxdb2MqpAqo/EInxQMgiqrWeu75vLPZIe103RTGDGzZmd6KQnqoLcy2Ds3wUpxC4l2pfZgMCCMaylt5BFFhSVE/Pdtm1ypUglFEzVHHJEKCRvmWiEgnflwEsqtu74V26KM1/xf4iNiNjPW9DvqdXsso+CeJQUiPdVXBAh6Fe/yggK04wRDlqMe58Rq87PQW1W2QdYCzyQXDiqqjtslVuPMhiY7XJUnLQ4AcuGVQoUBudyp0qpiLcIABN3f5gukpIVpGdXt/uyN93Abagw7uCLbereJqUkYyovUj+dBXhm5grp0xdWPfPpooO3IUkCKuB9QkNDAXEA3kSKYCVD8RsXohA+t0FyTedNvLqoqgQflN2WT6DSSsGRl7wLjz 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(4744005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: O8nPm0rrboh6KQgEPTirpiKJ5ggGDYWIb0Y3Q/5eIDkWjE+bbW7KCOiXfJC8Se0z1fidLO5L7+wiz1BxpDIcF7wgq4hVPHUdncpT9wKq2rTQjSclJybZQh9uoeMYf6D0wU1V4etKCxv5USf3AKv0EAPHBo4j6wgwoS+Gb+psMPDxldl4C5zt3nXEpmYn4KBMtZmEPtLYj/UAEw9YEgN9aAjxRbyJWO96gXHYGklEzBqzolhzryOJqIgPTaAz8g6SFt51ATzPDrvhMtzpThzzbL00s1CFnNS5ZnXslhoiBHoMx5CeHmHk+GZ4shy3Oy2Bi6BPuIV4QA/NdPmGB+5axippTJVHPT1Ex27/iFjxcwyKw3b+Y8pb8EoxddlDTBMhL3wvACKJy39vUIBEf0XoItPDNWiK1FU6TEnZtvq3toXEw9xfhNMEShlyUsjcv7bk6SG6Ind0HJpaE4Ygl8d8mqQcjT0uhUGx8QxzG9yacJ+MmrBU19yB6kkhOOt0xEjSMbyn6KKJMGBO/7PHagDH0J+XU9sr4lKPqNmb/r4DpsgQwx324b4XcR0iKgulMJbR1sQFb9yt8B+690zPMAvqOHW0zHPwoz4KUapP5+2nguHlYjawyyZVjuEYBJBxi2GflYyfGY2sL/I7aG65tRLP1wFFRN9LhXhivZvqpiVAmMii1QaT0GqIimc9qp95xICIvc9yDGZrUlkA3OoZG0ZVSK0F3jcpgh12drK5or1zkw4iGfqkI5Ins8Uyj4ASOW28v53DSEofPdBitAstU3nLbozj6shcOEToXr6odOCofvacQfHqkrzHfgyiFHyjkTGOn5C+lzd6Q25sGrR+wQXOZ/wU1tRqA/roCoOVY9wtMjJEkRzl7ogNnXg2EHH2G9v6jStZwEWrXqFBgPhWoBqft+NiBzcp6nkUAmqOJ3rdmluPF8+tdDZkvkhr47wTTD7mcMoc8TZA8HCbaFN8tB+gQxeEfij0mKfNyHyhTV5MxcoSjBDmIz62g/oMKQmhvOCVg3zSJPPj8XEYjC5CKaip+iHpnk8T2Bd6fxEuK4A9lcqeILNBvYHsEXQZmtUW8MMQof+gPvS0v+KwiQHD2JemDed8Lxoe+pbIt/iDtFaYtxV12A1APG9lfIax8fhW0DhoiJObyPP13F3sXYDQQ+R0tkQ3O1v4742FRDDcgxO/kfKv6EHFiTOBxfHDqCMwor5BeazJ+ftIjM9XImnqBMt453Zrryfi7YUhm2Fk98qhMfE/bem3M/n5Gw0Ogajm/w8cdcCaPUPosXroW2G1udvxqY06iJOIpejnyzP2OWf+1KIuwVyQW8RXBchpghTu/86BY0mrIL0kwmyy14ZOII7sMLJZqPMrsFDrl5RvJ6Kr4SIqEJrCMqMFlUt/TPqchGJc3ueFSeIiaLHYIGlJvEaq45s9IpBaBkfGN5fB42rdCrNEeY3FUyTz9+3M9TU4sGdhi5ViStimtcL695d1d5ZJEhf8ZaZuUaMsV53nm4MN2d7BwV0wBwM8sZ2u5Fa857Y27HV9HKk+jTemsPOgAOIApNGMaxdT+1zCdHSGWoMxf5CDnSPrsbuRNJjjMoDGMsjgHbMyasagWsQkla5KxaGf+g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: O0SH9tiCm9drwXaGd8OM0TxeQG0l/Y8NnZksdLSP7MB3UVe+IBnfeQg5iGB4/m0WwOSvZdgMlFgLp/w+KbnuKHN2k5V8+vjmrXAbJr6bau/BJ3oZdosZanJVuBclGGlO74HAqiCOVdynIHXeLV0nBpoO6TqXHHEzcLmG2JUox7OR4KpB6FwKLYB8DGO2BOIR/4vkGpqo/uhmf2fk6+wNYJcRUfqmOs72rIsWt+FDOm+653eFMXmK9mgrqs71hsmB0My16QvvJVie/BsUjYjx21NGmXiYZolIzyDBbWLsvPQlameLG7tbjIGOW7GUysJyT1hAaBB77Ks3YZXgrzYtR3f8Cx2RfM6fz6c48qzrK1gSswCm+pXYtPvf6kh+iY7sB4L8qZLVpRPrgAG1x6z48klmAuhs0cuf72LMM+mgYifAgn6B0c2FM1tPjPExuwKTnL3voyIEGGG9iwB25VI6WF8CN/rx3+WuckFv3buv1W2U/dEVPa2CZb9CCz2RhXSLgzKL21ebqyJ68NdW2PfWD6/jwKcvVo8aRywAavIgBc+47AICmlP0Ays/TK2ZDTBYr98p3NAAmHcETU+xmTdvDaKxqIeLAJxytQA1L2451EJj29h7o0PRs1aQynIvQICn/vellI8X4GcWPtGV8RK2nbl5cXb6nVpC5IqhBjtSFcSn5fRU5Y5YiVrQ1UvuSSk0ItCcXjeXSJg3v44xIuSfddDY80EDZrhPN/xZeqrKho5+sS9fcdAtGiHNOXZOFu6iaUjF5/h6cMqiKItJkTp7iBRhJg1wNx7d4VuzpWkraa191bb1Q7yPxDsL1/oHYriRsmpkexfAqvQar154tUdtgREOaNXHlHKayFWNQxwbwTi/03CUio4QKqQy4hAycicwOHhEjvhQ+xL8V9FilxPaXg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6da968de-662b-4611-5c8f-08db4d905338 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:07.0807 (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: EHx95zKOI0oOjtOBSkuS4bD+Gpw/YlUARHaKdsY7ueUyqePYZp7V5ehk/nbwpSSjR3OOZqmRygnZ79qskZxXoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: gW9Y0Os_QzaDm_JcydKvErszg8FtQ-HX X-Proofpoint-ORIG-GUID: gW9Y0Os_QzaDm_JcydKvErszg8FtQ-HX X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077203965534836?= X-GMAIL-MSGID: =?utf-8?q?1765077203965534836?= 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 5 17:41:40 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: 90551 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp589644vqo; Fri, 5 May 2023 10:56:19 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6PoIV0U6ehXP5jICvlCZtSlh8fAleCYI8vmD8m1qAOcXBHCQwf3NoFlmTVwseewK/RS8jp X-Received: by 2002:a05:6a20:244d:b0:f5:9f72:1aaa with SMTP id t13-20020a056a20244d00b000f59f721aaamr3008153pzc.19.1683309378841; Fri, 05 May 2023 10:56:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309378; cv=pass; d=google.com; s=arc-20160816; b=BmhtIbfb2rehuE2Qg8noFohZvA8pNTXpJsCvy63/L60iPZ8KF4IDMlErFpqmNxRMOV 5xxxCK4NpUO22Taoz9ClfGB9tCNjimeDOmTEmNSMnBCkYKYD5jC38SwDV80Lbv7vhaCl V1wQ62x/9txiBR3/x9TPfZSiHmbffauUd8VQ9lYYw6MpJl8irfIIdK5dlfPn0BVHv15v 25iBYaXZS4w+yPCTP9RmeMtJUgFqbCS2Gm7dEcvBgjOzBppf0XQIIIpZzvEvRU9KciH4 dzQOosfp9ZxMfNUvzfwGNuryCPgondaYL+j9emE1jw0OuBzudzwkWyEC5nRbnTr6nq6c awyQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=d6ZJYb7OBgZ8fLZD1qapOKPbyb6wU+xw9GGDQ21f5yA=; b=GeAhKkjtsUnewq/YXcqnSmN8fsFK9yY3VAmjNJHIKZtS8CL+7KZ7sKD4c5uAprDQgj GIzi0OlGpt2BZOV/aWMODqSUXTfL73lLQPaJ8V7urG4tz9BPTuep+0tzjd5bs98Fhuk0 QJkbdLDMQ3j6hWU6NfnjwIlUM7+l3l/3U5xsg221o9/GdS9rvTLJM27mon5OdHU/JcTe hd2viQuOM4Ol4TzxVw+V1GEnHA75HE3OvBOylbojvaVDUGX1rYMmt3fWwVRfpGsj82zX y1i/xxKHeI/vrpF+0eUE4AG0QPBn+LNLK3Y6cvtR4eQgFnVzVFkNq0fIkz2TUTiVAlUC RVmg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=3iF8LE2Y; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="XC32+v/n"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u189-20020a6385c6000000b0051b90567f99si2533797pgd.690.2023.05.05.10.56.06; Fri, 05 May 2023 10:56:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=3iF8LE2Y; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="XC32+v/n"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233094AbjEERpK (ORCPT + 99 others); Fri, 5 May 2023 13:45:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42008 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233093AbjEERoy (ORCPT ); Fri, 5 May 2023 13:44:54 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6C3991D951 for ; Fri, 5 May 2023 10:44:17 -0700 (PDT) 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 345HhL0H031584; Fri, 5 May 2023 17:44: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=d6ZJYb7OBgZ8fLZD1qapOKPbyb6wU+xw9GGDQ21f5yA=; b=3iF8LE2YLKxfuIKGgF1GL4OcQVnMJJx99axeD/eV5X89F4sCoIeKzzV7DeStfHu8viqM Zx/fQc1xVEsbq4Stg4gjKG9NeOUe8K7Ex9En74CQtLFhwD76r6nnPfQLDoxTlKlD+tRn eJT1AbPbkccDht2oV5u5I9ihXn3x1gTEIkyDOsEwYMUFDAYhbFjiaOw35N7WGxTPe2VX iFlbrLgHTEAhNB0Z9MBa5ziXHLY3IYztqBD6oLFNL5ihBK9+WlcLhoP1/n1uHwdfRtSw Ze5sChU9u6Mf17rRt0UHH61WYIHvgyFYvU/ZUoPhwE8mST3PAZmd1OxQggMWpq7Ez7br Ww== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8u9d5nec-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:13 +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 345G1jbU020766; Fri, 5 May 2023 17:44:12 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5fa9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ao7O8O3xDuZhbRN+hHDl1KDXLzjzM1Q5hKjBmHHOrdXSZREpTn7mXvm0cwXNxDMx8VqNSn2zdbSvTaAqMXnnuqsHkBeP4zzAxCVH/ufLlIF/DCjxoqkjgO94va4elFNbba6R77aLODIaQf87difOz3+lCEQR+S02M+RKjt7nxu9iHb1dH2iYLTYHi32RhFjxWxhZf+Z9YJne5XNIYBusZ+YX1RVXW0NAuDOm5VYnS5lB63Ml+1fWXPvL2Iutv6jKDaMTEsr4k4qPXrsxfYwfY/hkVNyHCBZwzYimI0FOfUeQeMSUynEGUFZa2/x3sZ6iCoo6V39+MZgK3MlSMjV/oQ== 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=B1lh5tg7he94N5YowKDmg/W3w0tcF02zKqbZ2cBaicYe/W3gPX1qkk+8b6xpashH/WYzvmJA/7kp7scTkXzTag9PBjXFITSEKO0XDlsZhxeo8Rr/3qGj6dr1+ap66kcGpP64BwusPDnDdd09We1AlaDzJbk3Btpui0NhxbzZTfQunLa1iMtICFn+sUP83Ipk8acbqk1I0dyJzrkkA1koQ+fn0anCrQYLeNyM4iYV4QMMNjIL6jtw+DsjSigL0iUy8YLKif6uVKpeaCtfg5T+blRPAsny2ZI5D2cofxTNOVsxrWfdj2EGVA0vBmz3eCWHKL+B1DGvN+QQ3nQgsituxg== 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=XC32+v/n6cQDJJesBuUJCrLnWar2uE2FfiDByIosaY/vkgNZ+Su/xbmQDQN/J8oXCl03WEUIQvXqx9MqDFj90K9r2mWxlL0JAwuJkfgAZVGRs9dxLv3VAoyW4WY1yn0QEMSYFePAE3vWs54M2p96rIrLKGXSnX7YqA3C8AsNiW0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:10 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:10 +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 v2 12/36] maple_tree: Use MAS_BUG_ON() from mas_topiary_range() Date: Fri, 5 May 2023 13:41:40 -0400 Message-Id: <20230505174204.2665599-13-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1PR01CA0083.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:2d::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f7a18dc-bc9b-4fb8-2ca5-08db4d9054f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1Jtn4BS+ph1ohbR3TT2hvh7yICIYZp39CrtCg1R/s6UIYsQEuiwQRZ4XCid2cAZcasr4APOnMeMEGt8Vm13z5UrBEvBwfd4xBplMxzbl3e+FlolkG2DWfwa8+4vdWH4B/brWEAoI0QNzNTNaMEEeAY4+dY/x6yZ/yk7un10obTqS4ZEjhvJi+ICFwIE27pAnBbfNrVOvwA6I6NHGt7DqggbvCvnAllPpbXMPyLhYPkhYyaVjUDE38kY47zxLeDgULBDgV/aW0q/S2q3t+SztdXwWFKVQyuptkCQFsQhm/W4193kjuWTT26l8mf847Eu9Xle9m1IePZpf36xeaopsC0Il4/35Vdrtp7aO6GsWZw6FEAFtVj4kDg7J9Mk8ysMrQjfWArheyKlxd+peKYv16xrYR4SDIcxoQJqHvDsPhqwye9QDqg8Y6MtLpmUNnkdfLrees8fD0yf2XThm7NKR7zLiUbCBThwU1oZat8teamM47/qRr/tExrAVpDEaCzL/+A64XLWV0urLzzBj7n6voYqRn5aefCYEkHb1PoeiAXLX5so3DazgHUA/rnF6xjXo 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(4744005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: q6MCUG2NXuc8fNEMncc5ZHZ8vEbXVPE4+XqpTS526zY6J9a65w3DFukpm9wu4qzzQr3cwmJyf/bNMJuFukJSOLOMznS6WIYA9T34wSHzvLzExX5HXNhamVA9ljkK3ZlgwXampXTjlxjdprNz3nl6Nz78vWQxss0mJFV47lnezpeX8jFj7l/gOjVo+m8JXhQr24hc7Qah7+KLMVU+e6bafFOadLg84G6uJe4lnUNCXoYgmG+ljK7ljraRhHcJvgYFnTKI4oQlZ1r8GZ7TRuah11Md/5E4OfXx5AxEth5jOpRQPTH0xe10kxdkBUCeClrG8bpAEXaKkN9uG1D7a0X7r1PnThohIN1ZW7SBlBC+0XaI5wX0Pc4jg3az0Wj3+ucoFdOVMLBYJZ1I4dOB5PqE/VWOVCJ29/FjG9C6zKbxPoLOHdX1WYBxANYXqbUlnVehEjudUE7HazUIylAIdAvVcxgrlNxUZz20uCpOrpG0DyBxcJ0jq7YDvcq3HmMxrsUk2dA54s0+ELa07bkyRNuerLF2MYaKLwhdV7K2otj/nw94hgiQ5+5D1MXsPKS7sNQrRJcxH23BXQg1xfcBG2BtlzzFhVnlnSWirFfbeQvx0AKtByNas1iGB6G65PqzFUAi55e9p6eRvWSeEcHDPiuT7eAG8LfnGcjKSCyMBlGFvRDpK/LmR572VO3yzfzDmVuo/rbEZAaGIAXPt1FqHemUDY12Ad8DOGJ8qynOAm2REzV+mvtjJI7kCdY5KMjKXeZ6Ks7PYgMLpGurJRKNoaBPZcjfPSc7DPk9Qen5vC+yNGEcxmpct/xZljqZuJbeqFHctGHRTC2bfd0RdPXL+FILGmBt6ScbKSa6gGV3akdtp64p+CrkQNbNy2QhdjX/plOtmJcwcY9hktZdKM5Q218bj9OmEa1v4vVFp+w/yaFyoIob1viAS0N/Fux4PC3M/gCDyB2OD3kOZ6zyPdjckyDIZWktg1hq379IGXoUoVXlrCnElLCQFv7UI7g8eW6GI4VrvnQ7hZHFQvyYPpv6qK0wQa3/6sClK+Jtpyqdm1MUFFpydhm4u8IHkjmQbfVOliuSiiRB8ZUoIKadKkJd5ve/OUNG2A/FuoDrKyv8F8ym5OAaCM8H8c2IquvV04TgOE38J6/w5UiG4huEKplEt+GBTda59DuLXmzwACa2kIhf/76Ml8nZEc1gO9pU79OOQT3qdTwyXcjyN0CO1yMOHrnnw94UxlWfe8h9byYletkuKKRcfaMeCwJXuy9HZnbvjcsWONvR6gWBnKcBfASnVHUagL169WblQh6r3vXSByMutjEf/QLNy3fe6MB4ddNCMNPegEI+IrayCX8SpkDfeIaSQR4zCLs/hgWFKz+6fLEHUZAplENtJH2MYWsKKJGJSiHKmSWZQc7QX0q0P6DQFfHcZicnoni/Ae6JKvi1d1pSRLRUMwt7CWSvGI5nOFSkZEPijFo0qOxX1S/K08xVWAU28JFuk/qUwQ/XdOL//vxGBu7gWYx6EZoD2k3WIwmNCVG/k8nkZUUP99zhQ8ZbVihoOhwdITWG2byD3o2pSoNyWedDRB+edjXXGK8AsFOQ2VWpmz+afOofvQHKEdIX8gCLlA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: hqo/LqFDf6dBMwSfoSe1Vs0JnSfrG+M/Kj7I05F3vAnADhXdKQCCAtlIdXdIOSpeHIHwMRkIDW195OwfJpkWUZHNqiQERun2oy748pKDeSQnIT0LcCUYFUg+5qwnxF4G45uSQPaWhJghaN9TWnf7p7Ob4nKzIt5SZB1NNaj7cdhizEaAuJax/WYgtQu4SMYTJZ3btFQO7IjpTTY0sY6j6r6C8lvpoe9B3ob79CVMKMWbfxFPizRWTw+2XJsOkQcXHTV9t8YBAsvkpOf5LdxkOIzr/mbNTFCMlWIFwQ680JZXdUa0shjUjYJ4+ueKMaljWEF1n4J/PSZHI912wERgFEB0s7d/83IdosVcyxhy1gzKBpqSYbUfXVuNCYIvq4wjFfQa8diBNwJZrqToPX153Pbpfcxmx01je0VhmtNK5jJFwPYGltexhVCpqWoiU/gfHiLplpwTxXaK7pZDZttXo7A937XkMAgLv2J7sz5ifvn7QxZdhj/rdrt+8aYk0JGF5ZD8YrqWDPwWnIm5hAqCJ6/U1EiVlX8QzJCrSjBYPabKOuJbUjGnZ+baeV3F9mKF+XsGDJOlH1yvScx+VM6eO+8IE95RYhWvp4IVEEn1ixUp4hG4Uj2xrvmcsoepx3llhHIytUAjvTzaqJ1uzHLDkPKB8gUsK5lmZl7QjFUl2exxLDeRIMyj42slN189vztByJ5ORDtQtljSMEOPWjkASCJuvFFaPN4vSY7gqwecklGkrBXPKt635lN8wGhwV4NyyE/Nk2L3QyRlp6dJeON4EerbJwW6FRvISA/pnRPhE9PVNkkaQZwTdjIC+eOVOoJtImMDv6GQZuoWaymewCk6f1RnxERpD7TOHv7/+kWVWXgyq/eHIidxce9Dc2i0kmHAXWAM13BhtHg3iJPdG5Yetw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f7a18dc-bc9b-4fb8-2ca5-08db4d9054f6 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:10.0225 (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: 0CsVVBf9UrFAK/Uh+hVhkmfka5BypDZQysjjBdgERmHjQAvmE4JTZWtsyRRcbgD5LQtSgaiPWu7HkRjqgLmIzA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: k8_3q9NBZ-H3VTUXg9N74yRvCI0c2oW5 X-Proofpoint-ORIG-GUID: k8_3q9NBZ-H3VTUXg9N74yRvCI0c2oW5 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077815131617779?= X-GMAIL-MSGID: =?utf-8?q?1765077815131617779?= 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 5 17:41:41 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: 90532 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp584769vqo; Fri, 5 May 2023 10:46:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6GRTmVI/hEQ5Z4gmhVM7YVVXctD9BdhGvlcqJIuS882f7/ZBt+SHTPgwBw4AHpvTx+oFmj X-Received: by 2002:a17:90a:4801:b0:23d:16d6:2f05 with SMTP id a1-20020a17090a480100b0023d16d62f05mr2342433pjh.22.1683308815421; Fri, 05 May 2023 10:46:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683308815; cv=pass; d=google.com; s=arc-20160816; b=m/a/55I3QO3pKCrOtP9Y2p1xenf3ZmwdNLPCfrnyyxaa46ftK6GkM1BDxj20T0YJ9T xtzaRT4mkLAcoAhLnp6h1tks4qAIIOvXcd9Iu05k1S545TcGloTwK6gr94/mPsYNl0rY TgeKX7yBkh66EM96FESjHCzcJaYmwhgz2aQpmFq6uOsO74cVGrEqQDG3eejiMjeCpiiT +Ji2F5585P9zILiHJ5yfFtdI8/4c2yvl5Xu5x9mSA5JENm9h7K8sUWPY3+KiC9Jm00Zb 3q1NgwcmZv+bWb1qa37Orqn9vwol2sYraHSFd61AhEzqygtUE+XXg2RNEg6FdC3mfJwB 7icg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=fS3QzFuLOtxJjXjPIV+nCtOmoBdMiTTxr1dJoGyuKyc=; b=JIquJrz/vpaJqMZKTmuvrRjX9OgCUETq7YEHD6LJBTmrjXM1FPrIDiBoC4tYBbKx7W mevrYjHkr4+bGVIUPCKcAhl/+zcdW2/NN3rd8WqQykm6jsy61sdRSaQXr+JxkHHeGkHt G/2XHDWsXP43DxJFrRJGAK9xK1XgkPBYpxBda05UwHeALgTJMPOaLNKafg7+1FUSWyxA qZin/fzrraR4OvIlF6DQT+7HDIWAaKdnEyyTYPGx5ZL12+RnA4VPdav3ipklTXewS5SG ToOODq+vIlkze5/f+lo0ARmgxajD168E3pYS2CbTFJ0P38vjrfXmw5N4iWgG1tia7vSg TIYw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=JHS7b5VT; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=oDzev12C; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w12-20020a63934c000000b0052868a865d4si2493070pgm.553.2023.05.05.10.46.40; Fri, 05 May 2023 10:46:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=JHS7b5VT; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=oDzev12C; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233056AbjEERpU (ORCPT + 99 others); Fri, 5 May 2023 13:45:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42018 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231730AbjEERpG (ORCPT ); Fri, 5 May 2023 13:45:06 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A62A1A4BD for ; Fri, 5 May 2023 10:44:34 -0700 (PDT) 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 345Hh6Bb027906; Fri, 5 May 2023 17:44:17 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=JHS7b5VTcmxg3kI8kEVsQAC4Ti1h5KVNcZHnG4g9x6Jtoz21LZ22SdikdlT2Ec0svw8m YyCCMT1gBmtk7WMbK0hp9AUYTWds89ihmx1jlyRTA98y/931icU42GOtH8sdVNAaRyvD JmDDatY5lx3lO2eHIU66Duy83u3vNu4zUOWV1DCbn3ZAm2IZoO6dwRR0c/7O1qP2d8Cu cK7Hr3vYATv0qKG4VOF/4kAZ9lAGnP6OLPWiwVAWMacYxllKp9qtq4zBVRT8elGWFNip eW5zFlssBhsxHIrrRNhEvNP3o8BaYTPilxnQXdS7iO0xuGRnInjuwTvfSCukaXpAAtqh Ew== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t5fwf3s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:17 +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 345GHB5t020761; Fri, 5 May 2023 17:44:16 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5fbr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lcKTlijIpSfzxtY4xlFYqqfczGnV3EEHI3a0kKjjGGIbo5goYdQEwJHo4/ahyJh8wK670VRrDypHnkQWNfedukwWnO+QCu/5/D14BvRnRn8Rp4eCtvZtgMVfIqvVmvM6Q3zhl5XxZ79wIfOhQ4MtkbHs7J+RTTEnAkYtVxMmmwiaq6dD2d1nDv7Mb/CaNmswGPnOnRZwo5hRWI+7W6T/YMxgtIIkWAS+jxSbi9NO9ocrIfGiaWh6xmZDPig7PimNF4uQihCl8BnobK8dNvIzoHb/BSq7KAf5EaFvMySiZq6+g+ibNSLVJn7kpCUouw6fByyKm4TLZLx6qcOctWm5Tw== 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=BL53pTWtZ2TQjrSyUHMvwBFsRu4YpMqdFEB7HZcbTheeY9rpa8VQ0JAoOz+JvE+XWciSw9uvkeKl6DJizb1ssI/vVUsdhzQmPZ76DuEf8fh4gslSflanHp5Er+mi4JhkMPxYnClkctNztNVKFs6AT9/GCVrL6JUrSwvO9TBhcUUYZs5TdIE2ISWzJRaPRYb8Z4mt86xOSCPyWdih9S3mFX6gLK4b8FODUGCxLuEhZ3CLV/L3kAM+e04kp7sqXK2uCztVoH0MW6ATIf3tjhA7KAj7LceICjS3Uw6R81oVWXt6BeDVUURL2wSqq0pU6Sh4niNuWS8a/ERvdnh/u0zyUw== 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=oDzev12CfoX9CrqodZqUfUZR+pAHGavHs4HtihNQoeQ0t9LlAbY6taRoflS/2eqn1WBRtdR5ZpgwZBwxddiAEOrs9oKEgQZ8Tn+tBYmbhtgp7cxfr09ZFkWU9sBDUWDVMYiOFGSP4KurDGdOFK0E4NbAHiZ5Cny1NR4KX8TumtM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:13 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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" Subject: [PATCH v2 13/36] maple_tree: Use MAS_WR_BUG_ON() in mas_store_prealloc() Date: Fri, 5 May 2023 13:41:41 -0400 Message-Id: <20230505174204.2665599-14-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0053.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: f0cb0878-2d0f-4038-bba4-08db4d905715 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: doZ9hF5MoukUp4x0aD7+p7F2zFLmT73DcjH+3apq5YqTyB0TyxC0iNwBsLEhuizFwr4rJ24mfb8FwYhveVOSwZzt6WmbIWMIYYen7sDxkDn+Lrup/V6cK/6/pyT9uB32h5FQgQ4VCv+Nhh1Ytv6DHwcBVTbI7S5358m2+q5uVxeIjuH5hVqnWNK385/6UtLNZ2Ue5mr0koQzBMGJKnubEx2V8Nro2bWjEk3ymTQB98COXRrO/+K1Af9eXgn6RZfMZ1VTzDaKytJpe4s4zdH0bi9IBxDJhoHujrlX7S8wBNIVrBeoxXNeoSRGdEqhioblLy8R1hPzRYfATyptGVEOlULNniiUyi+lJBBuvsiJlp1Ft98C+2LvTTc8qN1pRTMPl0+3tnySOiQ9fmGAYDh0kWBWGKwDoQ8ZPuGQ3AbmCIamAahDKpT462N+yo43gf4pim/XQ6O3AhbWuhUyahxFtKyaI49XPGIrEZBboeDiVaCX2Tr9jPlWTNO2drMIx91pqhyk3ISFL1mKdQlj91/MD35u/Y1nPW2bGKbuVPZPuTUyS8HJ+RfPpDrBkhvBuBKz 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(4744005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TPM1q+8DzgdB1pFNufba6gWqBwrJH4VCI/C9mJNyHghyJPyiwCWy0CHjoKp6a9fpGsc7xQh2c0PZ6P2zIWPM/3Ge2syZKJqSHtqETuDZfh0/F1HOTa1IFDSKyha5QrfcsNdsQH2x26AqZPQ5A7b5JPG2ditI2EGqRZ2JywnQ3uQi53XIef8Qrnah3QzPwIZhenczqpLdFRSlaKeSd4VM8DZRXU2/XiieUm1qhhVk/0fKGq27ST8mMNwpiLOFbFRAqfXPhuNauUdsspQN4xeuXpPrVgJd9F/jRhmsScMssmCO2QsZw2Z1XmOVwHeFHc0XQp0UUkrnnERwORDib0MGAlLTb39hbIOwxX/r3t4xuDi3yIyctMXAF1F5HdET5Z6AfomnHanShBY+o9MZ9CuJLV98AcgR8ccP7thGGGdAet++j+wraP7+M5iFXOeYrp9F3PWE4ZY+zanQ0fJxoeopH30gUH+9j5tpvZkTxl2e1rDqmwqV3Zp20IzFJ2KMHjAC/yscNA64n9W2cC0Tsy3tB0Lz/vq1zCTAvNiFnDgVz9XkHCghgKu6zlupPiSXo478e1Bwmg1bSyfWp3isBQGleTTC+4ymDgNl+m4KP2XZh0z0+ojzdyf7aBiaGPYMq/INdHAGNI7D0Oy+9EAp+eO1FEogMYwS9XaiZxaApVp9TADt+GwpT8qXDoNwDIYr80PMfv4K9fxI8oRjj2rJ/BNQSGViYNrMZ6ocyoX2jaiDIn2RAg+cIUWGAzkxJcVGG/2C62NGH9dg1/3KZkk8K3/NqXPvopMBrKRK+4s/aMmKnyVhZ77bpMrsVSnzQzX5xhBvLMrMNcXmMnQsF0XiE3xBxvTdM6O7UKfxIYHz8kXucjGTeTJUulvtaWjq9UCusZdHNsShT/td8kAUrkUr7OPh8wvTUD5IBNkiQS1tt3MHb2RLK+mCQuygptG43Ymf5RNTvLU4TacrywI+8In3GN712CC138LcMfLOHqJpeWJqYBahIf8L97YX/bUC14q7fUs8o9cL7b62CJPsUlq4f8p9IuYdlsgK4mB+QlbzhMfuWUFrdpd3w+fSnXSSaA/srExqQuqjZLriIIJf8Do4VKglE4NSLMvUXFk6EzUqEdVunNHrhhAENZ82v8TmrMZJvrp5k0x6lntpaahihqYCD0/5OB7wOK1qGIozO4xQ9gmg4Ad/XoeLwO630k2lvxh0a8OxsJ3NnwQqbXEinT6xcpgZT+cFszGxRdwECfCzt1nerKP0o5tknowjVwbC1QqoBcoY+vSP09dCtRxeB2p704N/OMopmvukxSnQcMReRhIDO8qIXS1BSpQ89jvkYGCKH4Qui35mEgd+ZShguGXBvLUCG5zoleozlqzMOPvvMTtiL7k2AMBmnwTFp8mGtlqTmLn6iTrGYydPpNMZQG71uNUn1zo/7EcCFuu6uL2NeyWvayTvm8h5Xuf/sIjyt2ChkyJglaahOgtRSrosKt/ZzaZE4mw3jEbz+DjVvYH/zcKSm/CVYJyvt6b80qkU5HQ99/hx5oI7jMyTQlos2kjEZ7cH3C3YXiQcP2UHZK9pSK2n5n3pqjZbu17QvAK/j0DYlldRl2LhK0/HsKle0t+r3Q2hNA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8qhdGadaK3J/OFLYH7TOPQhXMxxgvG4B7k5BT1qNRsJSwHcInEbOm3DyY4neD5a1oedOQe+rhBBsBk3VXlFd+0qT2rNUVmcGdQ7zLyROzmHt5iNL6oU+Fpd6Xfm7TdLDgXb/lmBbWumctHS6JtsPAX2mv6i2dd+dDMPo5P2BU18BJAfhuQhljB7NTh9rgzHQXNLD172ZtSzbPFchBxjim6WURb12y0YUSgEdnEf4HRYS4LqfYpHxbQFTwaDE4IPQ6yn8dCRAHvA6DTi/9UuXmrwFQTlLe/dWB2lcBaC7RVKqiOFnDisYPjuA/0B/Q2GKbSDy6Xld80Tp4kRHGhLnlHpBDrOt46uDQtIgumidc3Mh97EkEPtbfeXeuYT6SQb05Tppk1zZJfDqk0R6T+SGHdu9f1ICSW8+5hKcE82484EHmp6em2jDp4GCQ7k+ofLZOzkEASDxZ/gPkWFpj4EYki1EHO0uqtnBsKe9NvZGQi5GN+pFdG/Fz8GiMf4xlTKTRIZV60uReR9eNxam2KEo+YHdWDgnJ26BavYJg6WwcOsvRzs0f2tjGldrJhs67j7iMEAekKe5kdGjyfijRnlzMilH3N9nJZmTcp3BpsO3vWTi0Ogtv5MW7tng4OoegFq9doYwc+RZhRXPV7vKjTW7gr4bZO13m0dKPF7sRt0Qn2bLpd67HnPpgMnMFA8h/AcvS4H3PNk1ECqwPO5suN6VQ1ZVsZ5IGvSyBAf61kj9KkZHw42ncBBPkSBjwc7C+mzah3dy+dxUXnepn8IWimKryVyGTxC19HOWpzoVLOEkqtruAvj28pAgTvsYl//wEBRXfj/CT8nfxN6KjNppaU0RnwjlkP6yBrOEOo+I8Pb+fOUFyss0FJVWqO+w+0IrF1+xpuleZQEjZRUA3FRdukeAvQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0cb0878-2d0f-4038-bba4-08db4d905715 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:13.5932 (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: rorvM8ncg8TIBPwTacTbXFmer6WvQa9lZ+6nzf5pAxflbqGlls/IlXtk9PDQZKRCcTXFk1OHHJ067vwZBYrCoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: hU4HFTngmMBmCtnLrJ29gfnmbBSHgVcL X-Proofpoint-ORIG-GUID: hU4HFTngmMBmCtnLrJ29gfnmbBSHgVcL X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077224464974750?= X-GMAIL-MSGID: =?utf-8?q?1765077224464974750?= 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 5 17:41:42 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: 90550 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp589607vqo; Fri, 5 May 2023 10:56:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6c5DG6/ZQM5p+/VHRXax5RovV5P9qHAIsUJI6nhe7WXSJS2fV40Bhc2QEkry83imVx8uFE X-Received: by 2002:a05:6a21:670a:b0:ee:84a2:4ad0 with SMTP id wh10-20020a056a21670a00b000ee84a24ad0mr2470342pzb.22.1683309375568; Fri, 05 May 2023 10:56:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309375; cv=pass; d=google.com; s=arc-20160816; b=fewonJhhpGF7r+DlNTkLgmsSTmZYMGsoYj4yzYZQXTIsjJ21RvjvL+quRlXjAGffTq J2hF7X0PnZgTpFb0aF/rGLts97hHN9CYvAbnLPdQVtXKFh/VfVUSFvG5ikWskaiMVo8i nAJh2EjCNnvnrKqjPxBRJPxSWnLB3cpfvjSHsdXzHg0vywmHTXHeF0vHirxeBocZbf4Y Bh6c7CQZijJ94rF39S2xLug5dE+6+kdF3IpU1eKm+Lwq+qANw1gNCbMN7GSMlNL9roxG PN5revlgDd/OSAeWRvpSi96fZA3WTIS1erzJlK71OaS+csrdqejjkRawhJSppdQ40eQe EzXg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=9yNU9HJW6liJ2fUnwkIAF9WIpSr2/rxcoMxVBhqd718=; b=d2umty8hONuzORHodR+nw8O/sMgBQ7Qea3t68KrbfOgyLuPWVL7qw9DsfdQ8PafECk iIFWZv0oE+ux8airHQTRuIt4FUMM8cFmn23ux9MQvY7I3bPBluq1Js+dkWV5M0hAolsq VXxtSg8NaIwCTolA0Byi4MUMWBsxTaw3GJMeI5e1zDboplsKU7BOfKMH8c4RD72r+90j aih0lkxL2ehHeEsZVXoi6g1p1Mmy0ltQKi1wVYIlhgXYLqclxqIgM/eMHFRtQwHOz07l nDKSWgAjUixrAIX3nD/VmyPqa+CFwaNiA9xglf9HOsMdeXNegQq0dEJcc5FO6lYnYG1O s6Kw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=11n+ziE2; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=BBQDQ1M+; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n24-20020a638f18000000b005285958c85bsi2321846pgd.807.2023.05.05.10.56.02; Fri, 05 May 2023 10:56:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=11n+ziE2; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=BBQDQ1M+; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233084AbjEERpe (ORCPT + 99 others); Fri, 5 May 2023 13:45:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232486AbjEERpX (ORCPT ); Fri, 5 May 2023 13:45:23 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0662A1C0EE for ; Fri, 5 May 2023 10:44:38 -0700 (PDT) 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 345HhMLS014811; Fri, 5 May 2023 17:44: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=9yNU9HJW6liJ2fUnwkIAF9WIpSr2/rxcoMxVBhqd718=; b=11n+ziE2wH30vCc5YSng/swz2aTw6+RJqOx/euoewRe2PUYlKDmWJhWU/V5UiUvhz7dT w/+40Us/+/Qhb/JbBfi72AeeR+AQ403Kg8JcVvGp+uLHCTAV3GzKaImcS9P+Stzhvxtj Pn5p1tAeb4JxMhiXT1QYpeP8MwM/sOJp3dWmcKVZu43ZRqkTmiJvDZD0dcOaf2b48ls4 Ygvl3Gmlc1jDjSM9d5tWez7pUC8kd31Fc7prJNQdopO1e/Bmw47fngg/JoF/+SP5kUc+ bmR5fdzKqwC3XLPYdUqa044ft+Q+mf+ySWP021h9tPEL1fs5QfidbVrvNJbKYTq2Rdow nA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8sneddyb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:19 +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 345G9u6i010002; Fri, 5 May 2023 17:44:18 GMT Received: from outbound.mail.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spank55-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EPvINDff1hO3LsvcAq0BJ/ZjxWeft/31uVAGGEZlZLkiotIsnnJOFaM29TVvt7tVTWlMu8nz8E9UP6BIejf9/IGSZ3PJWmKfm7oW5NdfxSyEoCZR4ASbnb4kRKZ9tKqot6Zg9cpZ3fqAnWPSqOL0ULL9TMQuhD8RlLutcgeuMbjJBgZI5Ly3V+oJSDXgxbBuwlXgVfalyLE51A2qkC82S6638wXALmJ5Zm6PdgrGujbfeC2HpuzrHbfEyofVJ/WTykW/n+NBbLZG7AhF876tHR+z4nyK3nViRJUJ5ouldmA8csC1asMajm3dPOTIFVcpt2HKKXV1ouU6e0NbCwS6bA== 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=X9/66fMZ8TOU4CF/Owb7cGWBvAg9bd4r5lMvnfTCfowc+SJdkaSb6bsJOCiIQGQtcXO7Und47vSgPHwS00YeEOFdXXDXTpWlcwiD2Vg1C3ZZzRRcn73shqaX9dCB23/wD6AdpyY+4GWqAtYvbdbV0U0PVbgFL3lMpJtVh02Rlrxhral+HxvSc/NmQW9H4Wu36vJA4Oydmshz5NUtR9quBiDEGHgnUpXmFLWW9oDSO3ac2ygVq3utkdDff4/CPxK1fVqnPxIQ0y7ArZdkP+bF1eYLr8dfjEhudVCK5nR3iT23n2QZTORw+iv1SPm/94q+Qxg/Kp7973Uh9Yvc4eXvGw== 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=BBQDQ1M+8676PLd9kZXtJWGV2AKdzmGvpMeNbT7ZZgAjx0g3KOhS159eAH/fTK6d8uZsfpkbQbZRgvqL2qEa/vCC0ElqnrEX5s3AyJmlP/p2w3wjZUYH1Nbxabfs3KyqLOasEGq9zB7Eko1VTaZf/mlC8esINL2XswpAeMN0f8s= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:16 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:15 +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 v2 14/36] maple_tree: Use MAS_BUG_ON() prior to calling mas_meta_gap() Date: Fri, 5 May 2023 13:41:42 -0400 Message-Id: <20230505174204.2665599-15-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0060.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 05e3a9bc-75a5-48fd-8120-08db4d905844 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8hQlCXgIbryg4d8HvtLVWFrkl9HJalHWWSLRs7dyUhtaVdSVW6Dm2cSIr6z0DLmpViKMmqw3NzIi/rfZSak+Av3Exg1osWTM/w430cEfz6tVV+HxRlGPOYo2tQyEfFNk3zvs5QZfPgHe6ykb+tal7serAjLXjtL+SHuiswOtNc3QcMreByQwhHfCJR8dbeA3N3xqqcm6tXdjiWtvg+kqlr2xd8G5IGI6JyJo8RYv840oB+TS6IkZfcJDO36+fPpvWsY9mbLExiauCI/R7cp4VY2M8gQh9cAeaqSv7pWdcL+yAq4/DJA7kh27gB6PzWonWR4OABFwnUngL4Pt4K9p50KpbtHIkRP6rTeAhn+pJOugwwholfr6Ik2+S9ZoNyzabWxcIbasvpLl+Wl4Gy9mUU92ECFNEMn4x1ywOmngXboSIHqR+6GtWimx8kse/iu1stTNnUrWAUn4ruWtQelCRPArwUwpLexU3xaKL7P70THqcm6w5PRjrR6d/0m64kLB5ukZV4Vr2cb0bXKl0+7cCjXZFhhS96qZRD0ESpjBaS59Oc7vwbbWa+71WBvPw8Ik 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XDcEqYMvMOkS1fXe2NKaCvTjITJpU27ftwNnEjJOmKrian0AECLfo3iduKdj5afx7ss/4Uy/IdTcx1knvQ0kxG6QmebWhdZXNFpUwPEvudyanPlnEWxkz2tZFPfhCbEXjgDpXM+B+WilQvxVUFh9WlU8J1KBtl95BaNhzNnBCysTrPQqpfnRBah7jB59gYrEyolHvybNFQUKWFx5fHRFPVzfD0/nWc9r8dZToTQ+csZQO/MlUoE6b4SONH7Hj1ucruO+sFF8NMxl9M3Oqx8r49NPvEyjMV6NDXhRnuvqaq1SpHnkVCtpb/faTvi4z/cV31T/CalGMzSiNWIEx8CEQ8rHrAEalePcWfy8biixPG4FILWU8UCu4Z5v69fo3VlQc27MRwHeos1A3QcQHYMr46isxpJJHvDE3wbEM2Ox6C6vPhfZI1iYj3YTfDojT2kQWtr2z+el9oVqrHMt6Mg1dRgr9neViqx2FiPK5jnXUkgWFbck51AX/wVzn+v0wWsbFdtpyN61/veRgJ3522tRsCpm8web+zYNbbLTSPNQ67Ts4zCqZUMSuKsPOuU6RI9J/znFi4e2FFwQhGvO6ljjxLQS8+cLsZwf7zWR1dnsNbfUXT9i9asf2dBpu/VA0PCPh7ssWvWuXN/dan/a1wfMKNiVxK54OFnbngHt+Jf3LpyL/FarCMyixWb/+vcngtbqiJMPTo2DmDlXFeZJOIW/FrXt5MbRJL4adUt8oZWX38/LWv3Nf9m4S1REBb50kuHvqL0abVeGZvHkai/2OEthZXz3E/FLJCw0SBTPkP3BipkEXKopOYRV+4tBGGuDOQmWYUG6ZAzBF4KTbrdvgfiXbTzEHAbtvTUxV80zsypSVm7R+6NDaBEU5GyhVUMJ/VWICAlhUzNBcVEdCv0zwYrA79vD+lfkHsIYg6BDDi/qbX5E8EGxEIVYDIPiYvB+O8YmqijJUZh8XT+81OiNNmCSdLLvcTa6Tu9V+KwOGoSE59eQThyVO59gY57WnyQV1pb0iADsjbKTRq5Ks+sLfDkfLzosooT6aY9Wy281B+HRaihxdmHm72SKn1HEtbbZcpjzM3nfenQCk2DyFGoqi3q6gGjRdRJ34pN2R5k2B7oeAou4EGvJAHuZUae4coXgVXgbsPV4Lvuk7WZpAToiweLK1THbP1QQG2+KG5NchHoT+crgelZ+Kx98Prj7I0h7cQDeaQPQVBV4fe8J2PPPAONTmTwnfcc3kc4Uq/MRDiswyV8dXbF73ulzilOzmTImjDFq8y+mtoZTbi3m8HkGCxDBVYHig0aeby7qIV/KX/zQ8kGFMwhw2Pl+BVjZSgbboPkr2+IzQGRU76JpxOuqcBsevCvvKhnxfMworCAdMGcEKMthtyIwn/Bw8bkY0FEy8mYGdD6DRsaaosfoTtlPLYSIkKQ8CQ2OZ/M8jXuGxVyExY0CZfk5QDXBu7KnfNut+1KCgPJ6ewpHRw/QlPJIkDG3EUxYBKZD9V9GzWVHKB9lU5tNHw5BZsAizNBPrioUcXt97hah50CpIrjZsMqp7bdfSgaCywA2rEUTmfOxrCLRxv7OdII/6knxQW4g33yzf3cbmJgy/hyBz5TXtvRjT8myrA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: J6NKesXpDw8DnxAU/OaT7CzC1X9ML368uejM6ClXasOjzVGLg4lpZt+S3wYICp7oyHA0yXOWvntSAKw7e4lxh59ucMh9mVklBS3FW+FBlVkMm084VNZrcTMmZAO+ii4baTp42oY8lR1XanFcNN/Kt089ZA990c9nprgxj52qs1rWKuqNMDA7SU3En6DHPBanq2P2eob8TVOei6jQetClyyzsrHKgFaKnbS87HXjuCIKQSpOxR/jFcGyBhhCVABuNMcbpjpRc2lBJmwqhjP2dgbWSAB1IEzmb0Tt5sgdDPdFiV5x7jYGr7phz3+qWvQ5vDwNpxwXKAwiGP9Z8z8bnG4g9Clr3dJl0AfTrT9Nz2QTbtfmEqJwac7vmt4QI2RFEnoTE71W2QMrWknMYBApp5srMZOFTxZKC0oIwLl3cwvPj+xUIflbZYdxHvQK0IXCJd7ewEZWtTSH+aUx/UemJFRsG63t1UKs0ipebs9/5A1w5bbKlgLVuusMBmK07r5g4bRb+QswNP7u+02rxAHKnlTqUhqdFj8Q/CXfIpFjFoWAHm79kTbX40pR0wVedSQkWAaPwV63F4Y+8lH1d/gBb/gtxgly+Tbm/F6V+l0ewAAkMl37BWC3N+2XRzyenhFtV2vyDnoyqEzr9zwCXvgWndvOJIEyhiqmlFCJnrpADzAEIkIDUb595mREZq3UCPiIsFWDmyZ+sEyzJBW+AxoqDo7JNSU09n6V6wCP98pnZsMw0Vd/9Q6QRMvV3OJfRmRWlJFosIXVIwerbQTDgXvmLY8bkpwTMAJGpxiixnzqHpaQ9wodes2s7zKLyxrx6RTBBwiwgHWCgxUz+65Jq9v9ONthobM5FMx09l9kYSkBgttrRBZo20Vafz4ew49M29iVvs4QR9aXyB1zoFymn2aDlig== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 05e3a9bc-75a5-48fd-8120-08db4d905844 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:15.5963 (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: bjNd+dQ7lh0usRIMzjjQNgbfIW0hUBiyIeXz+W7HIBrWjsJepvD/APeqmkcecVQdqvokyHq48pOhTfxgGrrzRQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: cP8GtmiRcDCrQNxIQs5lLM3gySqSZnmt X-Proofpoint-ORIG-GUID: cP8GtmiRcDCrQNxIQs5lLM3gySqSZnmt X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077811790366671?= X-GMAIL-MSGID: =?utf-8?q?1765077811790366671?= 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 5 17:41:43 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: 90545 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588737vqo; Fri, 5 May 2023 10:54:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7YiRzG2KNN4EP2e598m2cQ/y1sR9SjYSX+i7pyWrL9P4h9xVTb/3NluCy+zM2yD3TrhMfX X-Received: by 2002:a17:90b:4c49:b0:24e:1b19:867f with SMTP id np9-20020a17090b4c4900b0024e1b19867fmr2325871pjb.37.1683309277417; Fri, 05 May 2023 10:54:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309277; cv=pass; d=google.com; s=arc-20160816; b=oF5z5GkES9RJp1f80OmitUvdlHWsovchsHonjVK+K1OwyofNpWh1wRNF/W+P/hyfjJ mpLk5rP2AU9NNkbQB5aBTOKsERNHTLWhYHM5JJu0+vBCO3bS/BxlpCWxMYqmF2eOxuk+ +U680l7uFTTrWr04pBgF9PuBRyj8vZmbB8rSJH5FQlWZrR9c5Gw1YliSXrcpEiYZRJ2L uI/jSIOc3pmlyiL4xgTOmb9yRDNgmV5FZQbWITMNNwwQLXaXH3uu9fgcZ7IPO7ggwHwj FpmSw/IT/gxEP/+zV7b+nsGBfvXexCT+MrMSISIbmd01BuN0Jd3dgMYZkke6WXxz5Rqs lVQA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=zUoTYTMCkwTw/+6/qqWbswBoxi9E+3/SfiPHa6ic8us=; b=poq4YOoKOYVgPI6TfHg+DQnC0+yh3+NWwiQvgrVNodMR0MqevaR8pmQ0E6Fy4W8S0H fKCPddazfzZZdC4yML2nWzwCLBs+llqyEbPZW1j8mT1qZ8GaLOKfFCctmIo2dPs1WnYu Ej668PK95O9LRYqqY1UFQ5vMwT4/8sKLxAQ7V8A/1Y8C6OWWcw3K98GmZS77n3ubVc1D xb9LtHlLucUS+XzjnMyipF+Fn2fGdBt+GQoy9pjsqHSwXnODK87BuaMktHejJhYgWbL3 XpSiapJhX72gJGtu0+MRAtBS17eIWm3ER+5cW/8P3Oh8PulN1ljqxi8m3xLNWQEmqbAw Cf/Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=S6+J16g5; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wXwrk+1H; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l4-20020a17090a850400b002475eb6480asi551447pjn.186.2023.05.05.10.54.24; Fri, 05 May 2023 10:54:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=S6+J16g5; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wXwrk+1H; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231852AbjEERqa (ORCPT + 99 others); Fri, 5 May 2023 13:46:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230492AbjEERqU (ORCPT ); Fri, 5 May 2023 13:46:20 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C112D1A607 for ; Fri, 5 May 2023 10:45:38 -0700 (PDT) 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 345HhN2c028545; Fri, 5 May 2023 17:44: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=zUoTYTMCkwTw/+6/qqWbswBoxi9E+3/SfiPHa6ic8us=; b=S6+J16g5TMCmzs2AmWW1GYcdLtZPGyPGWv8T1pG7nc+BZcW1lmcrNZxD09oYly8M70cV FbJQ5L+0B8AYg2h+bHvOfEU2GqoXfWOqlb3igZcytjWtnEVsUp0YRvcFza3PJku2QZ7Q 66VqNuGok2FRMLuHt4zqBeSGNlPXEF9wR9T0WeAwrSc31y92QYVp0Ia7waUsIslVk1tE 7vc1LGP/kszdy5xhhrLM5nhyLmzyMJ/0Lqm9dqgG9L3IBGpcQE4pivHzICs0J8+DdiTQ gMN4eCHu08uPp0H6XvU/wOYlNkbJdNiU2/aRysgJdHXh8pW+wy9IUpJmehwfTLEFI9WL vg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t5fwf3x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:21 +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 345He9ff024982; Fri, 5 May 2023 17:44:20 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2172.outbound.protection.outlook.com [104.47.59.172]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spacjak-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n3MaMAOFC4V1gilFGPXY/lPcB6TdZPV3EO0krjrGdxPepCfP3lXBFwnYXo2v89L76jBplkSARfISuvDozkVnsV7qmizNguj8rDH6I5KfFmXKOPXuAZ1H5yJsr0AZevikqvFYvTvxxm8uV5SuUqMt7hKb0GpJEdSQGZYzUB2qdw0lWivelO+g/DI2Lf4ccEKMuIBpa9xWwV/dXbRSzDOfgbL73vV6/bPEtnUWMIeZdNjYSQIEWqeKPhvZryX0WzhntYj90x4Dj3PXmmMCO+Wa331HSDSdrwA6BuIRducVWDnJMkbtu7h8l9d/hZzfLxgeRdO2XJ3fj42X8SA+G5aXEA== 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=oAnmGBF2Q1TwdV7e7a9MjaFfOTxuq0sc1IOu3JsQ59h6m1EIoFGy6HN4dubcNlapyGumVhJ4+Huwm2scOVLGnE9tchznghX+4Ba+LdWeFxt5RlQ8NlNFZ6HjlPWea9uASG4uM2iZ3BrKrxgbfxHM5y2Vip+nn0d5MCqzrglqKidztkUNe+IjTCD7juMDqKqCSh+z3C8pCOmubjAKt+qOtjw8nt6gWIUWIHvvQ9ggOpWAnNATcnQDJijPDyT8SzveyTxI1WOE8Pl8s/t+3L9VvZgB6vXJUz2p2hOpxOPJux0Qf9QG+pfPJ0TX5a3LCjdQuc//WxPoUZkzGBqtrN3ajg== 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=wXwrk+1HRcfHv82kgfHWVmyaE1RZ69AQC6amJZZZ1CEkRqn94JsWFswsCB/NR6BHvV/bSlz8dyaL1e6Q3s7w7tMbxL9QRQjG/4zKZhFJE5AUH2OMJOaM5/7XV8R1uShvMG3/g7nUmorvZjYVTX4KuC7t+UzukKy2+xiag1Icpbw= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:18 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:18 +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 v2 15/36] maple_tree: Return error on mte_pivots() out of range Date: Fri, 5 May 2023 13:41:43 -0400 Message-Id: <20230505174204.2665599-16-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0037.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::14) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 839cb527-22d8-4cc8-b394-08db4d905a04 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wyI4o3WoxFdD8Y7MScXDJYl+KOPVh0NtpmgaPcV2XZCKLobFz6t8Opd/ewo6bZTgrUt0tGxHbhuNFUQlQxgz9uideDdqVPFxII8vr3sLcyJjKbzQdCTG6H2Bl4ocEUmYU+aT+Z3OwEv83jfkOsPvCegk74xkeIMKIuEq0N8UvUT9UtPINV/g1cMSqt5p/p6NzTsTkLvp6yh+HKgCINz/MFexe7ms2qP0Jdr1pE/AmC/XLFsL61pTXb3d+1/YYLko75X2+26cDD5asrHFTkjuwKS/uEVaTLz9bgqpInrWyVMoHpxMDU0RoFtnhCuUddi9hcN6lMlVU8oyZVg/7QBv/vK0ykbstM6reQLNfc686Qzy8/0JA3R2wamq+lYateSiI99jqKS4ATXM1jI1cz7c6vlsQtvtH0Ga1epwgxy7/oSNnivj/X0arIW0rYb4NIRK5BrTWvkylv4pFxRj55Z2QGmPDDiVSOI2ogdXlSsMmcP0eekjPkazgR7JIJmwbUSGSQaVt4/zLOeoS0SRihti5qLxq3uANpfDFOnlMEDz+ET85OmkKlk57ZZ+Eh8D9n6o 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3GgGhjxTWnxArczJ3BnSuuiAN4y9go7LZbY0upkf+gVirYXiF4nId+UVPWSO94PHlHX+zbWbnHWGxxEvDvILzC/nK2TOhuego9Uk5uH8XSLXjx/AhKKfq4bKb41vpXZqwphdn2jFaLyb4iomvxz3pIsAjoy0djTsSytQIeOPOlTjUhUQYovtlTbdjPyQE5brzUIMVfw4nVenX4lRXFPHxs6Ne+AKpLtlW/rJlSScFvfeC+w1p54K0WJVTZaHSpB06/CUtnQoS0jW40ww3r/ARg21Lh+pirEQa201shfFCpGyOfzFeRrzljXuSAxfuhmH+L/EoghwoSLnGGB5OTYeNRRjzqCIKE9IL3VpJpAXAg0bXWggPgE/BColAwhDe40SdTJ2Z+3OX0cGFO3+K3YDZ1U1wct8XmTrvv6inoqLy03rnWk9iwVj30Xotf9kmpGP99WYi+BmiWduk4vj6KyM1sXf3/tcIgwksxg5Guk/EQEvCpaFiaPZl8ST1hero4MU9AwF+xwLOEBFF1kTAQ5iVc5HrtU79sI9SBQSXMROQSDzSjSdIMN0SDD8a8f1TvC2ZlsFyGsAeIf5lJ/iC7rewZA1rVUlN8j/mxmjTVzvWYZAxfSeVudRg3RZJPO3YBlc/IEscajIZk6ihpwO2MnwIK9ZxxarQKOgxB7ZRkQ1s4xwVs2jyeN2AQbQcSN47di/53/yr5gi7+sXJchUOxXfPflO1iJWaOHULBo22jkMBLndVHbEhZvNtiJfLsnLRRjQq+mJ6N4hG4P/Y4CtNOA6XHuzrzlVOHaV85arp+E0UORN7Yu+LKDgetEDIClkdUzCrznOlJwyRw3Nuu3oHLF9xJvUFaf/3YMcV7m+Jr59mQAQQYNfur+pq3GNKPqgvTkuslOFBQ9JITXLNZ9ab+ApolTRlO91wZl6OElW8bgXR8qgX3U0fv/hT7wh9E/w9AG3TeUkY8HnjV7sie04Aag8LGNiUI8ho0HssTC2QhbD5a2jdtFMZuge/7mRsOkGHT4TR0ml9NvGL7RvCtYkmIMXzmEewc3PMqUVI18q/WfGvX2bS95JNCZ3Ma7guSTxFBqkzRcs+6enIiS4GfU5iRhY+8MYNAJKbJU1pvnmIbCwvtpgi6cA18eSJ7xna9+43ZrOXq3bFug6kKWTmKMOHGEoNudjTdras4dGliCv5bzzVYo/WmbpAcAIQU1RVQPVCSD6LYV/3vpx9K2924IJbcDjUbz1iosFJsiinjWtuCPnvwzOubcwwZCEwPbQuTz0+NT7IY+lvHOv4F9sUhpq6YZvcZX5/x0vNttQUelOp6aq4kFW3xKgJWG/FGxjgVCPEvWicsKOSN3cQsu9xN7aNdwmD/PDt118ubKOqJX3njQq0IxeXE1NBq0n+xOwXKNdsW+bIcIT70B3bjgxl/CHn3sqjjHVT2KAzFh0vEfYc2ceBRSpdDr8a7SS0i7HIcsS0QC6N6RaX0SHAJR6J8XbSsjGW0IPGLQSnbYPkeV1ca0qNJRQPCcUPPmWFfzNadaTkoF1MaWBXmo2iIq1YDztpoFZ/eFmvq342SnVSi3gHYoecE1p9eKsvay4bfCEQLsPBLz6PQK1m7hrowzQXQ0mT5WPbw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: HgsV0Hurf5gVcIBGcPnOsgcLhEYCxrvekhlpyLJikzUa39lGkemjp4+adaxcPA/4AbnfjLP4CsHWFvT9X6YSL7nnCj0gqKL9F0EDQmPt6P1QRqNOQv135gMyG9+w0LOzBl1ZAdJMcjRdn5387VFa1EjPrl3IFmtNpQChV40kMnpRPVtha3U1lWDLnERUYiRBPQXhO6nzST6+iLnfJ969P2yYLQkE09+KlFCegPzDj30f5xHemWYOznsx4kXFeOHMx/81bbGDbYD7Cq8OVIwzzD5HdWyKf4y8irwEwrHZGM88F59W67ZNCpysYxDJBXm+xZhPHqfYjNxpccOPJL4VEGUQYsYvF+CS2waXQheiQvRzJo2oaBtwfXOtAENPCdmzARcxUcZ64DQCRAvsbpURZouhVOLYt67NdqAFRb0JicEZESNkdGM0NEy94O+4wrmK2va3P55GtQtENHmPf8DNePAHtVzbPlif0f+vR6cIjt8qNKmAUc8Z5EmJxy7nxsdntjxeAiAiwNUl71yL7LfSZOngz0RtH4h5+ihFqrSJAiMfRThKK898IVKNPhM5o6f0e+UpPl7T63EzwjahOzRsAEoWVT2e3olrsoO1BEi07UbGJEcVdqDbv1upzjp+4SK2ZOC9T9PnBfK43ecwCdP+crfGlQDdMMoOZBmBLgBgWCo4IvM3EmtVVqJtFWdXapdV2450JTZzspIYM4+WZ03Uge/ERwXx3VjVn7f+Df9WJQbyDibumuRTdBEpoYzFawSPGOatmsF/SFCaaYKx2913rZ98d4dK9jr4rpiNO1c4Sv1ASTXr5gKlVW1ZEN7/HFNJwP+ktLxPDVOK6SZ5PyNxmt7KCWSd2T0nYHP2RMA8P92O1TJufk58MplJacd6fdJCRK6Lzsv4ww1jVC9bYdMGg8vhHtAtTBp4oV9Tts1+3GTFIyhi9E0tD21elt776uED X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 839cb527-22d8-4cc8-b394-08db4d905a04 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:18.5093 (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: LKizUnttVTJFJjckjIQIzSqfyc/G3oFIUzzMB0zNeqCnJDUaCRCRQOd3bzrCfs+bJRbbCGkg5BQgRUmfHNKrWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: Sf1wnS3f9QUWX7JseDho1HaWH8LxLdhk X-Proofpoint-ORIG-GUID: Sf1wnS3f9QUWX7JseDho1HaWH8LxLdhk X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077708938056867?= X-GMAIL-MSGID: =?utf-8?q?1765077708938056867?= 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 5 17:41:44 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: 90539 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588264vqo; Fri, 5 May 2023 10:53:39 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ59JDMUruQG1NagQixOD12ajy9PLiwx4tbcelH1RR065KowhFGktFFHPTlYYamDYg0T5jJz X-Received: by 2002:a05:6a20:42a8:b0:f5:ae09:cdf2 with SMTP id o40-20020a056a2042a800b000f5ae09cdf2mr3666076pzj.17.1683309219113; Fri, 05 May 2023 10:53:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309219; cv=pass; d=google.com; s=arc-20160816; b=eXLUdvhbCo8fO+lsT3A5IpssaVPkSACf9pQ6luj7y2XNgQ/4Ulp3bUeQb/I9kdVzU4 S1Rh+X7eot92F2p5duusZTpCLXDMR2j6VQBpnzej6fB7cxJ89Sgsj2tRG8f0WB0Gj23r Io1q3CaXsbmATxSvJhnBVE7NiOp3JvCgN+zDQFT/w1iwjvXoq9if4j4rrJ6DbH2N8R4O M5muJ7EteGbVpW3WpHliBnFxPRGaZDwJSe7f24vEinGiPY8sKaTeVnYjnl6LmI1CPrVh nZF9CEDOFr17Qtj52/y+gpxq3rCbjTITR1F1VRtePnqprH/9ee5VWt0QcTpYoFPzHigH leqA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=vsLFD4dVDOFW21XGcSvKmJrAPSFOY+0Jw3IhJz6RmFw=; b=h/Il6CY4E4g3a0wep2qvBCelciQPbd4a9v27OiNdR0H9VNrkTxWmwpF5E4ZP7Sbik/ 92gJ+V290YiLvSQY+vTxwY0dyApth8dXMKCBENmQkIev+ED/R4K9mo27ffrkhrv6r02z OEalcsbPRcEpqIHaH+8Sl57BkMrd2zWcCCT8mCBqKhYFNxvn1UdlalcveHTCWwqH8hU7 gkZhg56/T+aTqemitOLmCzotqit4CRkrgoXSbCMR5z+Px5/Jp3iVa5tXuRy0RKd6Mgnl ySZqn42IWuldRoag94zIHY/Q28jJJKdHyLrwB2OOYihBHoCXnOwraAr+oVavVHXXzVyZ vnjg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=svqagWH6; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="bsXDo//R"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p37-20020a635b25000000b00503059b8b2fsi2592146pgb.220.2023.05.05.10.53.26; Fri, 05 May 2023 10:53:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=svqagWH6; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="bsXDo//R"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232486AbjEERpw (ORCPT + 99 others); Fri, 5 May 2023 13:45:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233077AbjEERpd (ORCPT ); Fri, 5 May 2023 13:45:33 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 315BD1CFF8 for ; Fri, 5 May 2023 10:44:47 -0700 (PDT) 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 345HhOrn003090; Fri, 5 May 2023 17:44:24 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=svqagWH6hJ7v01xGAAPpo/MCfbtDqoa8lfcsEgAJaDiyH9Ncj3K1n/VcfXn3DpjMhM88 0QcwTcY8E1sxbwqHYEc5N+btfN0SBmxUpoclK4ACcpUe6tcKNvXxzTPRMH/gj0Wg5UCT f5zKIyhRCgjbKctyERo5C1SAv3EftiRwJiBtwAep4s1K+mj7Bmc76KRhDhPgoyV19GRZ AghxW9cDO8IIT0pC+1FpTW4Fv/Xb8byKfieflc0sfacc5rkOtnMPcWNSn/910RySSmeh HDgIV7Uig8j/LFXhvSF0otKM+ULVC1AH/GfHym8W7xY5/pDnpDV/Hik2+wyWozNx/HQ7 4A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qburgdkd2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:23 +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 345G9u6k010002; Fri, 5 May 2023 17:44:23 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spank6u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ILGJ9SeYCsKbRPQDym99yPwkmBY6yx/PAIRgkb6fjxbHNB4bIqGJ0kSAcAUJ7gGQUUe9tcmrhlcug5xIcg8mJmV97G0rBs2Rr8Nf0rLSzYGYQeWinzdBxOcgEU9Vw37IIliPEFOxM98N3LOlxaho0VOsv6/id4biiZmMoOy+dKrmmtwPwauYiud/2fSR2H5JG/aouSeufNzcGTSP0gtJRKMo5jZx5kGDpKaoQtsDtzJwVFlHDmz3B7GXPbQdrR8etFHrrW7EHH9ILJ22JapTAsQHT10846s2ALagGHQ6EVNBnnplhuZAXn/7EEG47Q8FhK0dFsRMBmxNT9ZPUGROCA== 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=Gwmmkq7rRdeWHTzWTIPJAOBxAqIHIItuQUJ0LurHJ8Uvu+Psg4vFCg/3G+AE3mNcEMqTVdMe62/uWvdrayGu1o2lCb8XVRSXeiBK5xhCnW45hbuJN2bny4nGadoHhhmkYaGE3Gkcn/DUcfmDd+IvX3kxQFScePRliofyOUBbSGazIYdLei9JSBM8n/Pp8J3y97ft3gxJA4yeY0obMmU29hsxqmDu/orjeZ2aRqu6a4kM0Smn3IvULazE2vrJxoecAcZxAfTceWha/hfJvKQmLqQl5ItVHL7JcEz46HNcomfXWxKjkZosl02eQYAZnXapo54LRoh4ZED24Pc8Yv+KQg== 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=bsXDo//RRxsMqdDlpj73arzSEW+s/Q5LaRn8zgBLCMPEXiJy4ge5yQx5ISmOHhkjPAgdsqn4oMRl/k+3TdWnMZymfnpb2eymcO+oN+mCfXW0crLH+wXtIUpFo2lq5bzdabVXM25wMQr24ReulOZ+q+3Us3p7pT7RihXSUlNyEps= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:21 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:20 +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 v2 16/36] maple_tree: Make test code work without debug enabled Date: Fri, 5 May 2023 13:41:44 -0400 Message-Id: <20230505174204.2665599-17-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0063.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:84::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 2670660a-b603-48b2-7531-08db4d905b71 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G8TGdmnkzIRsSFNkPqJNGpVn0bfO+k/vgQ8jnY3vbZu3QUOIeQxLloZuu56dA1UUCnpDhg/3M1jcy4Hl3Wy4AdnDcEISQzRdApPvHKmHVdVyOaWXzggrn1SzUmGw+RVhUclK2YCooSajirrCbv6Fiffes3HKRpisHIPsWWDsNhPXi7+zGQMDmGTJCq+4xUj4tJPCGbthSHXlffnARk72IFN/eoePMesmDTVmmBZudbF6HOvPEkh/S3ZdYfO2vi77FtTG069nkc85Tt92UEzPhyQkBzh9hHZSEBdKQpaRPfINbgzUlPu8lzY8d1wk6fg0E9w68YRRCVacAqhvqhx2u1nuyx7hHPyASeqWXZa2Ry8lBaVzq8MfC04imsb8ADSfKBrrvXSh+kyiEwOehIAr+WN+9uBhiXkNG2E/svbLqblVV5bOcGl60dGZIR6+nkDbJuUpUXEWG2EGqWv9Yf6XQ6w+Fbd6nLfeLxkuBKw7xBjTuPZnKfCECc4esXXgVAG7NpVfkQGBA7yfzDjjO3SWtjjeu+r5fadwNPRcgKZ/a42RWKO5KGOxj0OK8J3sjkGW 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: c2MOHj8wuPtnb6hy4CQ0Xf82O6ZqmJ9XJghZitue/6GYV3EfTt7aeVcERLU2FYDa1SE0ek8GiekrcV5SVKfBbYSsdwzzOVtKzlyFqpzys5sYvvCG3GGDeCsBPFuscM9Bq+v8s+TUNGTsOGnDgwIFGUsW2yz4hPSd6ZOb109K3oP0MGMHSa9wQXN0me9csIssxaT5WdZD0DmdgpFvuuhPe7fW+jxAUprFZU+1uP1aJQR699QL+J8Hfh7II2eBfC84vXuOz7TR9TM709cxrmMy1LfjFPoCavbcfUPwF43QhqP6gBCBpSEdxwPWQx99dfb97dLiQOuuMsyCrYYkvKhvKDBHLt4g7TZOocFi3DZvlpb4BuPqvRJkv7RuL3xQUtp7U2poQW+5hYpaGSoiJdJRCLHINqiX6N6vQvzUttl+fPvlyqUYTyqfPmB/aABexoRP6tIWAovTdr0B7UEUXTwMgC1fAUkrGx+NlO4eZ01wanTDbV8xQIfCVALpAVfx+hCDyoZWx0kEOg8e+a95F56WLIG5+3xxutqd3PU3Eadya4/BnUQsI8P2JNSux3K7BYMKp7Y0yTPuEGctgroiruieCGm8GS0amdPOfZHMgvc6uHhtpKmeakzSVqyOCok0LmOVfOKUrFYyNPjLB4b5PnvYb3CSCZcBh7Xa0xCCgX1W8f6UW5R+4c+wpt3jlJFTFupaqFZ+fG30qLsrDmtDHMWVnGk0wTFd0h+mkfiNoiNGotcdEKBRc6Fa0zSfW7RjiDrjMSvDIt1JovUpg01Fw0GeaKoixlvSWg/Hi5HiHalW3/6OTekFRZSpmLCVu5SphHR6oZFe4Av1nfp/VGi/ijGf7i8VXfFULy6XGk5uKasumrodGOyzqPx79aMey1rfIWveVMqjxQr3IeE5TMHk2X3NftGnweu6VEyjFMiwC0VYHnSOp5cXhAcLgMlaeZEWZkh0vuCa6Ral/O9RLDqkpV0OM/8e2Y++CF1pFxjY4Qk5LI/SlVa5eOziDZQq1B1ZbHD+Q0n80MFnA0nA+LnDtCe7aZPb81cyWMNF30AmmRCGB94kYSskb1cSgCsm3p9HkX8X/n9xreWtTb8A/4ABnjvhFQ1ot0hW7k1MbIu0y9W6zTQtCu4NjKx0rlnvHdjGi0amwPVgbhEBF4tc795Xd+hDD8ufBuORWSs5ePXA8En/LUu2aHR/sEXTSSPTuj8uPbG5HooPy3XNZvba+rhv8HVa76zOUl+IFmqruj7dw6DIFlLMEMqMS34zWWnTx3Y3+B/m874y457+m+ci/MXKtOiI5FlNzO0HI4U7JqQjKF6vO3XHT9/Z9O+7aMNs7T9XILSVy4a2/1WseCiNZtWYyJ44cvR8sCQk1Umlw1Ff7EqP3cz+1frgt1wReeGQ6gNSYAR24z1OoCPxixZWpU/XBWl0BzWfD/DWVbRHorAaiiDJe/653QsX72GTAMWYo6ICouPCl6xVxgsqvFdJ80IOV+Nl16YHpCjv7+LJ1BLCkgxP49aUe2MVu4owQJOye7VkqIC4kg0+N6NaU5IEvnrPgp6gMjmAcxH6y7Ac10WudeJubvDMh0dl0h1AKStPvKfS97AMJkqFimpHfigLHxgRwCs5rQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: zBRyU4HVJjiXzmA5Rj5NNDApjMgvjWETgWJwtn1J0WXHGP7h6TNbIpvxpMI1VR5kpLBnjbvItfdQbaCkvURiHQgmC2JSK8xc9A8hpWOD8kyqCZ+/wKaUVT15TLwNFyVD5VwFjn4h50LP5tgKCIq8kxdVsNEK88n3i4Uig2tHOKqt5caGcwnqxaHMCwkgltq3RZY8NERryf2a0havd5YvNgdPkImYyF0ZbrXxfbiO9njQyDqk3iQV0pF2J4Xs0NcLaQPJPa5LlnzM9VHOujV9LQxO1qVoHZjkj/F5Kx8+6u7j1sDJImcXn3U8qZUEzx3kH5dHyZfFDGDh4qEh1XD30LiOnBwURPuZ8430CVz+tzdJcOHuvHXWId3PKb4i4RJ4Hia5Wn+ptVN7GFW40EdBjVnMl3+0P2hw9LLa93OrfS7quaxjLVL+dGW7++z9kCo27K6y2UdM/lHJvELzTCuLmGOSOSF26Ht/iEl8hPgluPLTCaanniS8B6ZO5W8yXpZ1px8I/Sucj3bkqgEBAAOZzMA0e3BwvulvBngviFCoOEU8amqoR4UkawwEyFrvcrAXHWGGfxerR5z6AzWZVAFPivl8NY0V7DorEyz8mE0Og58JQGsXLoVEwtEetsNXB/Z/6cUJyIeWjiIJTwwumToTKUEiS9cq4HlTgRrgPB4PMmFFp6cJlvrd6EA/RIp8Qc4j90cNfYejASzPsjmeeJdCY5fIUIJb+heDc9aFktRhZ0uB0OQlzNAXaf3RJlmOx3gfv5DxL+Qauuk6V0hiG4qyStmCglB87PU3r/jpR2oMwaMrilLEEKCRCywhJvHyXSpF8s003M+rGzbgXG5fegGV4bfg6/7doGj/su4Wft8LV+KaoaOQdpMYIEjAhuUMoakLf1+c87fZlKvIo19L1flPzg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2670660a-b603-48b2-7531-08db4d905b71 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:20.8945 (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: TXa4InUvnLumFw1a6PPqjmIGovt7FZ0qPhaFUGJrraOJEjyqRT3pXJCLvPgEnpa+eDPS08/66DMWzAGHnMQrwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: bjqzePQZIItG1aC03WhxDSled2RIkHjh X-Proofpoint-ORIG-GUID: bjqzePQZIItG1aC03WhxDSled2RIkHjh X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077647811067986?= X-GMAIL-MSGID: =?utf-8?q?1765077647811067986?= 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 5 17:41:45 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: 90533 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp585037vqo; Fri, 5 May 2023 10:47:23 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4jVKFrQ0Ni82yRTi7IgWguhBdXTeZ8o4OY0zcQDXzI18CuBY1GC37CgrylcdoB7f9vPdym X-Received: by 2002:a17:90b:198c:b0:244:9385:807f with SMTP id mv12-20020a17090b198c00b002449385807fmr2149900pjb.44.1683308843153; Fri, 05 May 2023 10:47:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683308843; cv=pass; d=google.com; s=arc-20160816; b=UOYWsAq0QhRyoaFa74p+FGv0Ij1ipaplItQ5xrNwimzQ6WP+OjiluFIsI7jL0cG1C/ OCIeyx7D2WpdVjEyvBp7QQsxQEfp09zVmwuJiiusFUd5HtxNDtTj62Q4kuyhfn9u9Kvv BnLT0Q8fLSge3MAexeOlAqEVrhX8aeqg6irGgGjYgrnC+cA8TDZxQBCYkx9n39fqhpal GPOLA8QN+xYsECNsKPOooP+aXywE4s5T873YA/cjbZhjrCV9o2SeFGpRZvMfNwwkJeOZ ky6EC1xtwHncqAh4yhqzxmZRlGeyKoKT8QhK1RxrCZV9aActDJzRU9FQ2wE9zvGA3HXU sfNw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=7MLcv1G8LkaXK+scWyvzIEbLLyWLzRFzfze5eok9DRY=; b=htb35aKliBZVHqKQdUCIHURq/C+NZkfAIlx6Ly4Q3A0lr+4quIDSKfWfC5CQimMv+7 TVh0TZWn7LJfoVSEofy8C6IeKuEE+jTSkXoTW4PwP9VbqzZN3teKtRzbSbsJ4DGGY4YR pbYBK42Qbogjm/1D++nIGgPtzKt87D8EOE9dXa/FFenyim+ZNPR/mm9s4vBIKP22agLQ MZc3BIzjMfHmEPZvFyzHLOH9MN0Y55AsDsxI+hdldK0yWe7TuAtGl0baMCZdGeQtc7mp D6b+qz0a1I3sXCQs4uYNRxXLdzUz4qz0SX3Ju8X6U1P9CSF8km9k6afILp4LVoPp0Q5M +/8Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=IK4PLajC; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=iWsfLkWz; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b24-20020a17090a991800b002474ddc6a90si6651442pjp.125.2023.05.05.10.47.07; Fri, 05 May 2023 10:47:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=IK4PLajC; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=iWsfLkWz; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233101AbjEERqC (ORCPT + 99 others); Fri, 5 May 2023 13:46:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233099AbjEERpr (ORCPT ); Fri, 5 May 2023 13:45:47 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 79AC31D94E for ; Fri, 5 May 2023 10:44:50 -0700 (PDT) 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 345HhK1k014772; Fri, 5 May 2023 17:44: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=7MLcv1G8LkaXK+scWyvzIEbLLyWLzRFzfze5eok9DRY=; b=IK4PLajCpJL91RsHVIlHBl4U0yo7jk6WT55K2/ajXC3jCsnFKABSxVwaDdTLB4TMgBG9 C1Wj/pF84nyxJBoUXeXUWsb9La3k7+5JkkEQOWXIpLVwsSa8By2lTw+LdA5BzwSjYdgQ r2rk83gH7zBNbQUsGxsAe00qx0cRjuG14fg3q4PY0Y/DDXUvHcPlpFCe+mJ2i62YAwb+ zxPaEZ5wT+O369WKx3BYLCBspCCUEgTIkYru2/V3GBaO7VURetSOyloZZow7bA+5RmmD gjv12OOTO6CFWCy35gsc4v1lWSmxLSYQ13RkEXTTiRSSiT5FOr1aW3ormOs79krFlIEW IA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8sneddyg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:26 +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 345GjJFG027445; Fri, 5 May 2023 17:44:25 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 3q8spgetgn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xe4kzE00OXGSPcKOLb0oyx2IzfGyCRInMHugbYBC6zQAoyHg6mGkl+pTa953gyKjKFm8glzkMVNPq9MuOtTpssSA63KcSOh5KWf+13L+6APU6oj3/8kEKlFQ7zn2GVnPdWHJUYCMbzof6I+9+TTgLIa/GkhX4EgYufIIa0uBaXP/EemnTivA22Bz8FZiAaeudjDzbrQUscjYAUm+TKOTExyNfeiUqRJRbX2Ab0RzBNigF/fAowWNcWEW+fcpU3p+6DUTPkHtN6Yxav+UVyHs4CdRdx1a+Ancqqg7cKYwuaaPLnKfLC4pSPbmHeG2ZZt6BM347wtPQXK+yUsu+XWing== 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=g9yQonYfMQDhlbbUN9asWRGs7qFbPUGsqslGUs7ZJQhK1mI3dMcl5AO/WcA8CJeTnoBf4q8E95KZ2Rf/QsbVpdigSq/Vds4hdDLVE8DOrkWHgCfPsJZx8i0AIEQlzKJgvPiAMk2lXjbsZOviHqFa94zRUu8Z8QH+667nLpJxoXVb6z3K5YDIhmfx7aghMgjk0wbARuWD7XZGgSBstJO5UBjo0wAx3YMGIFM0zSNj2rxwBS/DvJTCo3oT8ONFwFkmgeS2VDToep/W7hRLTD3BU6FKmAzH8hfx8ayZGuto1BuCYt4/Eh83LRkBnOhGR1Fv/1MWbcyWPULKkBAsZfO1MQ== 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=iWsfLkWzSbo3RaijkPv3emGWAGcOiTXiVYrezna96yWAnmnn3QyB4mhFJqJVu3ZxlBneiNI9P5Mo/3V0om/bW9W4u2dRtkqELDFQRqWi9Xs6BzKQYlV5A8BLMGq51XPN5G/1bXFLbZ+87uqtps+KSUx8jX8tHU9hm4R3+UO4hSA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:23 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:23 +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 v2 17/36] mm: Update validate_mm() to use vma iterator Date: Fri, 5 May 2023 13:41:45 -0400 Message-Id: <20230505174204.2665599-18-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0372.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fd::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 985bd068-71f0-4c64-4d33-08db4d905cb3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jzPugKicla7cEoEzG6NWd3pAAbfKx2whgZT4op6dxqCBp2xojaMw5//VcglPbBrp/MYQ6M6plR6nc7vVbuwwOqvuPwhZ0Pnf2bR5X9z5K0hDWygLGtsFkub7+PZ4zZ0Bk+13OJKGq2MIJJ5mGryxyE73kzp5fHa6VXEMplL1CTQ5ma6dUtRarlbN9VfNIrEpsoDfuiQvfW9uXV4BbDcb4vZOYfMHz6fz+CLSGTFV/Z9lGhoBLE+AcO6dyjQNx8NQW1D7P9IUD8l4YS+ws+0D2U2gFjApUPpkIUgyH2tbiwMoJHM7fkmfXUmXt3Si2I0+9VJUVRAYqhFs+Vaw2NGJ/ZQ450fj/QR6tElUbp7SseNy4E3in5uXVYbPOa4pDZ6blVkUhfWsLS7K5Zhatk0KR8uQL77BPciicyOD/TCOM/GVvM8fq2aK4Cw8tLfcuhK0/b6seuM8ID20gGHb4xV/2idmTqUTRxWWRMCBlloxEngn7Yco8hrA9MFtZun6Y5Roenf77qm9uLHNtg1E+gxlp35VyLjOBUfD8TXFRYgdI3+mIeo4yZ6hKVeS0xR/D0Ko 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(15650500001)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GwuGktClWtrqY6+oTulpWbKIarn0laHAGNzY0fdblizLTR4jKYqSdBNsqCatOxdY6UHM1lB+0+dGtCjA5V6UOdexO73OdRE+Oulvcu6zAlD5w9oqZZVrbUo+7UNwsqO1+Zn9RFuL8Hy3dS4tMzxpjWAHO46Vb12PTWfIMmdRoM2DvxpvulmYY3MDPBCFfqV4TfKrFSdElqRLJgzR8sIiDm5jYXIEEHHuU7AyJZW0pKlzeJF4sre9TDgZ/Q6KfU0Q4I7TGbhhIL3eb2hL5MN2m/hRLZZ4NWBBtwmh1zqzGvmLKEeU3PNIiDkxmhZ5UAsOkY4P+/eoEvZKX+WAPRt4SludlHPLSQCXi47Yh9LPJMBQ/Tug6o1Mg91u3aIfLOhlBdfvG2P8nX1iwp/5/KkaSXcnO1iJRF3Ao7D8BRDb8VURYhPNAhzZX2k/Q5kQAVM5dONdC5OALLVaYTOIB2UFzWLu3mwTBdWhdbjmZPomnC3qnWVLBc75TAyk5r5jLEAwLqAzYdAAk1s6hDnsIjDyEZgjnLSORRjbI1MEnivF6N0mHvo/EDg7c2vqUHfZbEXL0Fo3V/wJa54v/JJFkEkooBtrFDxsrGpeimNCAFIZx/B15PEWDKNe81SAD19hOR/Zz9eB7CSOpqaYnkS2sabuYFmnk8KcnuZrFFlIElgnsr6F+FQFguujZIjSkibsVLAl8zpDh2sd6VMAQ9ktAXFUhA7kUJvmt+ubW94HhGO6D1AmaZNYw8j3xakgqOl+sNiBr2bLPqc2w4JKRVtGeYpetbHFungr77IYtmztwqIcv9y41TWHCRSALXXF6BXfGiwsCygM8S96ESwbsQeSHHYs9qMa1/1+TGhIXuHxOOa/Vij63isPERj7HHA30CCbP827XvxDEJPsZ3DmNR93cyeySq93ZpC7g/NVIGLqRqdpATm6MfZ21B4hTxPuphwGsqyqDmi4QZ7u/NqlfUvJO8IuxgGWB+qYXnAbYkTShQ1eUUSylnUOoCLqBxZepRVAjDAqLbfMroxRH0X8SCzkeeoQaa1ZjPRryd3n1Il6C21JT//Jfst3xVzfhFsF7lt16wdmaYoTJv6anfZFQewQ7kz3oN2FyW4HsPdrDYWEUCucsYJyeT8eM1rclHZ2LOyrlgxQnML4iDYNk5rB///llwOeadRM31woWy68TMgL5kvVWpb7JpnisBAiq4JlCOD69YJR0B6P3qXfWtGziCiHSC7pLyHOo2p8RPF6GYuXDufKis0gyV7ddzt2IKaw25CNtN3l5Z/67map85w+Di4kEskDbHaeGVoOd/tuhkxeW5ptd9+XvKfmizJ4AN+IWba7X9CHZsl84OPzuI5elPCo8cZ/TuSsa2RCqdD03WfQFlvXBKGT/6R25hKrZt5ok8sKnj6ps8ZWpj71koiSjEH9Shq/VPNTdmHPUaJT05/m5IcxWuyY3GjHL7cn+cD93H3g6CoxBLtyj3bqr25OG86VONmmRi5ukOD/dZPWG0OD/lj6S5Zx2c6LPqDVARsjf8UNPHyTYsB8E0y/GF9uGiehZ++v+hjljSAEqK6Imh6ZR2TxNxEXuL9rH1iiigFbe6Sc18rMoXfeEp1dvbM4PcTu5ktbKA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9AilzcTeUbEZH0NT66iLNdKkxj4R8S6PC5Odaowr+orGLD/tKQ2SBEw6JN9MK47bT5pTjsm6XB+JbSDbS4Jz94OwngTePJtNvkeOB3pyjws9kIzBYPT/D0AjHu5kFucz5RHRA0vPMmdR6h2aItL2ec4j1dJWax2Yqs7pyUPq+c1ET/WlPAB+zlbSPWYWtZcBsPt29f9mV/+UzfRW/i+UlGtxIStUIzjICGYDp6OidoJyaPeeMyQYvXMZnuWEfOLAFK1gCuk6Nx5jEF1hEnVAZo5SOX3gCOj8aM17zxdox9QbTK7OJpwgwqhZN75r4SE17DZV04eOXjmFDE8fWyAFZATnHLUoR3te29BtfYKL5lIeV7KcO83diKo8+Q/mm6wGSQzY1N4QyqRF7nB5Ewq6n34PyZte6/+kyCj70pEpFrIcuqFf876A0PT9SGO9623ilTbWbz486/CnmLBR4qh0d+mLx0e+1JXN/ifYGKfLqi6QE8p4SFnHD6/fq7mYrsMSuPdsZxbdCPBOATSN6zubkPKtTrGsXF1HwNwHqNn4LFgfTKEz1K6nJfO6y36+W0Z6Wqt69QJ078KFruozyb3gjXg8GWsI1L/1to0bw+a4bMX7+Myt7d8pdRquXY7/nEWKN6FGGBB5TfN9BaPXuY3Z67SqgTgKEu6/mkF3QZnE9Banw/bRdlHmMzzCKzuSgwPz4YmY6/dfoWRrU1e6zqkw6p/7Nazu35KZdRipAc2BCZFWEQrdpTnKYG974fq6Z4TZeBsRexQNHv/Ka6KzSMqRDGfIp305b2pIN1JhG+y9c42Ws4RHHiEAq0cgEHwG2GRVKaFiBL9VE24wtPN2lWLAGapBQd/KNffhMIxQ1fQuBEORfAQ/O7U5Q+iBD4kmqGoWtRT4P4ULzGBljKlqkGy5ZA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 985bd068-71f0-4c64-4d33-08db4d905cb3 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:23.1620 (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: 2eJofWdbZMBAXytJSw3gAKTTn/mqOLrlLAmTZGUwzk6+T2USHHpAh+bbimQnnPTUHcVMngx1c+yAGfCoJ3VSww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 adultscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: mMZUJBDvHYfMZPsuDnJdGC0vq6T1RIAO X-Proofpoint-ORIG-GUID: mMZUJBDvHYfMZPsuDnJdGC0vq6T1RIAO X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077253637398218?= X-GMAIL-MSGID: =?utf-8?q?1765077253637398218?= 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 5 17:41:46 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: 90535 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp587912vqo; Fri, 5 May 2023 10:52:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7g9zQCKfELufodmzDoC0g/PyDH3rI7wAUN3zc04bVAG/HDNL7irZ+67aLmUMABOPluB4PR X-Received: by 2002:a17:902:c40a:b0:1ab:1a73:7c7f with SMTP id k10-20020a170902c40a00b001ab1a737c7fmr2845452plk.63.1683309176850; Fri, 05 May 2023 10:52:56 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309176; cv=pass; d=google.com; s=arc-20160816; b=G+N+e4+NzjdmfEPgenDNTHtxtREB9i9J0a1ofsje/QGcfISbwD9ZFDrImiQJ1xGnm7 fvukJ7kol4R1T1MEy+p0P/AtgJpUWMnERyImlsiymzakNwhUKx4q1UzweipHht0a7xfh FEWXr7R5nRz2+X6PDAlo3k7CwgXacJ+H2z8RlRFn4dLywMejEnjR0rzNzKDwIoOY6kTw sdk5+DdYnL5sHgDo6Enff5YXJju/AGzlXDigLqH/+eUhMu/1GoKzggPinWYEQ7l1vK0n fuHvbelsoXILxs/Rd3EQSfTHCDMULnuTlvKb4Km7AXvtphbV2ambSWT13dJvSumF32Af 46KQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=NuHwCjXvI30g9aIE3crnZm6Jgpwz65O34xwD74RRmY0=; b=U7GLAo6z3osTX6YcKaLxt3KuGM6qG0xOOEHHrjJLR1S6XL6Cle/Pw/UTQihKDhhrhM kqoOjpWj2IOMi+H5wHIlA4pdUGZCVXgX6pCkQ5gYUYHlRCTrw46LmvDfw7Xlvaipk7cJ 8FXYWATsosssIAWnOTfJWbgnd90WoK4cUjC0m6bREAI+wX3nZF0LI81omfYY2MR1BO0I PsmnYlvO+k9XVUe3mQCk6OzCxEHI5+q7wwH8GmhtiRpG2q6nkK0Mw0IAnW0rMTgkvmV7 4bqwT8GZWiw3VjGocOnsvgs0QmiHTTfdDxNQ74vGKFAeMm4Ql5LMq31ic5MVc0eq7A5C d9Hg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=DeYKuHFx; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=px1QxLzI; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b6-20020a170902bd4600b001a508a2506dsi1991241plx.486.2023.05.05.10.52.43; Fri, 05 May 2023 10:52:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=DeYKuHFx; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=px1QxLzI; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233120AbjEERrW (ORCPT + 99 others); Fri, 5 May 2023 13:47:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44306 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233117AbjEERrS (ORCPT ); Fri, 5 May 2023 13:47:18 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A78F31E986 for ; Fri, 5 May 2023 10:46:33 -0700 (PDT) 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 345HhLXI028060; Fri, 5 May 2023 17:44: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=NuHwCjXvI30g9aIE3crnZm6Jgpwz65O34xwD74RRmY0=; b=DeYKuHFxfWwGKXYBNq49kiafpDJw5aseeYODeRVAKCeopBZrfJnbSAFAOi1HxFJ2L8uZ I+XpWetrNhGZHM5ALJxX/ExXCnOzZTtFd9NUuZbt7Cogmvp4sfahebSbolaSraqTZg9L TyDZs5uHXvsTv5xa2c8+mxx6rmBLYj19zp5QZUOZ47UWRd5Bap1+IsRAdYIB6ZAXaJSs /nzutXHyuEeOtd6hh6ncunip6seJS30CGNlR+vrxizeZTM7GcfdEX7bNrX2IstH4Yh8m 9XQs52kJtQHfuglTCuP0RU3UbOwdj5rh+ofkx7Vn+ogi5XGkiiC1Zrkq2nGaxx5cevbn Rg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t145jd3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:28 +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 345HcUfm040467; Fri, 5 May 2023 17:44:27 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 3q8spa74bw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hZVzvCqkEB/07IKAmAhqBFhXRx84JnNq3r6HtMkU+8l/tgl/LvtdikZblxj34fwy38UgwA93m5ENWTykYHdVWVpTU7duzjk5TncjDOZIKvNbCdaPffcSryVzXcslg3LKLbRAkh6Hzi/sovf6tGeV1ZKwSYujVGpqhqPViQQKkcYOdR9WdSpPGgB5UtjiD06JQDureZWEhbyVScXuGFzBBJmmc/ncL5J3I0i5ZEyODix+RPHlOdjCURRfVwb7eqUv3MkI5ixUEKaZGDsg1X3x5SGC400xEua1kNToM38h06TIG8e/0qDhnKzv+M+H7Am8dY9LXtqY2LZvXVDs5yZJPQ== 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=NuHwCjXvI30g9aIE3crnZm6Jgpwz65O34xwD74RRmY0=; b=Cmok8GzGYZ1moaifGre0gyrUSwH+8btF8sXjncqbClp0wK0ACMO2fOlHPdmGBnNq49wQsS5f+ADkFkamtQ5b/v7v0FDfAf/lyuHURDWl0D09cQcDJ9smuw2Do9UQ0+99+aZKFqWWpCuMOTVgiZ7EMSQ3Dnn4gsOPBWFo8kvJSOgnGQhDZaoV8eU/00sE9dBSD4xYep4yYZqfLVWhkrZLrr3bX0poUQHLw6T2iIUDt8xdhKpHaRRPv+eVqyMpBv1mEZy0e3dCvAA5SStoE3L0ZmIyJ1gba9iFaF8rXfw7pSTIk9bny9DUnt3TUaYkCc5WjnB7qFC/DCc+78xOaorLPA== 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=NuHwCjXvI30g9aIE3crnZm6Jgpwz65O34xwD74RRmY0=; b=px1QxLzIdzvpqWkhkLjGEidJy2xnIISmtQcKDa8fXPr8/FKNJ2Q7dHyXxUkvNyEs/AbTPR2PV3F5DdYuLd/O8S5AjyNgCPIb+k0yCZ2/C19KTnS2expfQMmhHUhr90ebQe7Feahb1VAky2MSaC7PI9Zs7Kfjs8ElrMkVe7MDvOI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:25 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:25 +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 v2 18/36] mm: Update vma_iter_store() to use MAS_WARN_ON() Date: Fri, 5 May 2023 13:41:46 -0400 Message-Id: <20230505174204.2665599-19-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0042.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: e0b6c3a5-82f9-454d-beec-08db4d905e30 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G8rtO0jO3/RpZyXLp+3jlyeJgG7BffmoUI+qVvlCiWfn7Fh1dtUHPYFLp9olvCxPNCttT1l7p41kdOHYoHWboWCTv6miMZ8Tz0uWh5EgfCvXF+u8mh0Mti/6JMD/6vimWJa1pv+Ba6U+3iUdyW/eRm7A9fBC9Mtrc/LNv/E7iyaE0m1hbto7mghaEV8sllQ4+f1fjarRwLnkW0Zh2qN3+PDrZNSwHreXHxsFRcpvAiSoUyE3uWRajXL4RwkarlXZwKcZBpWfQHDPcsI1KYqTNCvhEvspBMz/YTvFpF3D0aSzYWqgJKbwCa7rwlD6pF6fgN7H6rl375w2tgAxGqfgHO2nFfmlkshcYJ2A8zwACv07oXeX6iiYn7HRaANmzbotn4xCUJMSGtYbGGMYwEFm40UPfApV+rfJpsLXBy4Co+VhGSC3OKJs+WZUTi3i4mn6naP3TXp4YLdSpOXdgW7BzCD69z/IsEBkQ1C1QZRJvughMLw0y4d7lT7cXX05ZrAHdFUKzxYkeNv/vNVlkLaO8DTfkDdcnpDXnIDtcqYMHbYGJ4vZGIxMEQQeHtNipQmK 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(54906003)(36756003)(86362001)(83380400001)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(15650500001)(41300700001)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VjvI3exbFocWp9BQ+jNQbnwtCyJgwAsk+2mYFBUfPb1hs11rLutSdclD/TWaBuuajlX9axD+QuYLbXLUQIP1mD6GGWL5o6JHKCryUDDYCmZ1vT2Eug5CEd40nrMC+CD/9FnvuKfKV3PtReT9CNJljBdBK12WCzrgB1twkIz6MDWSUdpmKOGf7g8wq6cCPaQNFSLQ7SnEf5g6XmYO4AayvqYzcwiwLMG4hWL7LyzAAMk0GhWBTy+Z4IBs+eAC0NU5dfVyNV6plRf0kMw9Gf15NvOiVBJSAi5TVNdRUmRk/+NNAqNNHryj3i3xM1xgpbOW2GTDiTLG0sRnD5TRnpgXOrCvuMtAJ3pirvtqcqugSyjMokKCu0TCnCbo9vgIVPTzCfgkhfWeJ6zxd7XYDDyhzk5uYsTAZ7Zk6a9sJfejhOYPGPZm4on8UHDpJxWGMXg/aQZnrouy0i38WEasSMuT3DsNDzdKN40/B/R0DVfozbsKfgc5ie1Kg5TrPMAI9zbw7XT3Q4msRkW2Xg47efpxKG186VwI9s7hXugbm+WAbIg82trXblWCx67Z7kYxKEMsbT8a0jq2Y6Sn5iFdZvxZ2CG8eNDLptCLVOuPZmGzoHG3Gk38sVJGK2CM8fP606UAlKnef04oxz+9YJ+veNUPZ+3KGgMZIAXWanEmdVYT9OCPcdbIWEjr34rvZI+nU+7O/Lel6h6LIB7sa98kZXASTMRRDrJYq6LTb8ARzb1ZUShm9H3LNkUQ0JV2aP/uUD6PslaWVRBPIUnTeHw0G/ARcjT6f8a3oq8ToSSSJ09lYtzZ2kX9A1IrbJwYSrkTjDsrx4kE74IHBfxpEuGkRXYEm8eLj88+kxQdpx6jAIX7WAlEpjJotxk+tQsE4d9EYOnvX19283KVu1QQoLCVyl/V4fQX0qQOWUgj5YlvMK3xhZ2zoxG8v4DCbDbmRa/DNBZF0ALdjJWFN/OzHxk2Z/R/+D2vdokMM3/DHwPRTQqM0MgP2i4fXOgNa/sq+jxMfbxnh6DmpcC1kx4SjHxumrnecysvDZehGtXnwRp4eStFhAuE5ohwKQY0kNocyEe7Bx9feSHiK5Vo18xjV1UycjdbqhOqFo63CJcgWcheHQtlOFwmGgSU9JTJMA+iZ2v5A8T7Ibi7Fcz4fTWwypO3X94eg5WJlsQSjpLUy/OhSob1tbiXhrWYJhmF+BwJk4VokMDDIGE2ZFJf3lkJXcfiOWPL5qo/Oq4XRakgol5gNqCI37hekHT/CrtzGFHsTIntbHPnGBj3+oMTWoQQoG/kytKZdbI6IoAMxlDMcxhTJHT0cOueOGMirAa3mCF8jJ+tifP00Jxs/6NR4fwsAo1rEAMwW4Pr4ZTA0cr1+/+bxKaIL9s1ftk9vawqLoELGb7UA+aFk91MBjUFJrI61eiN+7sDMQBh/BtMDCqJ9+fsLAADAq2fB1q5zCUMV/fCWuVDE6HzPBW6K1xBoj+T/QCAVKwLPB15l+dm/HW16ZBeEOLLaV4MBSrrPl3XQXsED4uh3tiRJp4PFypWBvEoRagSuxhV4isIUX1CcaZaaOR5Ammctr2bIF1GFljOXrecF+WZJVxsEQsyprRoIwJVA9qv433XdA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0Bqx/PExt6CeimaIHC4OyySQLJLnhiOfCuGvpKsnBOrsT52Ln7UDnXvL1eLwIDh0Ca1cFSgyx9Fab81pYaWIWXWFwH8kphfcISMPQ3//5Dvoeqy+8nSOv465WsY5y/tHMMQgSlC88yKsfDxQmYXqH6wqvnUIUl9iIGP/21MUGYZSFi2LoiBXRtyo85e2Svut7OfhtSa64sNQSTCRrjQSlGGyVW+Iv+9m35IaAAn65HM/HlM0nyEfFrZjaFBC9rOqR1Wo5OhAhrHyyBv28AB+Tui95cmsfRifM+Vwqigts3u9kSXknepulkREYdrFesNqPVq4XFY0vSpyn6AmhSo3eM1qdA/SDV9LbHwe0oQAX59lGETuvsBZb8kzdnBuPBbzyOv6lgGQ/NbtB4SxY0zETpcmibkP2BHVJTXjKmxb+3vwMOPHVfZpyz2KbKmvziOp8m/69aM6Y5gJD/DTFDbGTDtRSAvojLmf9BCyeFzQ/xWG8gY/BXduPSk0sBHIAWrqk1YobiA7B3HbszUhFOyU2a9Fp8/Gz10+ZP2WErvTz54HoTSgpn5PSn8o+gvfAbDv+uLytIVjqNkpUOKwJc/ZVzjdTd/y3MDAbTHnk3tlkvUalieHsXtzLyZTiIurKPJY6okaN/MqAZRf6wd+iB5PexulcaLQX50MQi2jMx5rbkAbkY1/Hs2soPZ6rEX6TcK1OnMNmgvy3bduUMMWY/pRmQLCa5VKrcf4pD7qtTCh+SmWB3cUmh3NJlm/7fCbc4TMntjJL/kehx3vywftQaGeE+ZhsqeHHY/SAVqd1PLPHQwUrqc/aPt7w0EbCagjl1PHPpwbUtoMd/U7Rj0Uo4nJDJ4ClrwDTpOFMPreaIjP6GEGQCGjipRBtqrDLT7zRXJ/yQzMDR15E6csEJ1F+MVCGtdQJ9lg5LnhfLYHqVbFeFE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0b6c3a5-82f9-454d-beec-08db4d905e30 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:25.5238 (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: 2GD9rHRB++dw+p/+70OvpC7WF2dXX+8Rd+SmtdweOVaPv0n+sd6SYzIgHkJs7hlrinrGOleoUodVnqxyMTMGMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 phishscore=0 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: doIPoNrvrcjG4tLVKVDZwZsGvm7XjGIN X-Proofpoint-ORIG-GUID: doIPoNrvrcjG4tLVKVDZwZsGvm7XjGIN X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077602912958306?= X-GMAIL-MSGID: =?utf-8?q?1765077602912958306?= 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. Cc: Sergey Senozhatsky Signed-off-by: Liam R. Howlett Reviewed-by: Sergey Senozhatsky --- mm/internal.h | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 8d1a8bd001247..6112108322461 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1047,18 +1047,23 @@ 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 of 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\n" + "store of vma %lx-%lx\n" + "into 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 5 17:41:47 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: 90537 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588021vqo; Fri, 5 May 2023 10:53:10 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6px+6ya4mAE01TlprR+DNcWMgSNTk18/Ptwfrpc9r5M3q6YdqTpAeFX+zkS7EK8HpoF/yT X-Received: by 2002:a05:6a00:2e05:b0:63e:6b8a:7975 with SMTP id fc5-20020a056a002e0500b0063e6b8a7975mr3118014pfb.9.1683309190527; Fri, 05 May 2023 10:53:10 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309190; cv=pass; d=google.com; s=arc-20160816; b=jrjuXqTqgNQJGB2Ot8O2bRpnq4JFF1o8o6ydFNY4/hqm9D0R2pzF/RUwlk2rHi2wzq 36CnetP1kHZDZxQ5mjfdrLCDjBR4EF2DQtm+dSeIAerGLfvt79RgGPJSq3d7tFq2goyT se6P6Fwemrb6gz1TWlZRBrgw8xCB4EmPYXi6UrbhaNaH1f8zZxofUItErz6EuK22TsRA pDDAyzEL3ftsZHMyB9Fr/DAHk6GEl2tVIFS3O4IGiOwV3SfmBo2gURi6Z5d2+WMIUCpJ cRudKupLSeqD9u/TdkP4J6tyKNnA/xd/P+JPw7Q046TDIMfavBxHil94zkNwNkAF/cOF w1VA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=PW5eX7vH7gHjRX0FYYq80BUyJ8oQwCendk+71PT1yxg=; b=U+4emqZSH6oyMFxCQdBngXu+LazLlZyEisXd+KY5+EToWmU0azai22uZxFtbTkpmMb 2eU/b/qBcsmMlHnUU1jp591NWW0qViQhHhC7iuVNtdWR0StF5Vdbg317Y7Q58+yFpe08 TVm31qj4td98BI9QNwk0JD5q7LL7qcNhGoT5fX36tnUPx516ZSnGTqgdQQT8+PSI5rGD deh/3MpzlG49eiHHc923NRwCEO2xOT5i4gdo9fZ045A8CwvZx5cFGCCyiU+x+RYIfEUW kQBuaDeEAjjUZqwZI3ljh359rt+KrlXoE3hPtbYnmtANTOZzf1OUprr3VDk4kEIg1wrd aHqA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=0wGPXV46; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=i8d1BGMK; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a2-20020aa79702000000b0063d408c714bsi2492613pfg.175.2023.05.05.10.52.57; Fri, 05 May 2023 10:53:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=0wGPXV46; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=i8d1BGMK; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232900AbjEERqT (ORCPT + 99 others); Fri, 5 May 2023 13:46:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43222 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233037AbjEERqG (ORCPT ); Fri, 5 May 2023 13:46:06 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F9D91E998 for ; Fri, 5 May 2023 10:45:12 -0700 (PDT) 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 345HhIUa002987; Fri, 5 May 2023 17:44: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=PW5eX7vH7gHjRX0FYYq80BUyJ8oQwCendk+71PT1yxg=; b=0wGPXV46MMZAe8zFEhDbhSevT1r/C484nC6IaZKoBhpxE4kRHomeisCA2qaaL25csyQb zW7JZXbKMWThNuZ6spNp4ccoDZeYhISEH3bwWlQN3SO6An62507+eV9vNeKjZS+TLmYX Jk6W2rCACOHLhK5cUsMjMDe+U0NYdVda2Fm0zxeA36minYqa/sbD6rHIYl2yG5R8Wa/+ eceZr2zXdqWhI/2Az37VgXIwFVnrrcWK5OfmRJUVwbHkw7VslBvpoX/1E2S5PrBschCD VgqSBxJPjlorYd1MLZvsBtkLz+1unBcwoSgvJa0FpEN5GMjONrGXoEvPc9DgAuJ72o9K 0w== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qburgdkd8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:31 +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 345HfGjC027240; Fri, 5 May 2023 17:44:30 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 3q8spgf01c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c8/TzMMSmm1RRmkYCc0d/Jd77Bm6th9D3QNDK6hAt9ailJ/zMTvff/IbcfGe1xIGv8TP6vv2Iu9JmESkEwEHcPnAkCJZax1ZgGXbMOUmMDk5Nr1rNDP+iJjyNOdbjKPcZZm2qamEOwq4w8u0jJTOU25hLd4oTgqYCAMncztMwwOKKSEbcjR8CLYgDKAYizeFQMm7+SdDlVit1WeydeXlaxuRnbNNf+ZcK2PCJ6PX4/mA835oZXlrI7+Q3pc0t3CL7D+zZURBJp9uSvaDNjAJYlpEfYdfjG/igwmCFgOJ6dIpqPEtUYFPHdTIjX2lULUbGh2aOFcSb3d54K45zNr1Fw== 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=LFIdIxsFEy68e2BC/6xhGdrveYLCuL85feByPpSLENkSdtUT0hzMg+SnuICjaHMwscAdjjTSudu6KMQQohFuChoN3TdqWp0jDFY6AvSloqoSF+RzCES6/466qL/aT9Sxdu2O6k4DHd1hJVFJZ1tWvUcLcESGN8pcfhEYt0IFHmRNFyO3/ZqNPL6L6exowHDRDGncJ2IvlKLf6xW+Ag4S4N0W6FjjUcqtVzccOGVbR1ConLZ3vgLCQiQ5TmfhtGAl3nSI9grXOvIMxOeMVkwOiogHQHRp70FwwSmcbhfWBckAftpBlQD06gRsufFxlTqufrDYixL+vE4dc670gHgVnQ== 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=i8d1BGMKGrhq/A7D/sN7cAVqo0cbySZwUPhYYqZH9kJoOnEF505MM+BJdMi5+jy4uK/SKMIVwHKvcGOUyCKl+SXwpd2MPefu0JoB0aGfhPsEvN5Y+rGNJMctSslgVLnVbgdGrDp85wkxNN0W0EUqj9D+ZTWbKtDjEyaiiNlhBoU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BL3PR10MB6089.namprd10.prod.outlook.com (2603:10b6:208:3b5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:27 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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 v2 19/36] maple_tree: Add __init and __exit to test module Date: Fri, 5 May 2023 13:41:47 -0400 Message-Id: <20230505174204.2665599-20-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0025.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::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_|BL3PR10MB6089:EE_ X-MS-Office365-Filtering-Correlation-Id: 52865adb-e4b8-4db3-349e-08db4d905f70 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kIqw+XVXS9Q3WFu5CUPsJjzSOkDjwx/pNuoJRRG/gtXLGvVjIrE1PDTOivWIBvy/NQSU2pQ45DyYTp2lMYduacjjJLpat1F+qqnkqm8DE+UgH8w8N+Ry4Ivod8MW5dBRCiZAyuEtU4+ogJsaXGPSwd8QLUepaugeQmRk6eQrns6SEiNRdEs02GTjfwKD3Da/ftq6QM6pP2CbjVWwN7ZdIk2AF//ZNY6nNemeuw93OLiAKZOApXZcK+y5NR7wv/mif1wA1qD3HBIi3RVIy3hhZAynky1JXztPBqxILCFT1Thn7DrFMSXFq3R1Zru+SllxXwv0THoXgt4IvXgFovP6wNlrI78EfdKuFYkKXwVmgGMsJl5YijbUx47ifOFXoFpL0AF83szfx2EvS+dzcd+b7XgsrKbxrPUZQwiOpEpUalFGYrbpeVY+ZWvtm5dCzQNr6x9yQKp+Y87X8YZNR4LfSubE0Bd86PHfkF8iBCK/lzF3nEH4fI7uXWc10CARn/fxEUlw/ZghiEQl7vxmwIOvfE94ad/igwoYp8oF3OUDSYZAEd2ra44ygoI38Eck7bS/ 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)(346002)(366004)(39860400002)(376002)(136003)(451199021)(66476007)(6916009)(4326008)(66946007)(66556008)(6666004)(478600001)(6486002)(316002)(36756003)(86362001)(40140700001)(83380400001)(107886003)(2616005)(6506007)(1076003)(26005)(6512007)(8936002)(5660300002)(8676002)(2906002)(41300700001)(30864003)(186003)(38100700002)(579004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lJkO0d4AdAwTCf7ROBkKSq/+9vA+Rd8CirGdtTTD/7HdA8DcVRSZWVIK3UEuG90vb4fFNHoySaIZMGj7FvyanjA0hCk3H3I+oT/ulpxM+wgc4mqTvBPKaPb4NSZm9H9XcX0kVaWr+9/9EPR8L8BbJEEp23pexhOExdLk87CzJQIpssC3ZADKMacfbRMD8PZuWvXe5bKsxl/OCM+YALzTsfITQ6MZDvPrHsnUFI8DJ+KkeReUWnh2esVIYtW5VMrRktyoqC3iU2Ox/WXVBjYTq+xWywRtngceP0phdirz2Fbri7MiZnvsxAWjuzKJOU0xaKmydarTV64CVMJ6Z1b/k9U0h1i5XSnKQjLnRmUVHAlXhgDnpf8O0uKOlCr6EuiM5vq3pj07Eab6AjEetuQPCOqiqeBNHaQZ4thXF962R37g5mH/RwTouffAf48H4ZjV+xNEAiRLNHWW1L30ZdkUR7vsU9ZNl4MRjr9sBqbafN00tRSJzJFI/HILqrTV8RCWivHUKFygNDKnM2pLmO9WkmMIj6cQGqFQ3GCVizTXxw5Xn+RSAkES+xG46dn0/z3BfcV/P31W7beQB1xu0vzXAHDPUDn5qhz0PgsLaHZZNEK+R4TWleVVtrkr8mWV1QJegGBBNPlNm9NRXaKUUxrnWsSUtEIdYu9+o+pCF9Cc7X65UAUATIUEfNl1a/v38yKdMNzb+TGr3R8FeiYFq86ukSpT2bxqvtnPrOeNGVvutdJqDOj6PDBKv6EHUzMDO/9oklFW3qHygXGJJTojXu+nojN0tGpia0dObtWqKlO0x+nVbZExnF4ON+zjVSIkZdLRxhqojy/edrodlt3sWs2/ekaB6LWVL8205o1725opTSZB2HmvUF42qIFkg1cOmCJO0nSiNoOgoJfskb/rBfhYn87JiUa7etTQEFzI2G+3IRaF3Zh1/crwTFu/FTk90+uosvSJk42Mu3DET3fkCCGxxEJ6KegmC3OwHLBcQdLoqFDpfsAMslQ6CankHDXwzO0MJ8OB4un87UxUaO1Rm+ZGSZLxHEUFhDcRks8Ur+DjupKGRgOh5n4KUoeCzDCyHf7XPmlTnEHD6TeF2BwvnExQnPvEiw2h2TUkDkcrlJiw/7RV3OB4s4IR4ry23U1BSEzQeZerD6RFnvNyatOlpuG7w/MfotV/ECsXuU0MYsTa1hFwJbN50NSEWG+gBNZOJBySLGv4yeW4MVwkp0Nyss22dXkdWewkcUWbzm2vl05ImeWzOW32GC1PbAqwT1sseQtyTi5KT2/YCUQXkXOSVq2JRVkCditA4RDErjJb7TjqOpHPO/bOmS4B/oHx2PDSKo5ExaMWISonQGtbka3PBIaiEuHZ2DrXyRaIvdSvfC3UDgaVpHTx89KXs2V82comD3evp3snh6pp6vftmYm2ESUlm3HJmRiQw3ivIW++YYZS7ZVtJijhYqjaZD3J4OAElBcQ6QKgUzWwApwCfI5Q/BTVBSzvsmJonyXEDVAPpezdO6z6y7YUwuzWo4JmdxvIkEFvGbmjJVWNSJA6+9j5Fik6ZxSFKbcjaY9j2KXLmMGPDYTJmpxM7d7syZ9i6Ak5ydvE4Ji43jP5HJpElVRArwe71w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Qg1vCLQlSv9OZEDuyCmRAMlR1YmyU+HJ4HoH63/RpSz47+NKWRV4P8TmiKDcfYltEEUJkMOweC+ag+WSAtMMNZ4Qb4/i2zqcbreiWl0klI5wYZ/+oqg87/Jypy1s/B9m/mRiKCSV0kAypfrWvmjfVaIXLQ52c88lhQHZZG6PPZW+hq/nldqQUZTyOeYT7kUlYngOcSrq7qLDYZ9taYmIYgMvx9HLgZlQUemOhHBh2CDQFlHWiIlNFL5j9Ir7Lllch8JPyZMvWmVTXdeTomWq9PRLthLVucYY1xEm9RS6WpEzCrdOmxpkqqkVJGOkwPAvONEnT9TXEkU+T+PNgJjmY2Ld43+sUzdB9U+FMjH4YJJrlPWn2gPld9dAGUabGTrc6UGfigkTRetglzjBBPjIuK8WiwHVcKA+l0+LvffBhti4GSn8CKcsZAgg0/tC3P0s4xOy7DMURzmpfjTLizTi4e4IW+bqtUVcqVYrZEC4OV5lWCSa86wNljSVtMUdCLvGAJ5Br6WWnvggGhdiddA0KUhXUdjTIpmfAKMD9NTLDLhYMiH5xPYGVpiIt2KWlrrkP/1G8WPZ+zYt0E6gd/Fy4/oNLSlAJrg+N7a2i8IFIjyCaa/NFDzraVlYZGihKT9STVhG+U60MitjKil+O67L2P9G5sgAry4EXH0JJUv4rRudPoYz6w5EgTSBQp0Dn5s5jHq+eZNDH/AudJnrk4ykzwR5NgvNf0+I+TaDVsklz8SYbBv7jUwfZdwYUMPdptLMnU6isyuGrmisbpfTEZxO6kQsE+zLRcaER1lOKDudxscnWw4k2vigsHXXajEe8eOEQBTzo29HcyeoAj8Z9KYJoHhTO2HB3GhdjLpE0WHMQrurVyXEVy81mFp81pdaArpa6vKujJvjKOKoE9i2/4btPQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52865adb-e4b8-4db3-349e-08db4d905f70 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:27.6423 (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: ScagpqOdwyQRGrD5S8844fBcIQrt4I5oGW+UXi0hXL1156ieS6tAj1JZ32UPpzp301rYbCAKxVShh1RQlpGW9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6089 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: bmhKVOKXy0vVrmTLxUlQsIUAQmxxJRrs X-Proofpoint-ORIG-GUID: bmhKVOKXy0vVrmTLxUlQsIUAQmxxJRrs X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077617859255335?= X-GMAIL-MSGID: =?utf-8?q?1765077617859255335?= 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 5 17:41:48 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: 90565 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp635216vqo; Fri, 5 May 2023 12:13:40 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4Xm6kLgHkH5UE0BsqPFftTN3HLGacsdYgQe7Y0TKEJQ0nUnvVqbyrHwKO4xmpp+WxIV8gn X-Received: by 2002:a17:902:7290:b0:1a9:7c6d:abb with SMTP id d16-20020a170902729000b001a97c6d0abbmr2178327pll.29.1683314019550; Fri, 05 May 2023 12:13:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683314019; cv=pass; d=google.com; s=arc-20160816; b=tteH51TQGzJ7HluLttMSqsk1bkvnR8+gm+X01EpKe5YJKd/AAYHLHNIN9zEZRJ6NC6 G+5ZYr4wcQF43nwHHug5nJT63HMevOBp373DS9wEW2piD1KDj0feblT4uF6EMRrvaVOU 4orjYDxZHKGAV6tlpaB0WFacubiJ6ave3iu8+1nk+WBcezWMLeBzq6HyEd6cPhrkwl7w K4iRPk/SLPpxk8CkjhaqgjBtw65Wri0O0WMhOOFO7N+OZ6NL1gXxqChnqoWUELHGk9EY KufSjsBxGn8ZoT9/ezjBokvhVAqfAOwkwVf3EldHPmKbCDV6duXxRo9o9gAM8YvOxuqT tUog== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=1Q7wqf4ijKrU09WVtajX7KD9NtJGhpTDiMYTNaVpvaY=; b=O7fkqwI2/FTyWlJabarTM7TeOqYhvAKGDqZjiemydGvhalRhpYuV6aIVnveNDIBZ9Y Lg8gD08ven1omtW6Jyz2eOVGfYeUJHrws4chpqKPRi+xiayMzrKK3GerO0BTHKk2f4um EVt6ic/KgyPoPjom9Fp4PqogfoWDPctTm2cMOxahOFIj/40B2jX55qWs/K6651Arca4d UB7kGv0EBhxDhXqu3FOmxp+NLJd36L+j7q5kySBtLs+OhcoBGem+zi2oHZwOmSqLBmF9 hSvttxpM9vlz8V/nFWRfhClp7ZRvLVTehrPwmvbiJl32dXIwZFV7gTciHPds8jppjYXF 0zXA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ZkWmL4wW; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=QQBL5Lmu; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c17-20020a170902d49100b001ac4162592esi1823463plg.363.2023.05.05.12.13.25; Fri, 05 May 2023 12:13:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ZkWmL4wW; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=QQBL5Lmu; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233416AbjEES7I (ORCPT + 99 others); Fri, 5 May 2023 14:59:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36404 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232285AbjEES7F (ORCPT ); Fri, 5 May 2023 14:59:05 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7DBA51AEED for ; Fri, 5 May 2023 11:59:04 -0700 (PDT) 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 345HhL6u014783; Fri, 5 May 2023 17:44: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=1Q7wqf4ijKrU09WVtajX7KD9NtJGhpTDiMYTNaVpvaY=; b=ZkWmL4wWmD1i7I6lhnFOTr8+xoRB1WVwIIwnLOoMVrs0Z0NtVn8N2aE4m+IMzR13ZvqJ cyqxOtHFGXT6Hm1hj/Ln7e/rFVJaytMFFDkWDZrNDOdQqZWxQu1giHS2TOUw1Nz7Mo47 jeBlYervV8t88QBvdWBs+jbVN0Dr271VqcELDE8RRn1X7a8YVN9oEEf5hUV8joHjBYZB Xam0oSrO+9RdnPus3iD1wO0PjIlmY0mg2WpJpFpBjmwXXzgMF8ICksP9I4RaBNp4DtQU p8iDmlqXH6plzrm7YHLqIDrtma6J1Gnkzr3TsFhdQ313Vfx+2lsfev5fivpv6kNijTEc BA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8sneddyq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:33 +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 345G9u6o010002; Fri, 5 May 2023 17:44:32 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2103.outbound.protection.outlook.com [104.47.58.103]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spankac-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FyTF1/gOqHkT2quxxq47PPWSTy77nAKv15OSAwU3IlMAe4KhYEwiaIlSNFt29OkTuR0AvS9Eziuf4Dx0V6QinF9AfeIDAHklaGgEEgBTSoSF/+1JSzO/bZSgkXHiL1iBs0k1kTSGypq2CCfnrAoVqbVatBu9+IfWymIOB8wlV0snJW13oRS8HGRt5nYljH0PstdxrJaqWGHpylffpu4epBSsr9Kygg3cZqCzXg+sJB34lUTvnaKnT3pTiUgy1Gwsc+l5n5R6qdfrgOvuhk0BBFQbqXkDjADJRBas0SmIoqYfgO522JWIbLYvJ3tNEP1E+eGfIkx2QauJHyOsd24IjQ== 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=hdOhPQRvcGKAF/KRqwOuiv2n+yvbVMcjNj68qdVStrPVavJ9mFXI5Qgkwpj/bHj7P+pkDUqsn+uiaB6gXM5rNyYPkB+Ui8eDGdXalbLeeIwKcVVn7pldnFe4+ZrLVdjoYUDccJIFR2l0T8IHNS4u6rViuX2XFhdVQjLDBrOUQM5BmqeQZmIzQ/zI+Tqwm6bvWFdwZc6v4LfJzxuSVxfHmD0jEufmEdoN3ODvK+elHs4qixBPDnZ56g2rOoxAd1nflfpSR9KfWVmjKQrryRZ4KHn1Yo3QblPoO44KLi8mbBqIb1Ylnkp6+ti9qAuckIhMLWjmIYJgYnJEMHYqGYEc9w== 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=QQBL5Lmu4psYV3qeY3794QqZ6mAgKzgPDMfPGypxkbz9QxgCNn8/yrMETGNIcUNKgpMWzJAVNhKSqDvcYyLgLLqV+5lCaPdJm8kSG/8SrtpPaG3DZWFzh+BGEmhEkIYbFL5egb4eKEccanII6iAlgKM+8+sO4EH0s8/aLD9eKw0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:30 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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 v2 20/36] maple_tree: Remove unnecessary check from mas_destroy() Date: Fri, 5 May 2023 13:41:48 -0400 Message-Id: <20230505174204.2665599-21-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1PR01CA0052.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:2e::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d311488-954c-43b0-95de-08db4d9060bb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ALOyuUfn8+roYuDqNx4Y0Aec/UzSNNV6PtCJuIhUBS9Ks3+Y0VNTG7tWwO05JPoK3mr7HMiWUOkZl/mqZDTv4jUKd36i4AQLqbFR0MrG0gkd9i7dWyLcqAeswW6GATxQAg6/uz13rGoHZnzyA1FQK5YCwbPh/QBSYflN+CulhOEUHTyc3FvzdIvgZo2OuX9QQQbj3MgCMM+Vv6T5Ss/l8lYgj6w6bs97qvNdWa38L7iwiMTBxUhP8CB4MQ5b/fj/0iVu95IsHUcleB646GEGbsZTP1vYhzTBYv3gG8XF6uI1nqYg1vW0DncasQoXCOBWd/gmKIX4jG/CEQnkZ9HAutdvPKTJHnV2vq61uIKGE+5QgbyQYcOS9rHiufBAkvS1qvNR7nKEZbIBH6S+PjtvhY53QujmoLODFLovjakZJ37TdxqhpB1WLB1ZVAkeOela2aROfuCMN3erzxHwseFWPGlDQmNt/AykITl7+eWfjj0+mF/3nwQYasnIhz83uzULnbQ7eFyQgcHZsZ8/LfHFHcza/xS4939L7FnutlJhKULY+/PQ1yedPbKLBUo9kHNd 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(54906003)(316002)(478600001)(6666004)(6486002)(2906002)(4744005)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ho1ZpQVFkR0Z1pgAVCuZ3BCUpWygbhpCZGaEFXaRDnW80QrUDnHOJl3hEVvigSZFQZS8ilW5HZJhElfaXExadbh28dSYV1/hfDD0J+3kQRc4BQKC8yBQW9ptW1cOuWJbYtar+DtoRkUXaQTXOZgKYw4sDtMFwSI8fsqzlxaEkK4CWJ1/dMPcCbX6sZAiCyUwwQFQFoeoZUiqMrHuOFV3rJr8r1Zvq130oCyqg+QXA3ZJNKFY+YNVNZMwyHZMQ84+W9u5/6IuAevl2EzK/SwJO/+/s3PQEyQHLiVfeLoEg4rZE/LZ2S+KpT+Hc0CHJGuCi8Xb6WMlRYWKXyJQv9Jy8OsUDK005OncyUQS6MkHF+qgAXLbf4uRDPwv4otEuZgMO2ig/1Iam9SqNL1dORJRXAkmNoeQA3ghK7VGDsrYQKGJ2MYryBmuoswFbzJoPKSPLz0O/VZPygwF+RBsWBlBSPsxasLsl9qGVxeBUPa/rKqIfIhpg2eBMxcpaLkW9DSVMvdrYm//3vKd2OcCrNaw6+NCPYu7To0odliTmot1bsIHij+7S/9ydkuNzbqNXkQZeZUoOFAJp0+cyOFobAXzFaemPBrT2H5/GKNYm7/50vLUn2Ldvyq1w8yNXQJlh3ltz4NjR2tshdq2cyCFO91StatQfYDL+hpQQaxKy6EizAotgP1pJm9BZu8iXG8qXr+ZNfUbfGg7k6RF/JYV2RLqR3tjMhEQvniv7NdCmFHBR93V4UJ46trz5r3iGQUFgEXLnWFoJDjYB+FkkAxtdldzitHARugJzbVGDNCURI+WiyK2bO0twPBBY4rMM16NxoO85F28qp5Ww69+TgXoKBcMbdF077CabKVS0KDGVdB6a4ZpStraYIG2QYGQm+H/uDqKayiC9tiDIZKBGbyuXM76MnSkCiEvVOkketSoG3pjDCVlsSVLLsznOEVt4nBqj+/okr2ig24WKmwnvkXJudwcEsNd591E8wBGG0jP8DnnlSssUqhjzy0+vXrDP0OTossL4Bn7iTzNsR75FCPUMuB09f1zKI/6FbUmw6wcN9h+OXMNPctVfBCjFPseb2r4uqpkFgbZvfT/uR3/oYh4mPD75XUMQWztAJd5W854NYyzGIUyH0PJ70XwJuvRoqmBV9M6a4+V+1cl+gtAF+fc7ijXyiHepuaCXH2ZtoOLJb8C1TZguHd96L2WzYho4yPBoYktLhBNmHDbdQUKAfRSvkwfEqky2rlAqQEOWnoro+ZGYWSrUx54gxxYnCy+flIUmfTJwXL/XhKLK58NgnnUtQtc3Yb51GQmlgo/1BirC+QWmcTWETO9df4UDzCI5Z6wuFzdcADcXC8HIawvqJNbDcFnD07ge32E9PpBsAXDCwCNJbbZW5RkEyOgfEz1h6oYlJvvuYVuP7MEziAHqakTQGI0gZ+DJuE97n7QItyRqltBclIOjYCU4X2gNB/TS7tdEsrBSgFKAbMEffunplaw8l1u8MFI3ZBY+8ZHd3pYAYocjlCVek0AOgLOzZrCnxmTileAzkcZRm8WqYq4mfYg71AkAV7GAZ0atzNqJHuWylbUzZzSs5i0brbzO9mlpA29PkCyc2ZIzgghb017M0PCvZYEcg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 79ydLZ+LhDsktje6fthWjr78SFFOcLvpiYjitBzKgSyOlvirSaMvrCKZm4APL04qby8cHDzd5wW7xauwySFpelUHpT6whYLt8QZ4udWpRuU1VkgBml6cprxUJyJCQil5Dr9dAtMoTcTczRcYpaPyv3FWRHSKNOXlJfBp+trNZysqk1TOFH25p1tIbv1ASMSWNyS6FQah/WZobk95BsvoyaGwhecnMFYA1D3lXohgLOaY1fAL3rPQMMNTNBMcATEcK1/HZoPwaxVi6N6HTxR5ffTf0AH5QLDiBL1iZOPaDa/U6Vs8XPSpJdG0qTUHL3UZ53kP4ju6j3u/1hkg8uSZ6V7oUlrsoqgBwZqA3ojBHLYl2SwquVz5ZQ9ACVjaV4yAVhAaMGRCCz5s+pqwjfVL/JqRc956hLOo9NnZdSNKJusZPhU4/osGRso48Q+oA+5fKiXFa7ybG98bbwu2JpE7pZUQL+dVzupPyz8e03mavt6AkOyeD+wDNvxHyr+xpUJofYqHhwGqyY5UZGe6pnTRlqSr+mRz8PZACl7RRshB/Tsa43MmEQmUPnyLcp/WjEUBTLP2rfTTs0RcNomRfSrWiK2+dZmH/qM0mj2VapM6QKhW0KjSJrNIi7tmFyO34qMnBAgqq8IfHr/arO4CAU3wHluA59anlHvypb1VfMMaSeUsguqCJ6MF8S+QCbltambefg3ngAoxLlEXW9Wwb7U0ezA2PIolFE7h/JrTODfS7eeN5TUKHpY9L64dwnZVu7D+TrU7L+/czi8kXYn4fX2CgKKxupLBouC2KwaPat0wyZG01cG24wzi0jgZgGueokbbvCxy2mfHtlfvl/r0gBAdB6A8909evMIpoE6OpWkeeM6WCobbG3jjxlULzz5ujppKDhEu0wUFpoIf4llUHeicG9VMnoXS1oPuAQAsYfGpsMURRE05bbShkJkuOVIG1g/5 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d311488-954c-43b0-95de-08db4d9060bb X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:29.7589 (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: 9d6KpbDSP0aEGjvdPiVjZKeMTDlL9eVbCPA+rcC3mi9mGM0oeCdltm2cs3mz/JZJG0tApeU6aBUsX1U7RLdewg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: SxBNqOKL3vG2YZUa9cQlUCztbLguSzmX X-Proofpoint-ORIG-GUID: SxBNqOKL3vG2YZUa9cQlUCztbLguSzmX X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765082681568888213?= X-GMAIL-MSGID: =?utf-8?q?1765082681568888213?= 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 5 17:41:49 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: 90560 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp627944vqo; Fri, 5 May 2023 12:02:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5A3pLjspTRTW4do3lu+Vm07XYEa3zr7bS7Pzgt4AkYveZXh8Pp5kfB7M6/xc4EkD3+GLYY X-Received: by 2002:a17:902:e84b:b0:1ab:390:29cc with SMTP id t11-20020a170902e84b00b001ab039029ccmr2583569plg.68.1683313344987; Fri, 05 May 2023 12:02:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683313344; cv=pass; d=google.com; s=arc-20160816; b=IHVEoUCr/dhxQQVFiP6y74A6E8cc84zbV7O48QJTwaXUkfriIXWKNWlGmkOIjCwRi4 l3JS4Qo2dkakAiwNq14311Mh/KsxUl0bBNemJ6LqoGQzqsyDgz2PbVXFLcBk0C9BWS7/ mEXCd5W23A2GgIOSRyjaNdvQS8Zc9FpVnuaRIkDluSzB9HbFkZoqvSkU2/w+6yGRCHx4 6XEV6h7Q6Qb5JcLknK0nYNQ8VBEB2VDxEelXVhRhyOEApdKIE2/M2zG5mxlqj4/otAKm VF2M7mQj0yMH5h6wNEIi1NKX1cBoKa46F3ps6DxLgbPV05yDImfgCGSn8Im4vrgMsxbO dHYQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=3J4pneHi36iA5e8D1W6Sbr1hFtHWPs0j8jYZRtGOe7s=; b=cpH1nefFsfYg0mvi7BpgXqPVfNETPvLDXlzrPLuexuk8hrJ/ynjZgshUt1CYN3UhLm 7p889M6365K0DouDXygQNdTMVTvMtah9WMxxvguYg1/es8ER3JZ+aq4gxXa4yg9YYKxX KyzAxxMPnlUZalzqCqqCU2CT2cy9vv6NiT684o53GzC+ESCELA0URDrEIE0rD62WKY0x otzmDjJIeTWXqDblROAAXSen3U207qSsp5sVApuOAACDHuEAIm6AhVSTq9EdJsWG68qm ayCxnh5JnKy0eRI0X1wFqcInHa+JAJF61KC0MHZnOjWpD9oNl+yZ9M2Pv15V9xR78gqa RC3A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=UlTnh84u; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KOQgVsqE; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d8-20020a170902cec800b0019e57f5a5aesi2383396plg.567.2023.05.05.12.02.07; Fri, 05 May 2023 12:02:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=UlTnh84u; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KOQgVsqE; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232948AbjEESmS (ORCPT + 99 others); Fri, 5 May 2023 14:42:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232549AbjEESmM (ORCPT ); Fri, 5 May 2023 14:42:12 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD2017EF9 for ; Fri, 5 May 2023 11:42:10 -0700 (PDT) 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 345HhKn3002999; Fri, 5 May 2023 17:44: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=3J4pneHi36iA5e8D1W6Sbr1hFtHWPs0j8jYZRtGOe7s=; b=UlTnh84uRBjQOVFW3mKagKHbizZx00GFxhBHt+l2z1t240jj4Utl2i9PJqA11eIbujNO JHSvT7WoNhBHiTMq+daqPxxYs3oYhQptdExaaFKXCupgZAngfpQMrU7xgZqSid5mU8xn OP9t0fSDsiI5KNGPORdAKsw55yKTARaDsXGJ80H10YH1x12nch5WNED1PoZIPTgs/2kS 1SfARZyLedwMHh2mWkKzRsGsFLCtgwW0kqkgbs8rWzxMOgneEd86cTNmhf/O/ANToJJY ruzX1jJGRRedVn/1UCIPE6glswoj6cC7zJDqZ6f5uYOxRotk28wK+sBo81w+iI3KG5dg Uw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qburgdkde-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:35 +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 345H0e5C027533; Fri, 5 May 2023 17:44:34 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spgetkq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QBV83DcrWD8RIwXJbAUMpCdnv/qGABm/4+xYkyveCm6oFe5wkfoR4ExCAF8UN60gpyEw+0UmSIhyPX468tV3jrJTmEIZ7ZD3xqQPxO5sPUdXIS3o6SLGZMBJf6Y1/DwyBYv3qytdMDLFl7+KiUplWZPx6ZGUaUfuZ5Kly4SqRgRCmjAkifx4ptfHWdJLXzFatYLDvr3j1zh9X/1RZIe7JtwIyeebTLJo+eAjRvFFLQzeYv12MkIOWpLBU5/VKa5PmP1gGyIIOhNZhR9Xzau4MgLE12IvMX8jjmCATVhWIdZ+HnsUeC1Ymi8QT13IIpFi0NBo2u9D3Efb9F4rfAv7zw== 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=ZCsCPmlx7ZLSX+m4a1TRPTnukcJZis/68qRtsPx/r46ldRe7g2iMRZOYBDZoA0h+OkGE7z2JHtWc5w6LJKC8bwPsB9VdogAEercgKe4XAkFgwndudb+6gHS4fYquxWEsbVWZwJFzdo9AC677RG/Dii9Mx2g55dOtSLz+0p/sbINOISRu2pjAXn2BpWQWuZu5zpwLdAknCjEwW/rK9xOXtaXzvxJsBX6061WIURYuMNI0hqZmW9UD0lXoQiQdQLdmnfObQlYemZLgz0/0qMWylXBsbi+mKUe0sd7OqUrJki89ZkS9TMyDganjRuuWLk+b01g9yYmPPQ3Vnhejyy25qA== 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=KOQgVsqE2mtu9kjc9Yzv5sMupawSOSOv30FDGcX/oMtXRttwenkNcAk0O4KRsEOzXlSNCkRoNR/P+zsijuzf3rA21a6fB7ECQeLqIytsw4Zz2CRxbJGgXXWPTT7UpyOx3lpxEKXw7mA1ugsbBc0a88yPG5AOuUjv7MWec7fPLDE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:32 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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" , Peng Zhang Subject: [PATCH v2 21/36] maple_tree: mas_start() reset depth on dead node Date: Fri, 5 May 2023 13:41:49 -0400 Message-Id: <20230505174204.2665599-22-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0213.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ad::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cb1f474-2832-4283-f13e-08db4d906263 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cxFfq2MxGmQPBTkApwxoF052atfnoYYT+uvrX5ZiXyERd1yBye3z9SXB9ZiIpWdNUGqp/yB0kOlQUgzPxhywUiyEMv9JzRvyqMc5oI0ruC7k/dkN86t14DKR5So8lfPJ1AW7GiZEz5xXjoBdrd97tdz+Kw/c79j0ewdfLsowta59O6fEZRi4QvGZiscXY+5NwxCJ+zz23p/QBay3kvUtweNiq6WHSAqj9550fInuGYZRH2K+bWP3LaIt5BPVTtwK3APHKYN/AMii5iT/1QrBjCv3spI3MNrBSHc81uz9Q7Fjg5Kp94ucWXpShW/hhJdA3ur7O95GofChx3dnuHhI4ZgaK4ZUyV9zhkaht5OF6z8LTTZUnw02MmRnzFX5W/Va8wJ3w54Ovklh12U4wTL9pFjCM/JbuvleYLEzaDYSAo676NNTKM9AnetyeIv/QgMEDo6czAsv5yZuv1bp6KY65vT/eWC0QgeCT80ufH7vlqmOIz96fbUFTsJ0amMaD6jQRNvnvrRMgmfaP3hFYIbR8/HHJamQe/pK3H7yP3ABZh1f9M17yZ+Cdu48jzqZz+sC 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(54906003)(316002)(478600001)(6666004)(6486002)(2906002)(4744005)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yTaainM5KLzYiNIfrPxhAhCem6Fw/AAgAmwPUezIH0E/4Te8olW0lpOtYQzRxtPO7Cxu/XjsaW6K+6jCzxnoFnxx15rqpUwGZhRJ1CSxoINzLEJaoPUDObqNiTU3JJrMmUccsGyJhi19pPl0a5qnGoVGgEHn81iWB10s3r3kYUL4LTUG2qWd/sI97IsYpsatdl3yrvUd7lWnDznx2RbJlo4jnlqZqagNxltrvWKn3C/MWO8U6wfcPqCY/NxZFBIOpJzuQZblft2WrqBMztodEkWvLh64pFa8loCLdVQGM1DowAYJ63hkIXScFeeL8WMPZjW/J5zHBH8faLMOcfNaAm3J/9sFf7ANGc47St/m8RtJXwit8Gcd5+Xcwa2v3OLPsFNkOyIpbXCgZbLHQiLvvGghfNKdu1pA6a/pCUkhg3xrL5AbtyDib6m+FzGGAlT1x2H47VDPtKIbFOOK4uI4w8rbDp/wZEM+iIHTMTTUIMTZJkx3RcnCzmIRqoCZVM9HlV0O8Ku0WsUyA2rUkMLS/l20uBKV+BA+k5Eb6jy6OEBToV27O4N5CLC5chbld+asjKHB4mEnbgety4Qll1Z83NLjdROFgXDT/V0PWCvZ9J2OeGG+nFVo2ccQaQvrzUy9mzUCBuEiFpYOB33ugsN5Fl6nnpXTBUcB2RqnbcdHTl61X9fK2TDz5QHjpgqxnVH4C4Vuo3aeTkT93whZ7tG1LjyBkfIRuFZ5Q0Tuc6iArtnun4yfQfzDR44pEvf9cuSFNKNEYdFMbC6iv4/J6o2nhbom5O2JQOem3Own8XCD49e6w/hdoW38n2Haeys9LB/146tFFvNnzxFiFnzpc6Xw0cKVr6tsJCNmRamh0EOEZrtboHqW/FM1DZ5MtzensB//D3ANSkmJ5sLIpjxjrPPDkfXCpw0pQ1BMQxWohnMxuXvWnelZmbCEEHT2zEswRlC59wxJuG3eU107spzWVorbDMF/qGZRuBUUJTWi/X0hpHXc2/QX07MA5sdsUa4fk6KtpkUGuzsACZt4RYQ2AN2KW4EwcVmgK/K5zQk0pbjUV2RBN14OWgzJDM/Xa0lo4YfKvqw6sX70gh4pc/Yyxk093wY5MWf+BezvZqyAK6zueE7xi1M6tcMS96Kd9+kMjwAcgiT4KFcChvdrF1iZ4MkGEySpxws4ncZ3ya37/2LDUUn4TFuiDfYREA5vyZzNMdKMv1wQU7BXgGvBgGCG8k5bBlX8L7HhUPzOWAEvWRgbWM8CcjDclyV7J/MXqdlFAAygbRdgRf9NvAYwNMJzsXi79OcaGFO3QZysLIWFlc6oJIPoZOEGzu8/3NhFuqTzD7jVQQqO9/LMtl694O7zI62/eehE9qmEgsLVacnf2dYAcvN/4WxnIeydZcGuAWjIMuFlcb1Ft4V6ZpVWixcgobtGNGav3oFjl5bY5cfkh746NgSBQ0gS1kGn8JeabQBv3ZArUpRl7Zl4KX936axaDuAWsNNY3hLKo46eZMNJaBjOgG4tTFJki+O3Wcd8e+u9q4qI8VnSTrkvSO4OE71N0HHIc7UDdHgYZkjfYloRfwct8RTO/77bF8j7dph/zGISMb9QWKAIXdYydwr3crJGh/RyeA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kZPMehUcCTL+Z8VTbGTalgSjfs3Tn36Q3bKNMAUDWycj6n+osZcB/EYedTCPsrz354ZL6xKh5rfJhsXLUkJtC8vKHlRSABEvQs+VJfn4wU1ZoZeQ6bVhWXCsEOgKhHwsve8kdbVuTMEhpRCqLpmzXNdh4/H44v7BPmYtwJcJA2irsyqPuYA/PgEQbM35en+ZVA7p9YwrTQh11tN9W6r8PF97MyYKys+PvqZIZh656md5cfAgSZ/cMHwz6XFuJkoqL1Rj/uiVZjjwKoyPCqXT6ri63bmbGiw4O8+ewTKmwa+SjAD++bJFdiJkTcnSbHLWtKHuPhj2Af33Cz9Ti7w5iXOuZ4H90Bl9fR2E4Pe0es7g7J5jwDD3mAAB/VrauiZvfavIPPJz/tjXV0/d6gLdIad5Q6Pu7hc7nNvT/rIHs43vu+u+jRgMAR/y2eCTeQjPRPpTEgrkHZjVEsl0qzPUq1YKSv/w61y1Fjr4n3dkzkoARVpkyJ8GUWA8BQIysNwSMWaHFI815sllz30uFpLoXgEs3QwNMozfvHyaYFlj9AO1OxAvWImafQG/zMcwoMVvLyusiLaNg+Zz3EMA24szNB4EGMgcoIZcTDSnvxKhGQ5VGNn+luJqTG24y2WM1vIrGoTzXggd+cbllvkJglM6ZSDhrjS7ZZ4ABxf9MpTyHJywZ8Kq/he21zbVN3d18eLnxlNc5GT4Xr7yQ2WE8r6+btxLAOeCt0ZrSIA8d702aeDTu+Tx1Wl5InBycIQUpiFTqZDbZcY0my2om1Y1co5qvsmm1pBiDvIfZUaUYNjm5hMvBRyWsmdpPXsO5QjxVwUAlWgn4fNIV+aLaScioWCmfRhag3NqJvANiVV5KaimfZuz+Qu5iwQ0P66DRmweXH6qNXL157O8WErwsb5lXYeWlTSzPHvtLqzzcs8ADTsMDITmNtomjIpl3kY1mMcYt2bC X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cb1f474-2832-4283-f13e-08db4d906263 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:32.5477 (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: 7LLzzCBbtGD8d8LITEh2kOrPBgk2EzhC+Zzpsw5K2yeyXbBMEnhDpDA74Cmoca7nTW3DSb4EO+eFxDB2nI5vPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 adultscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: EQPxJIyXCQXaDzm9SAh1VwGjPvijKGRV X-Proofpoint-ORIG-GUID: EQPxJIyXCQXaDzm9SAh1VwGjPvijKGRV X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765081973802704738?= X-GMAIL-MSGID: =?utf-8?q?1765081973802704738?= 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 5 17:41:50 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: 90548 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp589142vqo; Fri, 5 May 2023 10:55:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5FsPz2lADno1N1J55FbN9oaHJPohMDywGIzjQB6YYzgcOJLORvM9mYPAc3zc7ewg8I/Rcx X-Received: by 2002:a17:902:c951:b0:1a9:91a1:57bd with SMTP id i17-20020a170902c95100b001a991a157bdmr2460251pla.34.1683309324942; Fri, 05 May 2023 10:55:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309324; cv=pass; d=google.com; s=arc-20160816; b=V7El3rdvSX1a4vOgfiNJ91fS4i8u+3Pur1EtfS/WVjLCbaPKAzLPS0w2hYD5iQAAOl tdsFybvoRWM49S4w+kar6pCpjeuHq/tdCkp2mRTZm2OrzLTRG1rqJik87dil4oNJuXFa ZgZPGAVEHtQ7VYKX4I3BJ3WSaPC/0MGZFQUFnVf9HDtqiofBkBWrs24mO+RHL+5w1YBJ qvNJx8jgoY2rxjKjchl394s9WRWos3CpexuAt41KwpsTGzkt1Rzne4twY/v/d+d+VxXW YNHAxeGsIGqLYTxsDtHRXGXB/e+VjqXIekPaOT7qUJ0MA98kDsEq3+ApqZPGmA0UmS3y KccQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=MMuXGwzfr8FrXvMOM1JZ8fiBmFIW5agQMabZbUAl1DY=; b=nd4fgXXRHP2DNi7LZWo1X2v/NsIbF9Ob284UUTJptrwFQTj8mW8qijlIIdBPCKCLF/ /a+3tbTljmLu9YjwvVPzr/+ti+d8jAJSQlkS3mt4OtgSxwkoT6P+9S4a1ixNY1+PwJWh /1VyeuqBdDWOxTKXAsaIvRIGiNrBZkY7NLjXDLKE/5k+OjaYy8jNStLY/GL1rmuj3Wat HbifS9QRHffgxOkYCvr190I4TIoln6N3cx2Yr1Ozi2OqttL4Gh+UVtAUqvnti7JdfVy+ C3ggvjp/TZq25GBYh/D2XY/DwHFQ8NXEND8rW4LuSIlReR7asnY4mqnO45XY2cJL18Dl GkMw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b="i/tnCyNt"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=dArBrOQk; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l15-20020a170902f68f00b001a69f1cea63si2310889plg.223.2023.05.05.10.55.11; Fri, 05 May 2023 10:55:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b="i/tnCyNt"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=dArBrOQk; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230492AbjEERqd (ORCPT + 99 others); Fri, 5 May 2023 13:46:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233039AbjEERq1 (ORCPT ); Fri, 5 May 2023 13:46:27 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86BE31AEFE for ; Fri, 5 May 2023 10:45:48 -0700 (PDT) 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 345HhQ8Y031799; Fri, 5 May 2023 17:44:38 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=i/tnCyNtjr4ykPY6+rCds6o5+DOeqfcKE4T+D06KzNbH7LOGLYZ9OIMp6uUJhFXbL7Hf Ynl/fjpH2rIj6RzQWJJn06FjakI45spuI2ZnM37ov1HPpooxf6h5Ca0SrqdfL+k79Gp6 soS4fSoHnKiDQgNxY4okVOnsqJ5JNTU617BExQnPblBAG8WXfjKOILXZznCGkxJxr9Mz Qpn/e0BdZnuZnJUpbyhpo3V6OJFvlVbuhWN5GalhmnoPOrwgxjH3hURsJfbfUdt+AJuA a/AVSUG9P6sSYHOlpYZAGgKHPioEDsFaUYfSMu+5iOl4Wqv2hmfJvVc3mxgdc/rO8kdf jw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8u9d5net-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:38 +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 345G4kiO020786; Fri, 5 May 2023 17:44:37 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2177.outbound.protection.outlook.com [104.47.57.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5fkm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AH+P/Igq3lFtZ0O0GiYnzWCxv3nwfBGKdNaTqWgjx6dRrTQlxauZTXm3wodGHieAG9T6yDexK2mrgzxthfjPcyFVdTbpK9w39Hn1TSQYwej/BFiRWJ6JAyR+tSPhA55TOLXKffyFDuYwfVspqT9bnj7y5tnjeQVmg4245lzKhbXDd/VDFgjg3RLSxMAR1V2ZSwl/z5mKynM7q6CCsq2ku9kzRTSnczv0IjJQEFYOlaczEfsfGD36l/3uFrImGHChyZlcnyu6o17TZa7liEBaYDI34bmUatx+pkIuFW+a9LZ5nwCw81ceHKf2WvSZCZTWchDyo2FI+NAQYktCIkvsTA== 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=C+NQc4a0G59ltkHyvv1g3pzxgW2c4HlgE6ubXun2OwYczTfxlKKL8c6LBfFAUfilz/yvCIfteL3p+mykjk+ygDnkruPtNi48KA0mgoUFcE4+WvM/cSGsIPGCWf7XZOrchkq50QyDRXByp3UGDlb7e1jXZgfjIyLt4Ohb7Co6pR+/3opP0nqDIUuGo3/8nSoaF7LoXoMPz8xXmrl82hHbMOLjjl9MjvGXiLx6sLbn26CR/5EqzI7Khko3jx93sxg+kz6BcYWvxIKYHHyeBm+qUvwQtH+hKBWU//lEQa4jcXYXrMcme0iLxNe3m9R6dO5Hn4TgO/IhDrRAJ+bTL9vutA== 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=dArBrOQklZ56KX+wc5QXNDv4c/vddk8TELJCP1oNMOaWTRGsAROJ3UAFAXuyc0ndsVyNx2lMhXC6y8TzjaAp0sHPd27gXZ+dAATcdNnXc3y2ZXN+Smh4m8sAG4s/1c53/TrQ9/8Agxk+A8JA9b0SNo+xFe2F36RXiB6ZW9Oys/M= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:35 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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 v2 22/36] mm/mmap: Change do_vmi_align_munmap() for maple tree iterator changes Date: Fri, 5 May 2023 13:41:50 -0400 Message-Id: <20230505174204.2665599-23-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0005.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d70230a-d0c1-4412-d9d4-08db4d9063d7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XGtp06hLuIOkKsm+bxPDffCBzIVPWEjHaJmrnJLDorJ6B6CYvhvQlkrmtFNMVNiwELr7SQsmFsjGsW09e6o1KP4MauwWvUVGcZOq9hMbER1iywfyCASUHO7zhZwSA2iSZc6QFIrrwG5mN/BJhVBolwgSUdJdBV27kJb5ZQAYk6+0Qri3+Z/aE1RCf6hvrws29U1SJR5/7yB7IFMKz9iYvWazcxkLC12LY0nQRUyOgbtbL3iiPKnr3x4W/O3C5518vjdeg1Sq4z692C89/RvGqZnAXQeOi5sRKH2KxlranZAKg+l7XdGPKAtPyiu//MA/jrEMi/QUl4Q9ZI4/jJcGQA9cjhtAV9TLqRJ217g42IrxchwpXjFylFliFkBUmeGXnNcQsccX2dQrbyYe6Nz4NdVBtFGSA8HWmS85/CmTxnl75gzpoCKOpwMaHEJBYYNi/42NpKWT0jdvyqoC6+Hp6jvTLefuBv1+mcRfGtp0jQoALZZsz4qix+Mm/OyvyTQpiVFh2ktMxpETJnk7E7nI63/GhAleyHT2kkvHw0l4F1ijS1B/MZshcaQTVc3LgH4j 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6666004)(6486002)(107886003)(2906002)(4744005)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jjnhliEqt5Z95QlRJfFNcuqn1frnleBM9Umv24xq95sF3qYa2uS2L3arYBFB9T7XeY9GOLPgyifH8dpO2Jr5KuYL6sP3cfcxX6FAhUGt7/9ThzQRG1HJQemOxQNShO6jfGJ02j5+w8752qMiavVog9KiEkYC1LIPSZOIgxOKMXlK/9L6rMixmBeI1ImHHGEbTUS7L8IVyi2tcq6ZERNou1DbQ8aLbIzcOTUHsdJftX8wkWkPoM+1vKZwMBL5u3UsRzCALDsjdE4F2c7piSgyP1AfS0OoLG9U+AAyFA4vzoM9uiP0EQpQP3laXPfPDvtlGr991nccoQ5jHyOVuWYnjX1WFZQtEgYKy6VjTv+hTxEIzDf6draLfzkNJo9Kw8y4TJcDt7XFMnewQMFDVDOhqVbIlMNFNoumhlO3Z01aifrsdhnXeXj0a+WI2aKli5B16/IgnrO1YPyK6XZg9D1q3DNUO6cWkI9FGDscbqywfagOqy68t7yQ6w6qyxmlapUUMMSusEATRg4K5F+wKyGABPOs5ZLnEbVcuub7efCvy/jQvWj3oQTopB7tGEr1ukfnQ1VtZgv+Zzmn/CjEs3KExQcwLKYUg8Xho1MOenmSwOG/EhGZ6Q2FXz0AL73SP3F6/vQncauwe3MI0vMUVrFBjSgQO5abPOnRO6t0b4xlGqD7yXbVEuNUlvVTjTzEiLXj16mNDjImhe9OFW0fae3QZf2R5CKn+PzCGsswiK/vD5SOjy7QczRV4w4KRkQu35JmfwVGKbXWah6kifzRWJ/K1lvgmCyB0f/UtdBW1MZYuFi8Hi33tlBPf1/rGExm/q+oooFBx1JBFiYTM/OMOM9Cbw8VtR40YKa8Ljr5gMUds6s0ED+aCm6bgWAsrQM44EqTKKTCk5mGm7txlYCSm9930ZOVMnbZAGUJMBghi8GfsJnBSHVLsTVZHUuKtXRM9KkBe076BCQG29XD5+E8QC3WlaxpBziA87baD8oq0zKSSwGMjbqS1qEnCJ70fwXyw83SYX+IxCwIqMCyq4E7OyUM15AqBCX22KpOjmhet4arW/tzgWMeXNZajCtZLNSQCTzLZrcxbRl7nZxrplkXLif8q+OKMqZqdul29EFLjSUaCchliyUaArMNMIN+r8xzAiez7flOmApQslieXaNA4t9KT7EFEBMrF7X5YCTrMyC6zuPuS6T6blvjdkuKOJ9JcgbaLKmoB4/9Iqf4lVTBqvsjp8iNlnZso9y1o6KxI82uELj2ouLmpo2c1oFsqTzWm5+MlTzHfpBZ/cUAVicMtkVi2cgXoIZjn4ECHpGgKrsEz8RNx9eawhJcdBtAgI0Zn64TsK/xtN5GOG8xX2pQUzO8kpSkxSBHB0kJ6iw+BNFyNgZkld+Yu9juidfIaQJ9qP4IpinXE5bBgBm/U+aT+030oemPhxO8wnfkPqGoBJH2GwKm2LZlxvS/kKIvGZixZNy8ph8UE16OD4dyYzUxC7AbGVXF+y6kuTPhwtw0z4v09kPshixRl1Ogcfh+s6cfq2QOppOB+aLRdltmAGr3Vn7btVaglIIwYA0DzLm3pGlc2B60IPK0DEe2DQkeiwKMu5dBf0xZOJZaQTwQkRzF2xNsQg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: C/IE80HXFEShCCZ2K5Gaa2bVmDVKJ45b8i+CupovesCMQlpQzQQmWGFUx1xxcdXwNDU8ZT4Zb+uU1L3o3VlisRH8f4hU9l6JfF0Av1+oVxIMTIPPW3rZxwzA8fEvnXEeGZcdJaPwBS8x2kf6roQWi0cel2XMeYMNVvGGDjWsiwGJBmeJ4A3UV3rQn6q8LOkjJFkalTnCYtX+UKM7Zel2fP74rLCrwNeifP6mf5Gr+jaEJ6GGZEJOQ1JYTDATr20bTnhbogUfmfqofOPu9/rYnDIhlHpPtVNcF0sFKhJ4lzSj5gMeYp/zyMoiOESwIjhdDDRqrsA/ZWr1MPEqqdaHTUhqffdk4+/RVolHZBNSlrq5FGYwBZxjLG4EShMRyT3bWK4O2LfRmdN6w1X778B7AZhApljcSKPPB5DrHJOGzfSnP6kC3Jj0+NLh9dbSHQvraZ1WMCdhRhErWEZKxkwyBPPi9SrNMF0tVqI4GXZ6OGVblTeQDV1EYClfkqftN+q8ggrYVH7I/T7QesJp8kiRorAJ+QdF1D9nK9kF1S6MQILHzjM0HaRiM2PxyQvCa2g99xzmpwimQsjYXfEe+0dHVuD/cEBU2MzHWdjxOlg4kRxAx8akGqagcvay2iKknvIhowotc/gwme2GXzBzP1S6X/1pfxTeMELZoA+QnQAIH6/k5kgLVP1etxGYcLLptCrulfuNAH0e6P1HOX966VBXSQNCMIhXjqVLBU+9alIjH/za1iJ3jKZ6gcxf4S/aekgzv2Mkjs7UX2olEk4k1h1ZWM6LgTT+RuF2lbDRUpV0hGW1q2rPBN6BlXGxmxQhmCIwLcV70zFXmGqG9zEaG8yFCbK5LXpM1VOa3rhTIn2QHCcgPaOBbf9tzI3am4hqPUIqyqorRZ0V9MA/CjRYVr26BQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d70230a-d0c1-4412-d9d4-08db4d9063d7 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:35.0017 (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: iEFMpF6pbkTzZGl0ku2ojV7+cqXcKKt1u5qloQwjrJ2XTTtV/4Oh5Ao0CAGzhdHS+MoSBlm6c/+F/qjL1vc2FQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: OjPz1oIn4gmgVkkXeLOlFTGQDdWdKwJA X-Proofpoint-ORIG-GUID: OjPz1oIn4gmgVkkXeLOlFTGQDdWdKwJA X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077758788316151?= X-GMAIL-MSGID: =?utf-8?q?1765077758788316151?= 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 5 17:41:51 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: 90570 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp648448vqo; Fri, 5 May 2023 12:39:19 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5DH79m24xburFmEbT6qOAIjiZixj3+eYJBmLoNJkmFbR1rr/6fABlUC1C1KNzapjxrI/pB X-Received: by 2002:a05:6a20:e683:b0:f3:a3b7:ae37 with SMTP id mz3-20020a056a20e68300b000f3a3b7ae37mr2730816pzb.29.1683315558707; Fri, 05 May 2023 12:39:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683315558; cv=pass; d=google.com; s=arc-20160816; b=WjY/Kl6nWJSB8sNjrYy1p1YaXiqfdpS5Vi7pLhSBP3agC3rE7JL5TGfo8hGfnxa8K0 jrDTd7mtTB+aw7eXdLDiy7IisV3Mx3m98UAx6ko2T6P+22vGQF58FR7+HYvWDnE+rKnM Cc8IK2ltvzul8CpVq+zLU1FCR+cE5vPH2nowZBz67EfrTzp2QC1M2F4TkX8qomuxzBBu Tc6vn+JhdE6ZXK3RNhG6CUCO6FSiRbUny/ZPF1vi2LUTjXGoUZMaSvXWrr0gepceEzss NnYuhq1dHvyZjPIb0HnsmYJf8HXHbFK9iHrHhX18P/b9x26zutlMsSSXiRrzN/dZzGbL WuFA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=3YIlBAFzfGCQ5M2VHn0qgaBT5Vs2S2TInPApujgd1e4=; b=YN0vgduASx3SGAvAdO+NHrTFdVeVgwLohpLdqZiqPC4OBRj13SYS/R0VebtGe1QldW A2K+A8tlk4aymfEkCgYNThIe72dDgmMaLjTiHD3UZ4Tv4Ht71pkXMkguMpTU7MsZn13E M2fgE99nBwNzpcJT9IGiQpaPsMUDSjJjnjnXHPcOcHbay8vlK8CmCQ7tZS1461vihc4A rMLeW8C1Y2wdbkmZ1DoqgM6dJPI6UCeTjpQxmRc87wSCpKVJ2722UfBQAxcKlJyyGLvT uMZtiG7eY3l/h866R0Yoepg6touNp+6kuhezVZhWeWwyCvusjP9yg29H1+/9LjdFgL4S mOhg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=WXjlu9uM; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TqiSiAQg; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y187-20020a638ac4000000b0050747f3cd06si2752579pgd.638.2023.05.05.12.39.01; Fri, 05 May 2023 12:39:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=WXjlu9uM; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TqiSiAQg; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233394AbjEETZq (ORCPT + 99 others); Fri, 5 May 2023 15:25:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53364 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232782AbjEETZo (ORCPT ); Fri, 5 May 2023 15:25:44 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9F202D7C for ; Fri, 5 May 2023 12:25:43 -0700 (PDT) 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 345HhDHo020188; Fri, 5 May 2023 17:44:40 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=WXjlu9uMeSOSmUzAG4GK6/MNdm3aXPZZCfpRu9OXpMK+OY6zvkQd5LQNE6zkIWKq3bAs 04DYkwC6NXxgYECn9SCnT2HxcU9LgBDl+tUz0+lodL/rmJfpACrG6CpFErbWvbwyyeol QheSTnVCdsu04PRWGCmsDKil90EkV83/Lzm3+7q+LO3gTcIWI5A2E56x20ybeyOUJJv5 X7J2Wrmw7L5ybkzrdG/bQacR/xfMyh7D5FXRu3KEE3a5W1u2n30vmfr1EcqrpUwRyyQb oRchG5vf5EfQYy6w6rwwGl01/tgZBcMhnUhckOMkhRcX/GmTAaCnFETG7W2bKmgIcMN5 IA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8usv5cte-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:40 +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 345He9fm024982; Fri, 5 May 2023 17:44:39 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spacjj5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=emcPb/U5l7Q3PL0DUjrZXpSSUgqd/E+oP8k6gsQMrnuUDGNIURB1s4XtjPsIKS7KLYILWtGloghBhz3T8RGe9dsxp0zgrxdRt9aOLZ67bBpaGiBSeWUq6fybPojltxEv3ro4qz+29o+WCT2moPE9+WLOu1QUp8UnyRo5C1SS24v6JbMDoPTET44Xjuw4Cea7oE7WiV//hz/92gq5BFg2TbaU2bPUs32tQohCNUW8LJFUPt0uWW4PaY+hvJYUvSHhwTwHLl3iYzAOibEsRUZBhMwhFS1nTsepTbPzmX5zXqmF19WDWwYnOUYAFfb7CQg3ndmZgL79tp3CocF8yoroRg== 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=g/thMbfBZPBvdSd4UKsqoLRk3nwuTWxxEsq40PY/r3qRhd3bC2ts5sQQ6GeNzNWoKkjkhACpMtSJGNx8fFbib48o1ZIyc3NtGn4HWsIflXR4SLYIzgCyT8reMjzNJiPqwijH6laVzMknMRTWmthM4vA/wM/+05iK02+n4buIOnqIIWSD+j2gql6mKKC1i5r78l81fg5Dxs4wVJ/b8LWda/7ZcYtKmoDc7lhFzMtqIp6ucoET0iXe0ykpLGeQHq7UV2JOgZVHo7X7/sz1s8fDmZFPnUzL6xUWmN/x2jEqMI69f4AEUMczKUvl5DFx8xcD5pxTBSDRQiIFL881gj1Oug== 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=TqiSiAQgQ2DBOJk5yLxssWZN5uBLyqtM2ZHw/2AZcUSKOm+Y4CCy0c/XnUDWgjp9FjncsqGzuo8NqTT8TZwOzSlZVdX34M/JPEAza0Ba/tei8dMLpHT3suKe4S7WCCc7trJtWbu3jHP+twWnVsFATULQKRHwd+bpxuJCOmCxHhA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:37 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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" Subject: [PATCH v2 23/36] maple_tree: Try harder to keep active node after mas_next() Date: Fri, 5 May 2023 13:41:51 -0400 Message-Id: <20230505174204.2665599-24-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0028.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::34) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 799597b9-a160-4fcb-2491-08db4d90654e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gDLo46c0cajU9fskw7mJm4Eo2vRITcLK4QNiRU1EiAwt19rOuxMcJZdJIYNPiGFGMYMBeLJRHDCnZfwl6BbtND6iI1m1b7cLyJfrsj9YL1XiN1tB6S6gu9WldgDOabai2vvJ8M+zg+vH3k0y8iLBZfKc3Bihl+AfgVXKGSpd5F9NlEqUVtz1RVVKqEszp3kZjO3Zq2QnSqMkikkm/UfPRZguAsF6UlpCpxz/EmVTJUZg1CM0D6yP0W7YLSHRiBZs1Ofou1kt5du1WKWjBgbEhbYHR80HwpcqgRgxuYsb2a/cGp22Ty2uxgfnfKp1ONEK1msXsIZIdbEDMIuWUK4S39KC6/G55Cb6iO3URpbeLf79ENQjvluf7wUhFYmdN1vsrDZW5fLTmtMwcrs6534wuNmFRXqk4vTkGXXs/EVa7lBeRbTKXPiz5vGGvTzRwGVulbA7uKXUKLupIFLeFYynHaXcyZ+tKQH802r9deifyW+j7ZexQdrYTkuS71P9rZJHuvmPvVSfklH+1VnxPQaszfGT9Ouy0/9ciM+vmsnox8qDq9CW27eDRf/7UVyuquoLC12RjhQoNSFYN07B6YERU9X/5tjO4VAERcoRCj+4G3Bz7X2CQfrmlRvYTifFhv2msBTC0w/r0WVENonpIfGi+A== 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6666004)(6486002)(107886003)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002)(34023003)(148693002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WYZJfQdVIN0maX1ErVWb/X+T0r/ju8raQwAmLpdfQBvV188OhcmCCenCgCx5hjdxBdSJ0+35L9jQKLMc4uhX9/pOFu84BnMB0jwsZ7Xxkw859KYqNlDTeVEe/LWyjA7mQC6MXBke+JMx0omdbkTbXmVHVeLZFg83b7hg0xqe8hKE2IW2Uggb+oIEVQT/MXwH/uqQS3Jaedz0NgAyDSoiW2QorzWVJ90EljwJ75supxhcVjWOjL0y6YDr7gGyhwFgTtAUfMxDuo6CmVOAfqU1Yt2sCNToaQ13wh8gAPmvUoFI7pTqQrH5fg2QeUx8Ropz768dx+TbU2GaTdjkpLE/4j5zhv23yl+L5Px1RwGhxxbT4jEuzc/OkgOLKLhVOLLC6Nem/4BiZyZrSn06nKwYiWHHHgtzdkciSMOgs3ok7t2+LLCD/0Evu0RbzSg9Q90rPPRHaQG7TzxjI4ch3/LenirXQJyoaXeDWH5In9lZgLHz9zeldkwz2LGVfIRWbQKrj3gCecbGNFAZ90J1D6ObILHkn6FEdyiJ2u883Fl+iuXoGKrZXuqwI3QaSDFMNK4jEY1y/AbKtgNffrFqJDrjKm6BGBLtruYf4k12qAv0wK+ROhzxvzPhogI9ru974BBdqXnfinUi2WwdbOeXuLp8MjwNn7yExB+cLbb204S426TH/H7ExK6/EMIgZDz3UAIjK4Fh6EJOYhrVGnKwYzdTNmIu48NNYi1JrlBIqhS5H7ukvGChJ8yts74hcoXkV5FivEavzX0YYoiZtvUPEtvniq7SJVMgm3IwIVH/vREBuxW2VtM+p6Vub64U0D6yLGKQmAcE93EFljBOQs698v+mTvnF9WWcVUMAsofy3K4zQVXCZuvqz3MAJTpNx8Z+eA19dtKe0LjdH7H7hRfe97enEt+6HTGfuVnfpGiBQBy4JLOaY2vdG+xJDmtwXAPydmTC5sdzNLr1dwOsAPDIMHXXSSbDGI5LBkf/ImhTMYLUng2VgheFyhN5i2hfhnG+gW10PPtDHkw2a46ekfLOVmUsMgHHHgGmyjptuKahpAswUOx3uTwK8W/b8OZ13UAVnJX2hgYkdKU+PwR0ZcDKH21EzYOmwXfHEVER4cyKT441vntpk3C0k6zOkad3nAF+J5LHKvU4YZhwn4wolAXgNd6WHU+zz4Ayj+uI6ZhZhR+wbpkSQUw3kc8d/VEGUhvv/72/G9pQeOrWYq5amPPYVNxQlT8pHFYJ6dkfPVBvY2fpLwFT+ogc3OMcI5z7lSn9ah555wvGAnYwMDsR3scG6jWQBMGui0SRs/3Nbx0LJWlgp+XTPAc6LTjw35QlJIge2e42vSxaJwR7yCWzUsY4QOBThdiACuDOPmBE9jN+eafiupj/9EU36ZHQikY7KFDppA2pa+TNyz0CvashN3nK1h2mdT5mj7dgiz4u3Stz9SM/wZooRmvJ95ZwaQ5hjSXwA680qTUEJlLREFH4T8BJ+fga6ZngdMBMEIjTnnbXn4Q+hKVAmazUmPNkOUcjmsbe1uWi6n5PesMytGukWcouEWGtT8eXtrTP/CsNuSYX45RZ2Bejxf06dRllrxuEgBDKNkvZ1xKEuKKAAFC+R1ebiCI/2A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5aTcAQAoDhbhgTlpXb+LbWAeZAeI0g3VsVy8KhIT0xcz6+q1mAhxMEK6SbYUPu5UC8Ag+u7nLhM9MLJO0NYLFlpuXe1RudQUtW8YWJLu5b0Fs0AdRTGEISiYyOorkKW1jbG2SWcTuEdCuk0Xk7dBr5kM6o1L6Bv7wLbIW/OTYQmtnPkA2THigDREcK0KYaSg80vMeOd4J9/Ia4eF6uSTXiQ/TjwJ8ri06cVBR1qvocz8uGe6U8sOH+FZVeyLBOxDrTIl//TJZFXoG1oJWNUNJsfBLcEVwMLkv8ogx6UILzDb1h3mOSs3LBXULnzoZT5t/rr2SNkXNWHpEBlD+YPqyLsGTD8gvX9Orf9YYsi/+wm1GRBVHuO9L+6SHCCeHu8i6rzDjMjQW6CAKFGBgm36MmUq+GloJQIFlo0kTuMKT4cMyLUWQIrxY7UBOiJeqxo8rYifCir0i3FMBaUj1ltjA5oLdbAMsd97DByTWvyJglmUZZFHybS5Mc0F4eVKuALiyZgpK0tkq7W/GhrmxCebuGb51UclniZUAzpid5LO1DtfHRM34x8WbaP2ZjWFkWL+pYPxtuH75eeF/3k4Z8v6NZfulhHfEiJxwKTEm5B9t9i5EkyjC0TACuV91wULk83VvL8KOSxWGnGgNSWSfKfjfqwOmU9YFBptyTDLWtYxEvytzhfEcR7w2c8FL90hV/LIpmSfELRMYnIIBQS5elOea9UtWXjVuFE3R9NNiEH2rwITDwwaOsRa2HCusFz9ExFGzNqRhAO2ss1S6Y3GgUohrE2D6LvcqPb196BRwVxy9TPY4thlmGp5nY76+5hjvVdFQTW6QOM/tPujuEpwwEmh0fy6J//RFgc+Q8zsB3gn5BMwAVxKgVHsb6FryZLFpkLp2CmoJrQsbYU1KUPqWl54Bw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 799597b9-a160-4fcb-2491-08db4d90654e X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:37.4267 (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: PFVV3opXPcfXRIjx4hslrAPziwPQkvzZh+pRuFEWAE676HgIK7053Hn44zA/inKmwG8Hxe6Jc/on8yXeU5X1+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-ORIG-GUID: Pycvzo22Uy-PVKVCspYzE5pAH9MIW_pJ X-Proofpoint-GUID: Pycvzo22Uy-PVKVCspYzE5pAH9MIW_pJ X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765084295170461878?= X-GMAIL-MSGID: =?utf-8?q?1765084295170461878?= 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 5 17:41:52 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: 90544 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588652vqo; Fri, 5 May 2023 10:54:27 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ47EA/e4pI+ne+WnX33OKVHWykBmSDQcMBdy6Iw8NwQ7Sg6Q143/eMNBuZe/mCIrkvZCO7x X-Received: by 2002:a17:902:da8a:b0:1ab:1a5f:e061 with SMTP id j10-20020a170902da8a00b001ab1a5fe061mr3028233plx.6.1683309267279; Fri, 05 May 2023 10:54:27 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309267; cv=pass; d=google.com; s=arc-20160816; b=dZqWO7PZAXn6vct9AaYeh8RULBNF7apKuzu2S2dcxfkfMMsLi08SWOgFsNy5Fgtrvs 6BjiUdWMPHf6Zm34zMDafadIEEzxOM9OIZo0uhnHKWP+fjIvigbYM8VhEGZqavYuLRoH LcGlHRyuE7f4F5ucz4csLzhuMUwR0eAYPmm1ujGA1aaXdYX8zoW91eRAUWX/c4ffngXS 3umQMOC/a05T8EBudN8Ot2za1efrRbAWTtGSF2AEX+z9AtXPJEm8BPGEPqz9sW+zV6FW hoUnajmvRd3Mef1+HtOvUHoHchbihK/nZ+P+6zaBzPDKKoyAwqaOv7hUfkZ7P74lgWOh 9Zfw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=NfmDzbq7UFamW91OO64jYrReNxQsH1mzQQLxfjxVg/Q=; b=ELFLe+yBfymMhblzvXN59K2kzwKcvra2JlnCTNVmErlOlW24pv/9cu1xaO7QafKD6F 7wYbmRGeviuVpZZT6nVeVbPQ4q1/BLfbWJhj1tZ6cMOAM0iivyPJV/im7wQ9Ja6XW5Tu aK1iEtIDOLX1YuKX+EhIeYYJEWesnqN2GrTdTTVxpkBaG8Gahm5GLJ5MhfbyXw0NTgll omFpLkQNFJErsQhUYk+ZFzAvDt429eYniOa2XxVyEcT24TuoJpNLLHHJe559NNhc7stG nTKVFqS80iG16AutD7YhHS9EMNEQjZu6HpOH5J5ZnafAf+j2err7AQMzk07+1HbZFp9Z DjcA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ZP8+ZhSJ; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Xg6L1qf+; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s21-20020a170902b19500b001ab18790b0fsi2121226plr.95.2023.05.05.10.54.14; Fri, 05 May 2023 10:54:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ZP8+ZhSJ; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Xg6L1qf+; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232366AbjEERqr (ORCPT + 99 others); Fri, 5 May 2023 13:46:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232009AbjEERqn (ORCPT ); Fri, 5 May 2023 13:46:43 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4FB781C0D7 for ; Fri, 5 May 2023 10:46:01 -0700 (PDT) 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 345HhOIF028094; Fri, 5 May 2023 17:44:44 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=ZP8+ZhSJAXbTJdciB+8oJSVgUccLls70CKMsCcOwOsxgAY3QyKSNDAjEcZ6eTYyC2LyS ctLnWxVunVm0GZ4WbkBrKU3eD21czEimCXdKDDkWNQqNqaqvBBh/qDAvr9Cn4PZGweU2 Z1mxZ6LL5M2HGGVwpUOvVkexoT4XQC3//u4bSRPQCjitRvoOE5q43cP1L9gfIBVmRFcr 5CuGDIC/2P/5u+FqjHAB97sl8kT/gZZmojEXdOc1TMYvtMl2rh9Rqq/Tge3pUDOjYQLZ qWfYUA2R82tFrkSUgEravMH7UGndj6hIVUZIpzjQs1uuUqZLlY9kMVHQ1U8WQQQa1fFM 1A== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t145jdg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:44 +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 345He9fo024982; Fri, 5 May 2023 17:44:43 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2171.outbound.protection.outlook.com [104.47.57.171]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spacjk1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aLNKJgCTcHin+uAAMeAyagptF3y8OP+ZMz6rNlr91HauKRZHtDB8F8IdeWPwoCFUEu4bcefBOhCmZqMWiBb9UVAt00zbNKf8sPngkySC76EB9JOvByDR4sIhAkKMFgPwIotGGhvDaqPvCxW6KCO6Aeo/FS0WUgIltTmxrjWhBBrg51qaGIdGwesoj2e7JnQGOWSg2oSoNfISG/JnsM8urau4iT77s/BiQ8oFQWwyO7o90/5ULVFsT2r6TDr0Iw0XsqRtgEZIdlRoPQf8POZ232L5GQ+FOYPBUlAGjSlp9ll8U+giNsqKlUppQPdIsuJWTmEo7afjtr8yrZB1W7OP+A== 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=DmckErDdwWXhvyo+ZC2o/RGlKDxyp7yOzd7O5f/EorXyHjmt+fedV7rex0aCwYaTV3q+ovH2DOvaQJTrR6lgbvtg2Qr+t0U9lzxFf/L4iAhtbGWuep/OTQSgNwaCFfK0BHUaeiVUmPA251rR0QLa0ViA5I+5HEOikg4ffSktlBXBw08Oz2xsKAuW59dAFLJkPJ5JdHAKpzWlEzqiFbxwD9mK+H+noHzT1T4ATss8ikKy4lJESDU/lNyDSna8vIq9NGxB8fp3wFFqBcpNMEu9+VAUi3/L+OMoh/U3nPMasExCZF559UvBcRv1tyCMlselH9/g/oerVQTHVTVV9KqjOg== 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=Xg6L1qf+tAA2pC7xfDExii3mxlVixd2II//7ApiDYlOIk4As4vidkhgYIJj6VgzPnmOHL3NlelflBoQyg93J1S/MXmkGfYWYRVA9tGjW7qPA4usghinCVLXVvujpWjNQDJWAbDFAuXjk3vbbGY+UysmuDz3SY1UBh5YZtoBFOtU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:39 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:39 +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 v2 24/36] maple_tree: Try harder to keep active node with mas_prev() Date: Fri, 5 May 2023 13:41:52 -0400 Message-Id: <20230505174204.2665599-25-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0204.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ad::12) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: e98f8859-a07e-4207-fc95-08db4d90668f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AllDO3Cf6kwbtN/LGAbo5DFcbXYwpLuUXxNaohMvXWyFhdQ7P0g4zl6O9Cw3d5Q4CxT7OZLkuyd5p3xh6YBO2LS8sl5dxszlg0BcRfEGFKBvsSing8YXvsndGC2/XQoX1cZVQC5vTK684Xqz55eHG9TBZv46kgaytHvobbLxGq5y1n5kTZToH11Go+ttDOX3ZV0n2FNLb+5B6rca0l5e+lLQ19lMY1S1ptStbLhyIYMimpS3Z9WWbHyqCvzokHBGHiY+/tX//lEK1FGnGjdTpqXK+VVUinfPzq+NoVMKk4moXQvDldULQ7oFfldA0bQo0NgcKtoxbXJqT05TFKNqW5UAWuZbXuTRNj67k2kFAikOw419Udzk3LE5+jiD+rf599mn/1YC00Il2Vi78q5jbme2GFtLn2SLMwvIyHclM64Gt3nFfEsQs9aXUM8C2Was/sR9JpWSIYRDvZOKKP/DkndkgpUcDa5JIuGggsH25aKFQgmABCUIrlnvACyY4disT7uibkzxjICEzuIQ2IDenv8fO9TVm58Jkjm70VvNq5bKgdFmZt8wecmD8wWyU/45J3lirMxxcrCOnJfLAz9AuciuaALowEVjWZqZqiqSwI3fr0BpTOAnf+toTg5Z5ikvI8Bf8PPUiMIkKU/4w0ZHLQ== 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6666004)(6486002)(107886003)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002)(34023003)(148693002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yK7d1lFEF9R14JuPmOJrDxPAhvd4RFmtDC8p5NuzTOHuaSPb2w9mxPAkyVWKbJhPMtkMavarFr9QHJOzWFwc7sm8W1TJJxXKo/P2qNyanP/EEJQf8Wuv0ajF2mudcXxzF1b+wYFtBbDOQSmz4WU+ifj9CWR1/1N1FKjjjbQAZ2/G0gUpnfSSiBl6IXLXwrIMuGbH79JCbMB5KwYT+9cfeCGVXunspEqe4Cjc/yAVEl1av+h7mzcMrN4ULrYTZJ3QzKrJQs6qlGUwweOPEyzMEjJqG3NzF8wmBcy3Do+0j9hlTmgenS3RHLrjlEEbHH4W4Lrvfnd9Ah2MJidimdY4ghkGuZzJnU1sVj6X/zn2h5+a92wBLG39RYqEmBtz83R0t4M5OnIkhzQ405cjRA4DS8aCEJUuIpNNgJsgcovmlteCOFdoUuo4uMOLHlPWxkDsGwWGSbtEt0xzv+rnN53HJyVD/5BqxjKsFGIF9LWvbUz+/viHj+GrEqjD3yeviY7uv4CWHaE8adQKzG/jRXST5tNLDEXnLzrTJOIWKL5qUcR40ArmbjQMi+3EkW3khSCYnG68NaWscH32G0P3Uqwxh4ZEIt8hU2vEQ6yen1mGgwIX1+cAD7g1fFTZFTsNr13PPPbaTVZlU6aZ15QtkDteamgc4NJPpESPU/4gGuGJZs3wkiAAXw8iIY5z28/hQ8XkfsS5jjkFNyUqz3MYwDIVGyTJx2+hISrBO2OWGgEu07irT08Le8JUq8lS2Cu5JkK5SsK4ld/o5Lums+KQbIjRJ7Ze8qF0BKgLgLO2UNA5VA7SwFNhPYGJy/M2XQBV/VHOAr7QAkZHHZ6UbvvcdFrZU/DdfO3Ow0GrsVmc8Yhf/bero/LlIJeX6Wzx/SHsFGnS534Wt+cv35F0HrF0WYke0iYxBPDATNjHVBcAHRFAx8/gBt3HyEdWVs5gQQ2KKfd+asDdTjdvnCibjzdtPkvzyvd9/QgeThvzb6Czde9WttRLBK1zr+6N+uOZsDoAmAlY7/m065KbLQjYTeZJ0aHhOPj0OPg4cioy2sBRLc3p4LsnMBeVSLktNothBzFJzym1qi3KTYxtj23yjRzO6NAawxwWA7TLdeK33EF1skgBqct25ey8+zWQDITMArz1J5zCfgNf0hg56Hkn5SsgVnRtJp7wLcL8oUhqotRAxzZdbesCjY0XKn0+ijhvel8oLk043vDpNQQXRlTcUyeMWfjuRHAYUAe3D4osyvPFoLTplkmYxaE3HFzca944zmYRCvkLUJH1LLR46E4cHhHks94gSdkLHrEAUGCKMfPUSukWs0eZ9qwo35++HBIdiARbztK2tfSHDNXCtFcRoXCSJJHs0QraEYgzhKjrjF6snVxvurpO++ttG8RqTg5WplFiATcL16gfkd5MeJBPGMHk4iQ0WFNughrRfkO+ZYCPAmuc9AFbeT+I3rseRc1HCfI8Bb7+xeDChIuiUmyNWizxUwn6FHPMuF02KNITFsvGdv45qy7poSHS4vD2NcguGtgN/OmKcRrzut9zO+BRY1WUxoSbja9MmhRh7a45/g3SkjSlIpJbtyfW2anCr4Rl18zV5YlnsN6aSFed7cjejA56yA/7Sg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: IXRZvY0lbodhmE4puQHLlfl9NS99gmPuKLnzMAQ4TLGCXkl8xF2mDJOUJdjUHu1oCsvPUwNMNOarU/wQov9wLCgxGfhEdGZIOK8KeOfLGwjHOHvF6O8zdOjmss0MSf6+ua5/MMlLOph/Bit19d682xwBYCiA8dJZyRO0F6LSE6HaGa39dCB2YS9xaHs/xzPvb0bIa0QofUkAgKJAyF4wAO7WIJAxsfmZrc1Xl6jPFN0rROUOuTDzO9JLX4y3cqbwjK4SI9o/ulKTjSgbwEP4EFynLioIbzPXqRIZXZYTTZkSGnInkifgRWNjCZGuma+fDikLN5vDZDjYxPNeCnQfth7KBijcqV6Vm/UBpaJEOMkHpcqsrOBvR4rCDhE4ZQ2chs4CVqjJSmCIqop7Q+GXOJC1HEDYn5WAbnsGKXEP+lOqJMFH5TWLDUVJ4jqoxA2g3sx/KhXr53iuAQV8E8EJf+E5mymR8q8qhN0+t2yxzJMqPqAL8mvIMlWS9O8Sx2uJbTMEFEGqNa8lBzJ3cZHyESqhLg15IouYDxK5iubk3gHaoudJIWiFX0TCvjAee/ArMbb+uAO2mTF82pCQXUc3uB0EZa9d9SgqevfIUui9w1bUejyMzIYqywBw3NQ/YNl5jth7F2udrKjViK8oXeoDex3wYT2lD9dR0JPd6f95aK9GcbIF+PO+JNLjh+VrRG7i/oFqK2Rre+HDICSF3joc4gzYk4yw9lHPR7jI0/FZC0qBtXOMiJJ2wDCQ0GcN02pCKuBSov26pPgfoddTv4j48P6+PTBbDcP4OppgBQkeDmt1NEHgAYkfen55bcpDh7c6WRzQj/188Pb0J1X8VrVdSrrcNZxa0SaQWfIQrAVIBnfHp+5l2faK7XCnVHiky2ZdhnETJUT/rmylHxL55jWj9g== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e98f8859-a07e-4207-fc95-08db4d90668f X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:39.5521 (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: 33TBx5Ni2UX6cQzCreNTfO524nPkl8K5m7RDzFKVqSQbpOOw2+h20IG7nIzKcJB1BTND7+hQadZKu+OXOQ5mOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: GT13RXUlT69iASCxQKMF734_Hxs1eGIU X-Proofpoint-ORIG-GUID: GT13RXUlT69iASCxQKMF734_Hxs1eGIU X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077698107997384?= X-GMAIL-MSGID: =?utf-8?q?1765077698107997384?= 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 5 17:41:53 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: 90575 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp669261vqo; Fri, 5 May 2023 13:20:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6H0pOQpfczEGUoWa4mzZThmeR3woRt81gxWEI7pnusIW8wQ/18M2sa8Cv1mmCA1rmHldof X-Received: by 2002:a17:90a:5409:b0:24b:2fc1:8a9c with SMTP id z9-20020a17090a540900b0024b2fc18a9cmr2813967pjh.11.1683318050355; Fri, 05 May 2023 13:20:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683318050; cv=pass; d=google.com; s=arc-20160816; b=W/7IobUxcEizZRoQyr8waaNr2DXZcAi4GZNmtV74c5m6g9Zr23Ldw86SyR/1dLvaR/ ur6vj50quFD7mJEHvoiB37NrF+oR9o0//fzufGFI1h7jB/jrz0MZ+lmmzsLxOoBSDQG7 4iW/I0ieGkLOHIjofFoir1jzYJJJeOsw0tky+JIiMsgAZKE24rE/0GZYWO/A3f6bJnGO YUE1rafvW88FiROM/6p9rhDfKI5Aqd8MM01505wlcc9EtZVJDaEbJt4YEdod3DLC0XJe I9FLPiIzKremcYjHeH4d7OFXi5e2iW7SueuTWJZ17EWRKMOOT3SaGe3Gc8LuLd/rDkUM MFDA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=MconJcdQ5PNIkXbmMn9lrZAStfvANxcQEAkfOBppt3M=; b=EOKkGkEboGEK4MOzrugn0IVJLM94rGyu2awKL0f4gLwH4aGmcLQf1cB2PdxWGOXR+/ GhoDhm/EZXs1k9DFhnfaQrydyb0IOvenVCSVx6xU5Sz12esoOol0ZZ2tcWbM9ts0G3mQ j/pTXdSXwAZ2wVjHPKm9f4iYCGy6qRYH8DShMzxL+V1RPW0HHdyPiLui5cCljdLJpsuQ hfmdfWVn7mOsV9dCsOGqJm3zrkjyBVtzidE43EGG9hSs8V+xBUQYNzj0eVjqJKgtlT2a Ts6W/vBKPpUcS8atVtHqQ8AAIdlrWVHQ1dFm1bgG1n6Do38cZKsFATVnV76mbpkNsjyy gaTA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=OfC3ScE4; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lxcZoVEA; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e21-20020a637455000000b0052c6cde91ecsi2700509pgn.748.2023.05.05.13.20.34; Fri, 05 May 2023 13:20:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=OfC3ScE4; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=lxcZoVEA; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229862AbjEEUIs (ORCPT + 99 others); Fri, 5 May 2023 16:08:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231720AbjEEUIq (ORCPT ); Fri, 5 May 2023 16:08:46 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1305210B for ; Fri, 5 May 2023 13:08:45 -0700 (PDT) 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 345HhQ8a031799; Fri, 5 May 2023 17:44:46 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=MconJcdQ5PNIkXbmMn9lrZAStfvANxcQEAkfOBppt3M=; b=OfC3ScE4aeBbqTiteIEFigFxppLwCPgjYxRFeMA8yt/JtQd3c6B3MUYlQkjTLjkDZ7uJ c5pDX4Vy+dphtlqv2VfP6zAFizIhb1NQztHvktd+JFqLOlwn4gr8ELgB2L2MXdX6dfDj lXmFJbEjAarMQTIlibHuWu+Qp3YMD6t5gDHnD3IVZCu63wJ9PMQ+OjULq9RMlB3HTvku smcAvM5md2tXQxEo5hKGUKffhITcG5lU0ULBpYpwZ3dUnHw299gnlqAyM1aFYDYwTv+C 6xRnp4awTjtEXhSyulOPh+M1rUfylErQ2u3SK9gCtxbZ/cu+h0FgdeBamBf00ZoyniO/ 3g== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8u9d5nf1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:46 +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 345HQSiT026716; Fri, 5 May 2023 17:44:45 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2177.outbound.protection.outlook.com [104.47.57.177]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spgf06s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DEaEPZemYCIBJCSjiPRQB+oOQfIqdEAXauXik8pHJTyzudkDMD50H8Zz9IRunGJolVnpX6MFTfBbkL1IinCuGzGqxMfm9TZP9Omd3jyC6we20onv3SQEXKbOf9mNhzpe8yyvrpcMgZpO5HQkYkqhbtrI3TUnMzAJhQBMsYMI/62LS1W2493XOPmdNogqGCrCfyGfLWnQ9pXpyC4J+20u30spvFjyk8rmh7kBVflHaIVqquKfAJ4eXqOK2obaa9ivQU9ge8PEBG4YJsfv86UrsmDHFMwVpMeBWo0N7Pa2uwCOL4AyCr3PFqWlJk4qUeURrzVOxpjF5otpU/9X+RyGUw== 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=MconJcdQ5PNIkXbmMn9lrZAStfvANxcQEAkfOBppt3M=; b=mubBLQvGPVkoE3hC0O/n3I+/eysHDKFbcU2Fm5Hj/2Ko8UYXWf4PUgt1DqH6m8whRj2KP/88F4BZG7+Od99UWHOaqztmIp9HU+QGgu+LK4CTrib0fuscslHdx6CbFEGHJqFm3GBEwYj03trYQ1TpMk6GOMVOpIswwe5C3GmyRrKke4CDRVAkpgzfHW3383nggf50HoevknYI2V2GmuYmqWzIY7kfR8My4zhXWa/xjNj9aJ/+m9AQx8U9yYi2ddhNFO08sk950EcMCAI0XMuUW9lcMMBjqScOOpX3zYeYp2WdmRLQS4iNmFRgnB3LXtuaaXU5cMHkJLDd4z4zXi+fCg== 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=MconJcdQ5PNIkXbmMn9lrZAStfvANxcQEAkfOBppt3M=; b=lxcZoVEALTbh73ezma2tb3kUZrVF3lTVF6FkQyz+kbp9o36zhq3Ctxd1deTvbW8/45aMSKeWt+hyqc4ISuJJIkYGLK/8UBfJ9WRhs2n1Xsxo1kuwgDkq+s8oifZ1591f8TsABj18BeMGbmyZOmdLhdW6Ufqvhl8CYnH6UJI3v9Y= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:41 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:41 +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 v2 25/36] maple_tree: Revise limit checks in mas_empty_area{_rev}() Date: Fri, 5 May 2023 13:41:53 -0400 Message-Id: <20230505174204.2665599-26-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0335.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10a::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: fda8e013-9356-439e-4d47-08db4d9067a9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wnCs504GBYqBF49N0B9dc8JBRksncdKi/gVSmJeu98T+wcXLiiersXbAUiEk86OaiHNhPXlhjgEv24RdqKrD9wll0Z/49eucB3GI2Lw8nUvmLfO1BObnvQAI/tu1wJ777IOdJrcBtzRzb/C6+zbC8VC1lF3VnPGMcFCQjK0PMbP7BlWj6BZ9TYeaXfbb6caHHWy/p2t4Y6/jsqLts/BY0+cDk07FNHBPgwtsyy2VCehMsMxkws+B4A9gQbDIzblXTQegFXQqevRzszmjheUHSEAb1rtRVjZyzThiROOYMcm7SKmID/3SZrftDR0QjPS2NwGod5bXGNJnpY9SHP9mQ/11wxuQ5KEN+AuJT3y6S095rNYn+04Dx47U2+2HiCdkuAJDdbsJYdA9sy4hkM4Xb2C3bAq92RVkdZrlPWnxavbOD1qIXOq71JZgwO+Nch6MBIG5pINL5p5SoX2VOwS4cZFXR+/4KHGS/Afh6G+Q8VQcLfS0vJEK3YZ+Ki8lpGSvUH2oVVGwmMoBH/W6aghlZrGdHb9iOAC3JXNFDXA2RTtmuDxKFdV3012IHNdswamT 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(54906003)(316002)(478600001)(6666004)(6486002)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FIxG9Tcd0goeZoETjbYuqFcy1Jo6CuaPlCBdQpGbg15EQLp9UPUtICi94fjhYrP49IP24TPGEpAYTOLiOFSHbCyLISiDjnbA/2pzOCfR++sfbmQ+gjKT1d2kzr0z5Mw9I1tCNbVMNo45PaOFg489xRQ+m6cFRVld+9cHzbcC7Kk2ijFTqt+oHa3QPXQK7Sas/YYGNg6MNRq1Hxrp08WpK4FeQXWJGzTsgMflneVqL7YkEE5fMF5lTSlaw+cUTvdOJ3ayA/PNwXI6zLyYxHmbHCP8KuS+2EucVcJtuWqSc15s4TEaloXVkB+r8qm+RBsah8s+EMGPXpibMZKxnrbF0e5fHfAPhicrkQjqZCLbrCmzo6XOy6b2eUrwLcfHfWxKD/z8czzX8LTC3KDKTribhZjREICY14HCCy6PEuxQF0ETtuVGPaKOYG5nkJxDbEoNm8LQbekAEGZMBypRtlQ1n7QC4J+/CaYsupPRHpGZHkolxV0iDs93PbvnO5H6FJz1JlDynCZQydy1lzgIOSAZCIP7WFRWuWxlX7iC/dXazdYPftw9Kn0CxmCRW6LRZ0lhQbVGA7Ja+wUT6+sUSqQehWj0ejU+G2fDh+XIklt750h/o7nsA2gUKr0nFFgxLL5IiUqsLCZBscSyULsI76Gzj/A515GI76aDEGIAgoYG7BlJN9f5n1fedfu+oOQ6+zMfY+LrpO2RLQWJdEhEeLnBfupnOv2nyI195y4LOtdD2vgz7non8GOcPEngi9y3KgcSpGVDW2Dh0/Z+cuaw4ZwiW30ntzOwNj7xiBxZnMDOWxnK4eUvu6ba+jkfkt4hQJnesDD9C85SMXH9/QHqStTROdqRegquVMWOGzyKAVhNAImZPMcIHkoAkzQbuMWHQMFTr02EMd6zHXiFs2/NPth31/TZnavpvX4sdbCBt44C7/kPoXB5tXSz104WBIsysIyXn2tVmHODON4QmNvlKUVOwQsex6FxPBwyQKXCCLe4TdZbHfT4Rcu/X1yJsMw8I/n0yi4uh5Yk8az7XJdrNcbF5Pj4JP+NzpXMgEF2fZ3H/ADLJFRJCR2Q7mvm/QFuMpckPPP0eZSbP4oMSkGvIeuQ5J0VP6FJvfB3AbF4HRT/gg5pQq/+NKTMeHl2r0e/VQ3CRFIfQVKVqI5iGSdOnxEgWXYVZNnJWOG6h6wecKO6TKLwvhkcOIDcutWw4j5OvnVeXkTwnxw5IFD3F/157gdQNTN7MvlFXLTLS4wMV//MCK6n2s3yadXtyDneHR9xmShruWQS2eNOKwPglLxIZuvQ/5BwuysvyQ7FBKcdwf/24fO5nxyPsq6hLGdgcU46LGLiBKHGeXzK8clCf+vp9zfSJtq59zTQyMBPDO+DHNatXNaGCgpGD6kVV32lhs25czbS04ofquJndCGlOstk1KKlHxTaFDA1BK7CNDK/QuYShQJfyXirL9MgQj2WDk/JaAHeR+WxRT1l1PA08EDXqeQE8LF19KaYGymMFy3IYjAWVu/fTOC5wYdKioB1WHqellTNEebAw8sAT0w8EiOL0iHgZuNEMKyxKVagH3JTWLcYmcb37W222qyekOsKcl7xuOxIbFflZfP3cidaChwq4dKMEA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: U9nN8lICLlAwh2n9NxEkFMas06TEUuuwKZi5c0HDZwurXrPKOxhHsUlgdk8Xl6ktaqMfxajI4HrfwVkQFiPWEU8mqbOgOZcoMA3jzZIBTLh8YHEwITg1zpEnrlRsWIXQYlZlNZOFwAMv3pizpyhMrdxqsI9/dnPZRNipBU98pI5jLRPFzUCxCHrSWYxLTskQYD8j1VadRfgNQRi8b77T80S+KKGA0pz80WR5xd0TQjiUEk4UTY3xvHJjoL33qOgyRDB7yOCTn56Le3NhMN7Gi66tOvsKb3122Wyk6M1yGek78TlUmpX6CTzEPZQ7ak0cO+M99FxL5UTf+Zev9bUL0NO7ecoAPTJc/RVlbtrj6qGkR0V+P3PsMlzBPx96ssRRkid0SaQ0sfKBGlVrKRRC1C8kjr6xigZ4eSYdKFQ3XOC9KYlVGjTUzkPGpqMm4ORO4BwjelKOBd2EoWOvzcX6nfyz180p6oXyxBcKFAXLiue254i8RMIDodeBQ6TDmKeTEYrM8o08wqYHdm9hMoGG/MIdOZdbHXw7VxET8BXJsn61CJv05JGBj2yL2ZSRpuDADI4q5zSW95MsB+h4TyHeysVnzqDgMaa5C6v80rRaJ9bbsJcbyhEdY/PiU+S+WVjjuuCpZaj5y5RmILh3PZtr6UJqACekHXVEWam8E/sDC7EqoTOrw8dkujrwBnkQwihJ5p5iHAaOllZQP86lqLtGY3etFP1t3Xcq9S0Y3qHIPkhiInRIS8Ew46xukkssh6+ZCvl0gO3/4+tFZFk8Byt2a9sO0/i7hsGSteZsKqh8hoKyMC2eSehy8Msocw6CbAsetlR3ReL7tIyKo6tHTrMw3gyl7FwPqzwdqPWvIYHdsLef8f/lms14aea84iWcFHjMUsWUaSM2D1aPj46wcShEZjoMAMOP18FCEKhBsRBmmQYLEWHAEqihNoM+xvGXfE3+ X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fda8e013-9356-439e-4d47-08db4d9067a9 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:41.3814 (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: 5As6icTo3WN9Jm4XB6OAX8vpNrzD0M/FqL9zMflhRePU47aYYCXn00rJcDwX4Jx2UnegL5HU9gL5dp0rgAguBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: -KxCpIEoAxnlQMhiRl-jqgc5MUcL99VT X-Proofpoint-ORIG-GUID: -KxCpIEoAxnlQMhiRl-jqgc5MUcL99VT X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765086908272825082?= X-GMAIL-MSGID: =?utf-8?q?1765086908272825082?= 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 | 27 ++++++++++++++++++++------- 2 files changed, 33 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..fbf7b6f227f34 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 @@ -901,6 +907,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 5 17:41:54 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: 90554 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp620709vqo; Fri, 5 May 2023 11:48:31 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6tT5Uf+lUpFTmrfSPo/NABmC/MccC5banDUgPInJBRfOkKkvgCsx3qGe27FzVgfLiCV8iv X-Received: by 2002:a05:6a21:1087:b0:f5:75f7:a0bd with SMTP id nl7-20020a056a21108700b000f575f7a0bdmr2948495pzb.13.1683312510681; Fri, 05 May 2023 11:48:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683312510; cv=pass; d=google.com; s=arc-20160816; b=x+d7YHEMqWIGT+RYY/IXYLy3fMGgpGycTvxmFpO+Uj/kI4EdxaqNzwCB9WwjN6ad1t WlJh1tMsBZvRKT5XSICp/Ut7qnkJD35aSGT71PfLCYU4sgpVeBhp5tzna9BN5bSuWCst Y6dD6ZEapncvxuDfiAxhs95zfqSncRgFHhpnXK9F0LxznO6Hs9TReVMOpKG0A6/BSdzw cA39c+g30DH+5sh7qlja0nWACtSMlmekkJEYkGzcHWcrkEGjYC0DZFIX01FLpC8K6lXC +A4kxAQPkhA2gD7SrfyYOMhacKSflP9ri/VR22LW5v0lwJJSwoiwgZ6IZGWPPZJ7pfv3 ozsw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=0Ka6Dn5m4CcrZYyEBIVismStZ9lyI0eLhcunT5aSalE=; b=hwzYfeaIzfuGeloTXPHOsJ5ViVEhg10KCtIf7suN+4cnEISWk5I6FZWnNxbs/G6hnV ndnfNzDE34J0/mND5Z6nlVNCVEk4NT+PxlOp2SXWoH2LKqYm64+o0AjPHiWvgkron/DR Z9ifquKRC9w7S4C9teyFG8DRYWTuvTYLjEi84gDIqdjQwh5V/90L3KHbHQ2bJJc5WQZz I4x4UOhpYKFEU/XQRjoGVcCCZhG8bVttM/rLsrOpNjxzFi1s5Hhhqc3te9wY8NI2NJox rKbAF6kg4QQhfudxGSl7TdI/C3E6bDTxwtAFFomQYDW41CxyOWygT8v90/9sUKogARmJ vHHQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=1Y5MJ2jC; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j71mbhqk; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w4-20020a656944000000b00503a029385asi2580522pgq.849.2023.05.05.11.48.17; Fri, 05 May 2023 11:48:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=1Y5MJ2jC; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j71mbhqk; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232692AbjEESQL (ORCPT + 99 others); Fri, 5 May 2023 14:16:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231611AbjEESQK (ORCPT ); Fri, 5 May 2023 14:16:10 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3DAA41A635 for ; Fri, 5 May 2023 11:16:07 -0700 (PDT) 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 345HhIUc002987; Fri, 5 May 2023 17:44:46 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=0Ka6Dn5m4CcrZYyEBIVismStZ9lyI0eLhcunT5aSalE=; b=1Y5MJ2jC7fhmsQFA6xkDTmOE5abZv36zg8fdOyol2Auvu+fUjQcAENULsF0cvwb1jl5M LrkcF/HOKztkvbd46JLOdFdSUPxsfGZKzawMgbIdRtjC3v8Qjh69uINLnMPXBDSphYL8 GoHKcs7LJ+qFVQZ6wGiOeqJ3Q4GOFIif3DwQcxbD177KQHqZDhVSCyPCZ6uZe2RiqrJ6 WI8mqELPw3E7Tjlru+hdMti3iz+UzcLxIH2uFzbVg0Qz4sROc6G0+0kQfg/FT/hG5/h4 ZUHewQeFAJ6QRpQhR2Dr7A37KalTJNhksSMJcQ89HSJvnyYm5fA6ytyn0pmlqV8KeMAx 9Q== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qburgdkdr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:46 +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 345HQSiU026716; Fri, 5 May 2023 17:44:46 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2177.outbound.protection.outlook.com [104.47.57.177]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spgf06s-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ixQkarnanwo4Dv910eUdFhHE89QT0PzAQTVNfMzyUSD77Q7XPqLvocQxaEx6kt+XyT7Xjzrh+foVaB6xNSOcyGXo62ZL3Lx0oYDYRvH21ldDTJn7aqMcAV5+EeQ4kgR9NlONX7epijXCHpJwqzFs/65AINqwha9zhDb3Y0CU0GJ2ko8RmLq1Ogpg2WsxTpgcg0LmNje9P1JYEH57l32tLS50/vzSdcNbPjRfai068IEaLaEfCfCr9mPRVSdtHbUNC2CbOYz2tXDKCrds/b88v+vd7nrekz7Ba/kgmapCEEpZGDVEJXJE66x2BGZM+qw4OT6C/4UxgXd1DyXD7qEDNA== 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=0Ka6Dn5m4CcrZYyEBIVismStZ9lyI0eLhcunT5aSalE=; b=VFbrIFum2wCEawCINkCOiaWR9MjTpBl2Bc+I7WTu3O2uhnHAdYAPEELx/gIDmIzVgs50ekOKBYzYT4dStHnmDalTZNn46glqHR0kDwg4epCYfXvSRemOL0D5z/yotDkS4J9IVLMR3aqI+wDYORW/2Th8tWclmw0Fzrj9wpx4DXMCDlnmiUiLRODfshAdN6U0P842Ru7Kv+3ZicagxyNbrgDWHoHrvAf//sizWErS7h0E4G0gRn+w0CAwv86flogbKFJTKaItzk0sK5fip8iW0pyCTofpI4544V3zU9m330MnrN108X35Yna7FTByIH9lVXoEqnEJ36wyJ+DYU+cgcw== 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=0Ka6Dn5m4CcrZYyEBIVismStZ9lyI0eLhcunT5aSalE=; b=j71mbhqkBH9i9x7fPI/WSM31KJ+x0XVOPGsD5V0drnCBe+UJsacKABHMdVvPmQk0yn6dMxdwf/QMLNWKXx4LID0DPSFwDaC4CTxWYegupi+lKbKtHmf2fgCI+8BeZqQXpTWe6GCZKhVADfd1XwO0DVludOkD0rXqdUmtI3U6CDY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:43 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:43 +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 v2 26/36] maple_tree: Fix testing mas_empty_area() Date: Fri, 5 May 2023 13:41:54 -0400 Message-Id: <20230505174204.2665599-27-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0046.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b86e0c4-8a91-4240-37bd-08db4d9068fe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pwSJIVWieIOgG5+ZY3ET7xyE/I280Xe0ivhzRpDDJGrrMYTyjrSxUo8SBOoQQwsNpAivCIIWUwzgYsuIzREAuRE/hBwsTVqX+RXm9hfflE0vyLfhtrgWRp+9StLx8hGyf8YMdZwyAeB7CG6N5IwrFSmeYBzpcfg4hNKUPnH7oB6sKMR+bNpZpf8CVeFNMjTxFf9MjR68ICkoAdM1pwqgEHzp8SvtNw/qJRQjJwaxLPEhA+03vnCJl5fI5qRIAo6bHNrpY+2WgmJ2/o2lj9gT9VlbQVdCRv/73Mnt5H51oRDjpxNQj+Ydt7hl8T+FonOMesCv2R0jqmAWrlE6EeRd0M0XXcOYj8OeculfbGiFF8GZlpkMhoOQLby3xqu7IK3TUWhC4tJPEps3rchqqJ0ALTzTDvpTlzoV8OhDYDa1dUbgEcvG6XGo5QpkaHWUGybU7yHbu4Q6yYlT2UKC6DvmI9kUgrEWjL1Swy3W7J9SnH8/oFM/tvOoL4zyEyQRF70sa5F+mBdkW+RxKZ/Zww6QPNET/nH+uzGMjppyizqRgDtMM88bNODxLsB5Hz25BHYb 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6666004)(6486002)(107886003)(2906002)(4744005)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AdxUxb/TF+gLMjBj2CjlJUoMEWlTASwgQJ9icGZnlOQHEwiGDEs136+dh1cHeZbHYc3fV6bzWoLhVoIKUtsRXp5GSB2ZSD8INjyqbjFF4eLVgmsWUrC+05RV2YAI4KBaoGhMgBnX/nOR05ctW+2iRcj/k/cilDVJIbwnfiS5UV59oibGZMeHJI5MW3MwZFMxmK22IAPZmCJ4H0ap2pgXDAmIMSsb3r2iNJmBktIc9veH5pq6VIk/HhwBn8uhUht9VXv+Ns88Y4ngRnHsanRiBZFoUDqhkclbMSfypEdHpDMXA83uaBrbYeUfRr33mYyt35DPO2U2mCxMSlq9kJJBsWBU7ta35fh8+UePTvsH4bF0Qhppbyzqu27OV1s/6vIYom7w300+Nn5JJvTgGueAs1yVSw+0P/LP6+kVcM9uvPG65QC1GpFvuFkTJ0bGzofdE6iTkdVrPxP3QStXixewov9Fw/SAxZP3p35lKNatCN3GRJIL91ZT9VVzw5PlJzP5ZJrRErEJA25VGzvVi+ZYzomuYyCGfos+wVYts/2MeLYsj3OBLgDdVhBvLcDQTfF/jxaezGf2MW/2AwUArrnFzDvjq774mv3PFb8cNMAiBkuf6UEvza7XnsFJValbPfzSM9+aeSbLPMvzFcRn1tk3THMNQ2H/+QJIZ1XY5wDoykalhLWybGVmLs3qq+/IxM6Wvoy+wB6aFyvykXSUK3XMryrTeFHv9dE3Oi6sd/Z52co3R0ndtJGIC6NsnypJ1uFJOplsrXl749fQrtIQxBWjkeseaNJCFjsvVKa0dBkPRNkmwyVCr02jMi1oHa3oKmJCPkstheBrvKO7c566yVMjaeciTqzioD1+kdVCZS9DNi6E4RWqKLg1FhtIX4ffO50lGZhbdpUshX69MiJXM9krj4sxogynYU03UX7xTtbgK1QR5w34wv3Lk8ydruxz5WVLrZQ135bJbD/Y1sB2sMYVt3VEKlnwWQAEBZgi0ttC+a71jxptepSoGuYmex5C0Qwr09z7Y2EsaiUQdwK0GF8lxl+f3J+UhdjG33x+RB05n20QIdBDVI15UzmL0TxTvOcZPL7Zv3Kg5YQZrWGbET14hAn9f9km2/DIKOczvATLALQMqjddl959yU06kIVY+Irw1zOINfN4rSZSifiJNYfbZcRxRipeYnzQMXssbXTXSZMQxhNh2tTpbfGjR8SuWFjPKr8bVkug/zZ/ldUlrDktChDCejubfblafzGjTZ3jRrF22lvt01016LUkg8CkUyqDuXbPv088IdIImdy5yNeRrVjAVHhjiq6PdDEyzbmXeR9Fxs7d85dGVtE97uPDFGPHyt6+XE5vQ/1nEVdc+ucSLIhfTBguD3hMlfamD6wO91T4OtPB4ssC2ZIxcHiyxQdu5SBUU4CMHFHGsB4d1TcCEOZIGIX/OZOQ/u8yGCKC2pbQfYFc+HFGhUerVOMBqqFIfCwhPV6e2PC1E/JIKMqbFJubRGdRkwLSMDUAptgrfjysrGhTKu6KjHkVqrkSYRaUXTpyxbbgWnNS49ZXxE98U9B5BaVt8saxr3WmU83JTzjFwf03w3gy9hmj1+nqFmlvWiK7P2Nbwt7LWf4f+P7Dfg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EtAWkKwGnwgzPbalKoMFQRu6BdKTSLck0bRbCyJqgzjzIWS/2AcND7VbvYFontjlNDF67LW1ztO9Ue+AL618me2XR2CBN3FxNUqZQADMsVtc/6Su1SJz8UqqSJ+rFXPioETZcH/D15FFQ0YoGavp+0IGjtljntGq05tpU/qTISv8NdEWOIu7MHIyfA/He949OJEy3JsBYUO4f2Rx4Y/cvJVvhXacLUBqh/EjbqupTlKbcm1Ba0KgpmzWlzt1y9JgT0E6q6eFe+57CIPCuomnXyxbOAexbldYIjNCUVQfjUzdCcDKCyz34I7P+RYOzLbC9Y28iNty26zWF7lOtugl7yKu2TxbU6xrCzqdfxsP51pTivC59lWP82RGt0r/O/Azdrso/EleqgW+57eIPrPJeaIBH3SdOXID6VFGzabAIzIADfDoF2wXhvHcT9JYxS7j48UZMiezPDUJaT/sVkWv9YGYA1kWvZSu5cfsewtM5S7gGbWpAwiyAIUhbr4WXBuIYHJ5mDZYVoZNB6aXUWnGtAZhjSirQ4632YPa9qun2CEhp+0ejtjOQw1aglCuvb6woAQuJn6uq5m+qC/WURFzdmpw2qIzh7dkVy0X0StXQYC+70wq+YREDGkcTfUJtaZYZ6Sj32vdSZYz/8QYwI6yTX49Vld+XTgLScvO2/tta3siHSKHILj0vAHsKDfFePD6ipvU3lRpYE4K7/hjoG5UzVvH83TXKYonsq3NnuOlT1QZBc3+xfyZ0Rfrp+N0IgQ3ezj60VgaROvsZJePk4SdGeCJagnZyOBTX1SBR9JtxUaQ2CA+OHpYVMl5xjG14Q5nHMsNr5C1GYmSs5mh4kuNXHeBcQkZGjQgtrVr1rKS2eZ61bBTRmXZ8CAZuCH9jiaqqUimT7zfMXHN6ujUUcn+qw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b86e0c4-8a91-4240-37bd-08db4d9068fe X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:43.6360 (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: wHphY56w4ebcZ7oBKb9DqkhNHBw6gcT/of39C0HCj7dpTEkoH5BznPoDhdS65sVNFnwLWeb8EuIMoIpQm5ujuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: 9HqCwzYjEgnuCZJY1gbFlvgOMzNsLOzZ X-Proofpoint-ORIG-GUID: 9HqCwzYjEgnuCZJY1gbFlvgOMzNsLOzZ X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765081099111807258?= X-GMAIL-MSGID: =?utf-8?q?1765081099111807258?= 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 fbf7b6f227f34..48bc4ad984c86 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -2696,7 +2696,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 5 17:41:55 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: 90564 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp635055vqo; Fri, 5 May 2023 12:13:21 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4ccx4lKrwIhGPQbr8O9gtuTIZx0a0GRjx+cdUU22kz4Guy8yDC/raV2xpi/ra63zYZz3TN X-Received: by 2002:aa7:88c6:0:b0:63f:24f1:adac with SMTP id k6-20020aa788c6000000b0063f24f1adacmr3934977pff.25.1683314001019; Fri, 05 May 2023 12:13:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683314001; cv=pass; d=google.com; s=arc-20160816; b=oLIKLAcypLFoPrWhBJ/PJjWNqSZxjXXaYEmz+V1M76Lepr/KyLwIXU9YUkRPwBxm3k wmnRQSstRyKIskC4NTrw2S1BIlOCKy41rArl9R6NinLECO0jE0KQPWnaJVwdMi4jV5kn /X0J78ziRVtlQX+bw0BFEBPZi5uDjIvZ3r0C8GcOBqfzKZU4GWgRhTC17qJoHcG2Ucaa CBm4LflQpVVN418DyVc+nMLBeZKw8qGcwHlIryWK0hr5q4JXYM4fqy3c44KLoX1Z3XBE V/5QfrFUtDXN628a5XgqzOyeZfz2Qw8NTZQmeG1gqvoSd22APgo7+a/KFrJbYtkRyqfH 9Jzw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=+txu4aLGOrwMbxOMzM/5NFwUsTgankdKbz+bA1PibVU=; b=uM8GanMID7CxL+iTMb5he5i+tadbp6AFXIzkfz125wvdlko8AA0J1coJ74fYdnuq++ yxQUB/4hOAf6uwDjdQbqHMlLiSvyEl15gofnFthiJm8qiCX3JQpAHOesKaSh5tWAm0B7 iVlca6plm/3xPxQC9wN67eEFvWonSf3QGITHH2vxNgGHi96nPSGkCJTeG51F/r0320V6 H/jsd6UmiDHUp3ueXNtmgX13/5Or8a1AjCIJ+ubDSqe1FR4qjfbyqmltpyJcNtz26abK aDRbMk6GFq6dc0J1lPzqJ7Cnjmgv0RAzXxk4QZy+Z+A23sOU0N84IAqo150OL6dJEDjx LoYA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b="V8ZsqSE/"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t7Aeeo54; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j190-20020a638bc7000000b0052c8a4f0adesi2714245pge.526.2023.05.05.12.13.07; Fri, 05 May 2023 12:13:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b="V8ZsqSE/"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t7Aeeo54; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233283AbjEES7Z (ORCPT + 99 others); Fri, 5 May 2023 14:59:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233431AbjEES7V (ORCPT ); Fri, 5 May 2023 14:59:21 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1639020771 for ; Fri, 5 May 2023 11:59:14 -0700 (PDT) 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 345HhJ54028052; Fri, 5 May 2023 17:44:49 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=+txu4aLGOrwMbxOMzM/5NFwUsTgankdKbz+bA1PibVU=; b=V8ZsqSE/xeFjFdKINWlWAgZhAQpS2i2R7NlUIH4ZKTJCtJCL0H4u3UBnhghbRwo87fZp WhAES5jev7Bc5j4Z2UBrxcpL0PsL13ODu4vlrGPkg2zWgZvnFpJ5dPJcHHfX/RaZJcR2 Y62Y9zj8b28NWNBW6oUuU46VS02wgDUbc4QXCYy8olGPTp7IlQVxzEKT7nmcRRRAEcaJ hkfktcfn500JlQDQgXnQ3LuhB3wBHOl66+teas5FHvHf3areEtFZ1J2BtGEKWOkXg4CC /ir+qciX9oou2W/TdBqRmqre+ywDpZJthqGzNVFpLBlE/A6+MSyZ8VDgyD92wd0aF7eu yg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t145jdm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:49 +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 345HHB3k010067; Fri, 5 May 2023 17:44:48 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spankgq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E+ubKNX57T+5BCzxeTvi7VgOHF+hx6HGerxOgOBGQ1H+AmMoa4Xw4IhR/Kbx/P966w9o5Xack2cfbeDbSGnNv+RRiS9Mr25DvrpLTRO0CY5L+sxM0A8qqq9vQo9DGhvc1K1Jw45LFSJY7ssaY53ZLj6oVscJ0L6WyVD9xkfa4Z+tOP87JavIfYFcLkg834fst3Pyd0eLTC6ge7vXtOFunbPsFPaNdlwisRn1Gx5fG1ot8NDDgh5uCfpNkdnd7EXKNylpCevyMNR7Q0/Mf5Oq233VLd+U92k6MMPD8Cf6QBpQv4OMvzZO27GjVVQL3aR69k0V23eJy6Kjmqe3piqhHw== 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=+txu4aLGOrwMbxOMzM/5NFwUsTgankdKbz+bA1PibVU=; b=JB3oymGN1N+zobcYIxklVPingSM+4maGImCVAoSAP3q0B7XGfSBTqKpMvOl1sJVSRHqfKT7SyMOpZp+vU+HzR3j+id+oQR2GqUOzD951miSAfbND0wGW0NENE+PYvjSPhm2c649gk7tBuCR5h98adFKJiCyIFzR7xycBpolMvWTkc6befm72rgRg+rwfvsPzgPYmW7ERR6EVeCVgQP+3XEG/LwXAu/lNq65zisp27i3mnZtBLxcN172KL8tjgo5Wo6HBLCQ03bfOHpwsvJUjmcDnYoF4MBT26pqU8va2f7WGJ83KWclH5Vp9ICbaL1A8ctUBUazJzQRsr1drTMuwpg== 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=+txu4aLGOrwMbxOMzM/5NFwUsTgankdKbz+bA1PibVU=; b=t7Aeeo54fCw58VnVfD3pRX4wPG4LE1BRhni0CCD8ezRnUmB1YVCkyrPejbjSOZ1xWpsLbt+gP6t+4oM3iuWghGibZGfg6kRf++uHnrbcV8s7rUMYDherRzOi+9/j5N7Xpv+XSFNJRma1oxGKcCboM19O0HoYpew/ym8WgXF+r1A= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:46 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:45 +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 v2 27/36] maple_tree: Introduce mas_next_slot() interface Date: Fri, 5 May 2023 13:41:55 -0400 Message-Id: <20230505174204.2665599-28-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1P288CA0015.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d9f9224-8c17-4abe-2239-08db4d906a53 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MLZ/9o76tPqKRvQWfy5JcPzI+QEV3ov6VPyNvLsl6+xpIJ0LfBn+pNEWDMquRvm2fp0BDguUSswgFO1Mqr92IFo2+RIUxJHNKXKB3emu/SFXmyRX9F6zKRsacMN0W5vuQ/0YmOBb2j6mhcABEKuab6tN4hnIcKVlE/X9CGNoDL6GcbSEJ6OFOZ+oVbDZdncCR7stSqmPD66mCPz8un6qULNnqnUAArHzmIV/cky/J1mEvnZIR9/API73zrZDuG1f7tF3gj6O2ipDTYJgpcD6bcp5RQ3n+QlvbGc539Yr7ysovxRjAaDRujiZ0Nbb+ErlJjrMqYlUqPx4QEyfJtV8omccx4hKlMfLUKi8sW/9bV6ZUgWTdnO391iNjlwUk0MOozzf04yAOWr4DnpchIvmmEKj9LXs1di+ks979FaCxUaLz0+yPNoLMMEElKryC5eBBJdHzzu0ea0NHMpTxQ9ZdfBxgqCglJnBH3ZwXqDt5ydWCyVfvkIwUp3uQjQmokft6KFZ9KOsaq3Ss7UQxMcJhrFPdXA1zEFbb7WDRbLwpQ+mbveQkrb6WepsB+IQf2S7 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6666004)(6486002)(107886003)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GfuzXrrycQ5Nj279/3efyJr2J0JUtW/HH1DSZsK2K5s2fqPfhCOA4cyaEpC1vkLOKtGNu7iFMVxzuX8SrGW5E2Jt+2C6k6vhOwUJ5WPxjLl+r4p/omLFGxCebbiaTvY891gAAbFQBpz+9A064jhU2hpaktk5BXzDR7ALMrl0JJ4rWucB7Iunk6pW6EWTUL36Y+4R6/EXPvlfPb75YdmqAOKHUERXdYMD0ToKy/J6ulT3Y23phYMmYnMopnZd64OqT4rG3iPS55oAQWuShB+sO512nYhD8SKSybozkvoQ3/6tRXFb8CS9IDkvfvJN1/OXCMyd0p/iGNMwmQLBKWoWvrHAh0fXmZCCTZH7wGbj7oDHwfqv4hcGNF5A3FOIMLFKOnJua3fCDC3KM+TEOagOQtR1ZpTXoTiRcXG3hLUL6R2AnZMojqWfuH2/qeVsVDaY5lbAx/qW9eyshfOpuOkVSy5fx5DrniRXI2l0imhI4ImiKa//bKRPkKXfBznuh1lBGI1we1TFZG3FZ+99hDtTfvE74kvws1GQVtz+R4NpwRYtBXyZnDT33uV/m7X8drFn3Ld1sAmvUoV8zkVQ3t5BZhLY1QypR66kTl0Tcdq6MTZgGTnDjCrx6eT63MGQ2ENLJdRfaUs2BMfH8hJ4e7BQtFUiEmVaHarZkENNqNJwHzlpJd27TgsgIBIJSKWScBLILbVV7sRYU7jGbgWrizi1nQlVCQ2MQ3Tht5F3jHS+x2olqHxhfrXDgP5xzBZ/aRGae8QtLghH1FUOHEit8lUr8JqDCkhk+4l1Q3DIvOWd9QHHM+b91noKyJTJHI+bvbjpYncElV2OMWzXyPGApNK59kUdnl0BNnvw5f4o64BjdfAFz0Oh8Geb7iziTRdWUzeE7iImMjlVVMF00xmhDhvT2/cZRcAay8rAqbwZdXcDxGwxviTfxtQMFPdwpyQn/+V3SSJCf9Suoq2mBFwI1DcyQjTqMuNq7GfgsEFPsymh6YqNLQmO0WZl3OEL66hOVq3mnpvJlPT+/gTKkiUaEDKepMOpbABYlL42ptqDpsMPkLunpNFVmrZhoIBOpM+lOvlUW0IX2/ImOIIIxdn8LTSlu4kQorc5q7WzGOrdpIB2oVGgOdOZJBk+ytV8im0MXuDjO5sU+EWXeiJR7UU3pLlcHnD7gvCeTKhFShEaR6QxbneMkglnMu9Qvdn9K20k/ZtgEgp/baKwBiOEue/+LJrI/q37CdMRAJynP0Bn+XUPVNcyEWuWukxoEIBMd/DOcxkJ702kyuZDEHFM8j0kUf0oLJ5OO83GeRDFail91SAnQXUwFwveCkMbxQs2ATdzUXMlxuLY1B4o0m5jApO1/JwAZE65QlkJlPEjyXkyMHiAbx5vmPbT8VUNaQERiXoYuuIhkksPlLCIoR1yjCvfpm2f4S1CcKCRCh9EAbiiCgIdRQ208jbcU03Q5iBpT+XtPUAtV+lndLHg06w3WTiWmpU2U/2YeWQs97Zjw6y8OozBjNvvTt9wtsRkrRj3sk1qFa8TfBkHMqHpV7zV9oU+Ja7S7KO3xoYWcTHft14OqQX0v/uNBjp02sWNDKLX/y1C8T2jsu+Na03hBpq/o5VcAK1Pnw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: olMwoJo++1Zus+6lrD5oeh/WLyQ4Mi8DjR9OqVxMUu6NaIBUYtyPQ+yAeibQ47KO3BQQ+kGwLBLb7XELo0tQFJacoWxdu2py+630p6RFfzZuRg5ztkhvcg243XJH0q9PDeDiatUajmVkCWmec3UXGJnZs6NL0NwKXOLAsywRBmLvkeZgtcU+6b/ZcRA87ND83/NvRgIsZxgysOLqBixyHYRAMIj1kpL/DnJN/nWYrQKCBvS3kuf73ZwsOaszbLGLQHAueYpXSBoSvNqZu2CvwzAy3GY7Q9eFbd8w3WOw1x26EgbCQKN6ssdwzQosmig9/Rd9qwcHnYlglyVyIQfHx8xCaz/oVwiVfdHWl/pPSoU2xe+A1z7mEzEyughS7D9gj8UCmeKII0cg8kHxTz+k/rlA4XleAQGnQN1MyDjJdwQvd+7eTMgZMvgJONP28rBXf77ecWQ7dasmsuqya8P+iKgMi12OrbjLMv4Sty9gruvIMnxhUmk4puVgqizDoD++cBVF+YOqwoCR2XJVamkw5S+V8pYMS09nNm7Ysj7+pKDLFok+MqS42Q2vcWCBCsAAiJ07yPMZlMYjuE1obpMLfsfmatKQwXZHOnNyyI5O+5BapmKq7umlQh1aKpsZN87tDtarYo+hNrGeOovltupmae/20/hnZ3rYjuGMG611xN31pTj3sAZnkihybKS3yqQs76iie4CBF7y/jXkhXkZHCReRqqDu6BprtftBxRv2HmBTXIFvSdEXaj9J7fsbVCOZUjWj74FW4gCKVxTOlgcTllwaxegW2FkNESi3D1vT3DzZqwOWxWe6DWBw8yblGSuZ++q1skWbPSPgxh+AR4mAZWWBFsrsl8/D2xVVGnat7xH1ypElpqijU3+7q1bGwgz45h9PVSmJao4xQ/w6v5a+Hw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d9f9224-8c17-4abe-2239-08db4d906a53 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:45.8645 (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: rMj97Mk6gPbZIcOl1Vmg9f+KX2OALH9hce/9j881fh+aVG8/y6wPVNUwZvLE1mIroZHLbijz5WFhrYUDrurlGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: blwy_-bJFhjaxedRoFC554zuFZlAzhPQ X-Proofpoint-ORIG-GUID: blwy_-bJFhjaxedRoFC554zuFZlAzhPQ X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765082662012592380?= X-GMAIL-MSGID: =?utf-8?q?1765082662012592380?= 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..2865a987bc559 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) +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 5 17:41:56 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: 90538 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588211vqo; Fri, 5 May 2023 10:53:31 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ779zVNRYF+ehSnBCJ0s0f+Ma5fUay4eCX+FC2+LxZnszxDYD4lS+GK2jgEFlleH0htsNno X-Received: by 2002:a17:902:f391:b0:1a1:dd2a:fe6c with SMTP id f17-20020a170902f39100b001a1dd2afe6cmr1889402ple.53.1683309210811; Fri, 05 May 2023 10:53:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309210; cv=pass; d=google.com; s=arc-20160816; b=M4cV5HN4h99hxtwrpKdAgQu6Dg7MoU4rB8KXE5p8K7bfyuAAzLL1UfmUQEN3zW6LtW jdTTEvC1DHoG+t0WlCnNmk53jq++19A5Ig1kTe0XUeV7vV+wzMXTmfENPCdNV0HKVag4 iuhYoUCfgIYtuJv0MObu2WPStShenPhx+Q+RTTTwNbykJVKW30o5FUt1Qvn0UW+k5WMk df3iF2rzv6oAokNK2N35UYKDd+k62Q/Gh7PZwwCG+KMUxChX3l2QpW9/7b+cj+HWIGFF HCChkPHj5P0rvt3xKDczW5cEqEHXoPAXe71tsT9RDIyOJxkK/5AsBwbKr6eGQVgxDhSK iJ4g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=CSPTd7X/nJiZQ3dnRaeG803+526/vbVCDuYpiQ7PWtM=; b=FQmbnrQs/yyJjvQgTFbUVhIzW611fTq7vYAAyV8He3QhbULNkRWy6j8C0k5k+sLstQ zZN/NtLLD+VoRttIzUXl2odzQYN+8xz8XBetKWQV2KkHligqB7ZE+6E1tOCPQCyOhGLq ZWoD3qsMO5xu9SwmhquHCBuKN05eKMTGF6fPtdz8E9QHhXd8dirG8QEXlE5F8iFeeZrF x1tSBezAraSgZYuZqal6zQog3Fkj5vDU1IO3zGmaHpyaOOp4jtD/KT4iU9GG8fVkjNjP ObkM9ety5sYf3Hp4ZhRj0UViF1JaIssVqFPZTym8h1JipsiuYtXqu0mNHATAWZ1dr1gY IpuQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=Sj3LL3XM; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qfQ3Wo1M; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x2-20020a170902fe8200b001a68d4a42c0si2016269plm.560.2023.05.05.10.53.17; Fri, 05 May 2023 10:53:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=Sj3LL3XM; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qfQ3Wo1M; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233134AbjEERrZ (ORCPT + 99 others); Fri, 5 May 2023 13:47:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233040AbjEERrS (ORCPT ); Fri, 5 May 2023 13:47:18 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8D641E987 for ; Fri, 5 May 2023 10:46:33 -0700 (PDT) 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 345HhJ55028052; Fri, 5 May 2023 17:44:53 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=CSPTd7X/nJiZQ3dnRaeG803+526/vbVCDuYpiQ7PWtM=; b=Sj3LL3XMXkylM5mJhnd4A+wEPRdyTSMIAUqNZajsf31/XJuKRv8lVaUrfLmleqxOK27O 8yt7VHQGwSt8o8yxCe7a5yKLgpx9quiTWapBH0OIy4jRlBM2kkAzsY6x3Icew4bkthvA wrjo3OOSv66j5YauCWad4XZShZ9PNb3q4pZCBoMIHLLm63l1r+Ij4/bP334H0kSHIC7F 7pNucx2u6HtnkAMeNPeodsCPFCqNYdxxtQOSAW8AlCxRz3FhJoo8MLKDkcM3CFhE/PUQ gkjJRwC4bzq/sOie6QeYtGhNjYyR39Y5FB/K8CQGJUBTVEN5ybskt7jQsHTdNkiE+zLi sQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t145jdu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:53 +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 345HA61i009869; Fri, 5 May 2023 17:44:52 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2176.outbound.protection.outlook.com [104.47.57.176]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spankhx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GiZFI2f5hXOVT4TJTMqn6Bjfyyj84VmwqmgCYj50oxDkLjo6Y5i2xbAgXkuGo6R54j+x99KoJxvWlOH8kGUNr7N/LvTxLgQ+GLYywPFAJAx9R2lmwc/DwkG7XgqgTInWH2Qd8txUIvOmZTGYRzruKJVKHsPsqwYg3QCsYNa81hffbVxK2Hpw5hqQe4VjrGuwtAcqhr+PIbiQA5ug/NTGEb8Udl12pE6PNkxypDfhRdmVQufO0lGdVPm1jZCZRpVnZHEAhhzL950lq6o0BZd/g9m/PcdFvN5E4kNe+tgiBP/uHW3fYiMv4jkQ30I5XHGi8SYMr1xXCa3+pzscrvVMLw== 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=CSPTd7X/nJiZQ3dnRaeG803+526/vbVCDuYpiQ7PWtM=; b=fBp+xM5uaqfOPhTpgA1ABolQt+R/hwXhqSju9w9wGSrs8z4OhVA8OaDwYP5tpLJqQco5IBfGfGM39lxCTLht+OMbn7795osm9hKlvoUUAUAjEr/YxChlbeYbQkS75gboj4yIqWlK4vVbBuvlwOmoGCjytbj7mVZCuz0Kn80zcIi2tuiZIU3UnKKT43Ab7BTKgzOoF8Eq61wzI+VyrIztFAHySKwDcoEamMvZv7/8Xlgaf2BHUc0/a2RsAt6/WFbGrRbBKs60JCiv8BmhUawB8yrPnTdzs8Y4m9hW4c8qGM3tJUfQSLdXEpxZz7zI+9dLTYQO2z+tpANR5UOgYvoj5w== 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=CSPTd7X/nJiZQ3dnRaeG803+526/vbVCDuYpiQ7PWtM=; b=qfQ3Wo1MniS1VmgTxzTKp4JyUggzPAfujLh80yS02WzsBcuEgQGDy7SNN7DylTPlz5CThRuPHi4QmDhhi6BjpmWW93nnxjM0vnPcCCGTdPmWCVsowseKKbVsBWngfRKhCvmlVJbfHO/4RvpLfqTnyqkCBPKXVb/juV3MSDvLAdo= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:48 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:48 +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 v2 28/36] maple_tree: Add mas_next_range() and mas_find_range() interfaces Date: Fri, 5 May 2023 13:41:56 -0400 Message-Id: <20230505174204.2665599-29-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1P288CA0027.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01::40) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: f4ba792a-2f74-4c53-6efd-08db4d906baa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1ok319SvQoG1NLeUZ5Riod9yQZNGML6aNacDPbZBvgqDSUGy8vtSCakg8NAzQFnoCQGHuB+gMY39V9e0xpw+KSfIMRUtdmkVGuvr01F9f4p8ME5TrcW6SQmt0Xs7UptmSIoMoGLxjfJhw+Lob9mxVvtSbkeBPSnNfOImyHEJ/9tdozeoXamrZJDmhmuZ1lWd4U+Wcp5alEYDsiq3HtA5iE7tkuzEp7xoBdspDlCCsN9WLrz1NqGwAcE7Sz6uspuzUN/F7038G+vade1zqY14bTa6oRr/0LPws8Phv1MH4pXwivTTD4xe+ze35WETSKht4im/E1XCU8fz3k1ZnhRQF9sSG5ly6A4H7kCVgrCSUsBWMQme743jDpLml25bkSCb+PI/EvUHVMqiSHfbPNH8j/II3vYcPYBsDBobIZwMYb3wh2IQpaqIbm1BqtcPlff8SAl9/sUfad6MoBcaJwOOBIeK1tX2oxbzrI8uT6ZS2mJ1BLVJYTCqUzRpVIwTR9PoEY6FB8eTAFNfgAbOquYA4UJ53kgMPYkmJ6QkgamOhOu+EdunWMCpTUkYjKETdAdl 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6666004)(6486002)(107886003)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Hm/n7/0xfKUOVKISchxXPXOOViByqAT6ez8tzBuZeu16ejTNndA7WhrcnnleR7ODK8tBgdHC0Q9QmsCUzVh906ApqliotgNWzEgF9sNfO52Bf6m3b+zrNX0ks+FuE7zkcrukhAK4bQstfyrpnmDevgCm51W71N51Lk2eUhWg4AlZ2f4nNwULZowWhc1vU4V3nUrN797gPkvxax3JQxyxUpxFBzg7qgsa7llF+ubV6+4QxEHeyiTR4lwNfR2Fs9y5DFW3uhbKIVncRr57AfySdvXmVI9JEc8zoSwvU1T2iYiPL8TSd/5egf+nAh3qFCA7FpfmpQUSoOyFtku3ybVpYHRbeh39Ea829aRPhNTXavoAvlEGEHJ+Gn7N39NvT0nEAaCyN6dfGS5Hy81+u7bAjZ6x6CAbsdqY6sMW/RGGHRjRVjv7pS6ZQieORfLre1KP00Bq45UzBr9tbHN++H7ZNrX7O6trrQ8mO+shgF3OTPNKlU3uCDXRaeREt+9jB27BJsAfPqY5iNPp1aK/bkyfgP8vif1nilhyAPj2WoPGH/3KQolOwCauSv1LO5gTzWs0uo7rkLuNiW0wfjCL4G/bPnbeJAersEnvX0YaYToAytKOjPIKH/wfGFe1PjnJeGByf5VGZ5LgIcxuh+ff4pjpxHla32EriU+xpK6xpFino3Cz4zJxuDHeMgAX6Wfvm2szxmVozwGbh8KEJnApMtprZ8YcnoWVs4fFtm3E5w6i2NbutGt+Vja/77O3F1USlsTNUMSMdFDDxQzRPdxfItBZkN6X+HWR3SO93e+lsLAtzKcSU2MKX8j4w5py8UHbe6Tc/ZIcopmmPV1SJ9HGYyxgZ5tG03AU2uRy6nI8pzHmTf9RnlMl/x6wRIF+oVvR3eIH0ktRm8gPFxWFbv4EUFmOtkHSPISuK1oXTZSzPPTUimLxiY1vF5eDUhOOVhM5tDpftsUxxbh/ClUXeascGb/Uv97Jx8v7+Wu4FVoJlBIsWCWNv+ZhYSju+kjkvfIi1e9aGLq7apa2kQ36R6xj65SLyKbWjlw51gq9pELtr+l9qZTwYWm12IJUD38grt4jtbUl6KOuotLTPBUs83tdS5fPlHqqSYH/UWVoURvgdilXMybEgRx5BohveSJrtpO7Bssy78cB6wzkXh4Hr7Nlzuocf30qkRsUZXH10FCIsBCG1Quophj/eEKuHEsOF8zE4kQTKczTa3xLHpe9mAT5B9dK40to/Xs+mGYBNYXtZwFFmCttC4wDVmYNkdSvRy6hbgG+MUtnySy4OuAK1omiJIMWeNUDIevx6h8ZqaRAs5qmYIGquYNawpIN/o4VTCGaPiXbvmySZT/HNgEciq1nDJawZOea7u4rowvAkkbMbLOlmvOG8QD3nVfbivHY4dfTkHCRuE0t/kgrgkcdDSDzHRD7fDL1csar34eH6ujBfvljKx0ZY5rEdXEGWy54j96JFvuvFFAJebzBUHDGRqk5xcOnRWDwy37OzKpr8okJTY56mGdh8bPN2OqRKDxQAIy+dh5Cz8R2/PL8aP3bwXAeYI7sJaS16wXFIJsWKj5twk6//ggXjbE/bshFfrvjFcrUIJWrdTiK8hy/ITE/04/MF7ukDg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Xs0XNdOwPO4e1IKlxs0BtX1yQT651jvUC03vFtaAk7K+pZZXDqLIxHtIF5HVdGBUFR2OyV/PhY/xGJmGNYL561ltsFoCM1zBoGI7gpyGRn/tQp03mqSWq6+hmdzDojZ1T/7E0unHBCAcBIs3DlIXsRQBccZ8SWt3j5OTJfsenL8k5nrAZLIZif3XqMxakwXMz+AAjc6YTqNDsngSwU7jjx3qXcZEAdHsq7z4H5nxmCUwAi/anRwMnmz18YqnuYEQoIsKkVWc+WFEaS/R7Znqh2Q9SV5WvqwSnL2Obw9EKsllsqAL3+2YnwimIre7Jbtya8SXgPzVZUhz0aOEuYavp/6y3pyYOJRDVWBLAWaqW+jYpuop1n7UDAUQxvZZHMqxt6IDptq8VH1wLferNMWnlSNPOI/sl0aK/AX9erDON8JXB65EW/KPaZCV8P/GVl7eA1s89wTEooBmxWlW0ujxg/zbP46bUGC9FFtx9pg/43mk+t3cPWYSB8xO5Dd5ZF3gWMroogGjC/myOL5BaYKyn2XU0jdKH4KzYECxVYvwcT++Dxt5Xq5K75chi0Thjlgz1o/GJ4g2lUWEf0aeHoGPDDu9Iwh+OzJtgBqmndwl51B61AgU5Yc9kUnHuYJUALYMSKUG/eKChx/8NjUiXMJSOsExf5IlpkBXFLFeUfwtwB0Iayvf2YJj99/XQEpViKj9EktLBkqmuFZTCBOqhSWtdPfKPXkvozrnoCqoKMa+IiB2+gxivE/0nQWBZm/RMMidX3nF2e2prtFF1Kg7IJcQBrKfWKstpeG/3+9LU6fTgqWVI4E8+/xn0s23meHtjzw7meKpULsRv0wBuHXY+2XT6ftLEgie3I82KUUcJdaGHIzmbVLwNm5vfkr9QweBppnbfCvSm3FHU0E4dReBRXzPpg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4ba792a-2f74-4c53-6efd-08db4d906baa X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:48.1440 (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: AzYTSYqBQk771kvzIfb/8WjH/syomPYxziXySBY+2FW5pYVJ/49xp+uiZ+nIeGTJ2IITL7wqV/eMt4SWLUKpow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: VxQ-Edq0BiYnWQuazuNsXOiGvsOrvBy_ X-Proofpoint-ORIG-GUID: VxQ-Edq0BiYnWQuazuNsXOiGvsOrvBy_ X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077638952557109?= X-GMAIL-MSGID: =?utf-8?q?1765077638952557109?= 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 | 171 ++++++++++++++++++++++++++----------- 2 files changed, 135 insertions(+), 51 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 2865a987bc559..2f43afeae94e4 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4792,13 +4792,10 @@ 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,38 @@ 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: 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. + * mas_find_setup() - Internal function to set up mas_find*(). * - * 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 +6104,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 5 17:41:57 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: 90572 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp653305vqo; Fri, 5 May 2023 12:50:14 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6BAt5o3EsItTtV6Jkqrvkhfdmo8TjvYHBuX7gXTJWKQNlvh+iLoSxoAmtCpASSg/eVJz3C X-Received: by 2002:a05:6a00:2311:b0:63a:ea82:b7b7 with SMTP id h17-20020a056a00231100b0063aea82b7b7mr3980747pfh.28.1683316214360; Fri, 05 May 2023 12:50:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683316214; cv=pass; d=google.com; s=arc-20160816; b=pBiH7iI+fVAA7RSMiWiF5z6w99uc+sKZobXpxvk2QF/I+QYvfqmQaXi6PoNGI57EwY qT+9iJ+DP4iHjCs8acYn+XEfrA1qDQGa4kKPHe3HCNIw7apv8eWQ3XBE0Jo3pwxzlmva +bV2h/LqmL0k59wdK8w8azB0oxgXJB0QvE1OBK+XgXzQawP5cuuxtQKBjosltBgKoQPX gQhsDXDRNXGsu6Cb6d2wUAygMKYGJ6l1PRkT/ZproXjxh0FQtjXvpld5uIlEvvSdrGCG +Z8yVqaby7mXNB+o3cRunq0iH9EdRfjZ0dP3Hc8gZgEnhPEm8kwsvbfSxgBcuj0uH1Yv Qdbg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=PTafvL4X6xGu6T0ZfW1qKXJxgqqfRSq/Q/MjkpchD+M=; b=GGMHcwJmItNus6wQGblbxY9R5sLL6UNWSTzVTgJK2rzjeoeX8VM1YClXSa+k8ZxIyF 8tqLHJCOZOZmAH8FymY7jnoC17GHzr7rR5jk3IJv5Wh7L+8rBbOBXS9A2syY0cYmu1X8 lIamIrJuDX6nHw+ac21GBWqQ1OxKTqU/jloBNpReYwTYbVo8v7oedIuXD18JAWkKH+zy rdJ/XTrom6kytAtbsoC65HYbi7WzoZRv9/LvD48AC6WFxU42z98DpJ9ZYHMBXTc42+G2 O7FqvLuT5qz6SBNVF82ckGmt7YR76PebkJsjE3zOIsDzo4OhtSmHOWlbQoC9LoAUipBp +cNw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=c2cuLEKU; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aUWMEpRh; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k18-20020aa79732000000b0063b7465b6f8si2735434pfg.80.2023.05.05.12.49.59; Fri, 05 May 2023 12:50:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=c2cuLEKU; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aUWMEpRh; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230483AbjEETjO (ORCPT + 99 others); Fri, 5 May 2023 15:39:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60338 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233186AbjEETjM (ORCPT ); Fri, 5 May 2023 15:39:12 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E1C24496 for ; Fri, 5 May 2023 12:39:09 -0700 (PDT) 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 345HhNkf031597; Fri, 5 May 2023 17:44: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=PTafvL4X6xGu6T0ZfW1qKXJxgqqfRSq/Q/MjkpchD+M=; b=c2cuLEKUg8uBZL6TMj16K3BXpOp5nIMSRU9K8JTDNUbTrBdpttIM5Xe0ooqRkQISwueh SPB9yz1wxWmNB2T/XbAvsUOmdrNTllixAu+E6FEhba/VwcCNmu89ZdwDXoyYAfdvoxvO dylElGrFRHVRk7ZZlaNZHh/J1gIPT9vYL6x6xjRXIur4PlNrbg9YopVLgfNiN3VOHfpM lfDE/27n8o+aQrPsrW4rJj45MZfmuoKwZ+GPkwDIfViQ6gW2L+XFpxtzlWqJNBC/jH4P fXwpQ/5WUH+WyQg0X5iJlL7uqxXyuK42CGA/DY5XzkoH1aLDgM0OEawSunUW0DcJqqOh OA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8u9d5nfa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:53 +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 345HA61j009869; Fri, 5 May 2023 17:44:52 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2176.outbound.protection.outlook.com [104.47.57.176]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spankhx-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oz5IyQR4o1StFJ4zEhM+bOIiYI5/W4ztW0gBIGPftAdB25bAEVSAG0DvXHZWF/5tivdOp/GnMCWGDrBxKmFxO845znZdIs0Pk8jHlstd9iu8movWVEbyDUktcob+GQeGs5XFimUJtSU4L1zCRQkbQiqcAHmZpckQFb0rGxPIfhEFpqZF+UDsRkgf0lbiTLcBL+klKsfNe8Zybm/GPE/9kUmrMJ+mCmN0LMdEVtN1PnhnlN6XEq8iGc+fFjWGIcOiLY8dOuN0xrI0lGzCxxiT6uztkO1L5XED6Z07WqnSK7CF/ZaaymnieC6MbejqqOtX2YgnH3m5R5oXFD0+Bhoukg== 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=PTafvL4X6xGu6T0ZfW1qKXJxgqqfRSq/Q/MjkpchD+M=; b=UVmn43+XGYcPqFO2Uxab7uXn9+lwcqbkdEQZoPsigH4VSwxsOucqdYQh5Lf6f75TY257zr1hYQ9CNucthblRkVr/ZWov6kKqBOEHRwhZG17iB2kwO4WMR/Upg1GqdW3D/aKi9VzyaBNPZnSWrVNg6gHREdBXJf7rV8Odo3LG9fOIGGOT9eHLzuc1pl0UBC3+zWPbdNlOxsGv4tgwa+GrOOT/twLdSu799z6Z5YDzHB/9wqC9lfIyiY8+inh/slT6sp63/n1EJF7xAucYMCEbJbm1gaED60S5qpJS9vgD7nWYQHh1NvQyS3N2no8Bi2DPOuugN4FDodcRNyVqmn8wzw== 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=PTafvL4X6xGu6T0ZfW1qKXJxgqqfRSq/Q/MjkpchD+M=; b=aUWMEpRhHPBnm94w3GAu5OoZwHhwzHNr9iAGnuYpUEGzD1fJ9BeioSbWPBWI9YuPZXq149mtueBUjCpjduxn+cB9w46SA0sJtIAMIKhSmEPOWmoffuW2AaeaT/iY/Y+IFZBx0T9Ua0VdNNoGDGijsHnzIGm8FVEF8uYxTySgfRs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:50 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:50 +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 v2 29/36] maple_tree: Relocate mas_rewalk() and mas_rewalk_if_dead() Date: Fri, 5 May 2023 13:41:57 -0400 Message-Id: <20230505174204.2665599-30-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0464.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d6::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: d16eb292-4577-459b-48eb-08db4d906ccd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TpOhe0XANZRDcY8pgNvWkB+Aj+R8IlyQd+tmkDsjdQkrRS+dBeMdgsnV5C/eEvM3x29C5Pg7iSdpcZ4Qv4IMKclwnTwtg/nh0jbTJ4MDUItmfL2PhlDT+8r6VVxV1I6xP29oUa0vzVKB/xrOb12pxf/Kq+1NqPgzewP/vgZl65J4cNw8cpeiE1ZPfNZbNjf6dlaD/8MThbIz+BMJm31K1a7yLJkR1BsvXx7fcmVqe4ZIggQlDVq/Q1Wajj750+7mP7PYlcg68PcwQ5YnJteO2Z7Zd9u4u6nPGvxnTsflliyjAsYhQH0t0/PWfiLmDY29v8YS2ys6rERWeFw2KwH4HVfEwMcx95sbToqNHiQNVhmbs06kIr9ArApN/J52Zr5PtUWVNchUpA522qnB0o3DNA5nKrQ/psu71WOcx9lZKs88xDUC3BJpYeONiJ3JQRFp8d55ZZc0syRreAtUPalVhYyO8R+cD70CUNhG5btXKyHRausSmvB/Z+Hby1E9MS1Dt536GYO9YBJZhDpF/hdbmzK7+7sWQXw2oD63WIX1PcGGs304aIjBesEvHOkWNrtC 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6486002)(107886003)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: F51w7Ox4aS8VmXwu46vP1/cbaWXIyW3Xc3hTU2n352THbGvJaSUNFtHjpqaHZWLw9N4o0LlEReFP2DLMN5xpPOy1bn+cVXee4NgZvav4xAWCXaPWkKru/hV4+Z6ZPpSHps0HiwpWwL5zcfXl2xJcyEANmR/xfBks0IP5PxAaoOI2+jtNyBLfc/TvTQS1FvZ0xBoFHH2VWjbX0rV6vE5j4S57lCtRtA4ytb6HTMv9lG6NCd1E91PZ2owiw4HGYk2UYp63V/Zo79gJF8WFSj2WvvR/UsN7uSnllODjhnzJH4mKKFYmmHnLv+KYPny7hT7m9SZt91fBff5tZzKPvDT82TBG7CpUvvC7keOrvBE4Y2dJzZYgoXyeNCr/6X1SbJSP92aT7vlCI75Z3+qlvhi1bsoawom+F/Yy2FmLcZKb0z2+Ce9uV7ILyjvEpEMsSCDnyg3LU+m+MlDoN2PxquYIAmhEda/ekf28Zg9spx9ldUemkJ/WRySVJdPwrbhM0rLhOMeexJ1fClU11yMML6BtgI6qsxdIhEkQ7eiZklxWOf/0zfjFkn6wKHxOqfHqhpDiyHeM4paIcCipUCbElkXDKxX4rgiIDJlkIDucp3VJKeohN9UNHUU2d2O8//Zb6569PrfZVZeiAw/LGkXv+wpK+zxSjxdpzLOQqGqtOdZ+EeZ1Jhrsl3SnMLES8nrOQAHD83Tbf4kpOGqCzK5ovukylGlmw/ZW7XFLMnmbVwF5o/TnSRmqOnJfUNjM0/UaBu9T9aYPHoZLDLZAqZwLx6iaeGILVpy0rteF0fMIW1ST8h/9ODpM4F4ZsofGkD3LyDcNpgcUK+ky08yxM9XxKLDVi58Tap2eegTIAi6J3ib0CPfr3GZUOkszoJap2p5rhCgmA32+MFPbiEuSUpMDBPfyD8PKWPApf2AIHzWK2vk3vYtNvFUBj+CQ58Al9GHzRTj70WLehjBoSifhP3JQCGyFIBEp2NfmzSESBqdfjAJMd6gNpb+y2yz+33k4nz9MGyDZueyjhJYeHpvM6pO1n4IhbnrSnLlLXooot+b39i4JvCymNG2TbftMLaYGkYMLG5nyqbrfgRa+/nJvInCQnnmj9nvsiZlnust0iM76hecQO6ASmfYu6v6PHxAoD/awT6dIzAhG5oHnRppRzlxtNiSWPxiZ4y74I2FquyvNJdSGJ3cvtfsRuIkaxLCK9VlUXHFmg07hhR/MudlsnOO4QP5h81DQsKbcvs2GxkZMI3pMrLbStDSQJf3eiNwUOFYiILk19k9xUWnexTmQtWZ8Fk9zXvp4wwiSiN+KNxFXyRuSiMJaaWVavYOSe8rYstDlovL8UdWyDffkz5/kleWFGb86uRY0Nwe0dQJwD+v+gEzL/7hYww2oPUNCqYum1EfqHPuDpKKnD/JhKiz4Bo/AVfZoYWiQLC4yNcHaimOPMytIEnRrIoaH+lr8gc/i9n8HMaFjG/L69X4eecUVkshIfMKxColIyHuLZl7sYI3WL+S8cph/xMKp1uHx0bfemr1pp62SNcVSl/THVqyfH9O+Qc43Fo0Ig3JFhqIdYxYxcvy41QzvRBTGOB9hPM8VHaRYoQGCQg+lnaMcR1j6i1Y2JkpAPQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Fj7sNh8mQtUWMjQ1TmOVabSzr+oyfTLNBiup4bOyvgwlLpT5hWQDK4qmkRuju/NDkXdJK3D96/slDLznmsE5Ha+V0iLvJP2Tnz3dsyFHylTGQJggRqaHWyPfxeM/o7NRPL064IzjRnRuWOzgX3ZAg5C5O8DWyZFHOZsHaPqm0O4Ss5cXYfmd6+X20LLb3R3OJzB4t/yVVieGB6QSEuCq8IxTqdhpOEhGzJgfor8rn+JGimoO/guCadFlN6oJBsTP5vtJ577TD53HANmfPwb8F6Zsx8fhsboDecnkb1Q/9sOQlNC61/gr7cCvY0YOksPFDbzYqcGdM/OY/mYZfLRdbSKHzngDTlwDb+d9bJ84fZT0fqGSZo+IfufftFfoo/yunwSu9OGAbpZ8/1gkHE0TrCph4g+SzvakvwgxWQhoQArfEqsOshCGS/Q5coZUVUd57vKjkXLVoq0wz+n2T0GCkKt5ttO+IEt3K04wbNzn/cSaNygu6aX9SzXK9OfaJDpqA8gv1FThOmVtZlXNio8Sh2IrMQFeSOmZbGsQzIugqPGyq9q6JUuUXSFxep7gSrTVaL7zFns7fw5AeFPeFJMEykAQEHSs27KpRC3M3ZuiDoC7/0/SOSxAx76NcmspQKX9yLr9IkojIDhl20uCCGFXg4183Io92hnuDOpLmDFdUHmX8/YghyXwlR1ypAboP6u7M3f9raflpTjxVi/gKv6PIcay97GECAYDTRSRN7XcZBql5CYGxNQgR72ZIkiYNIGoqXTzPoFtLRRqBG06MFxHmhcQcgUIEGiLhuhOEEpOvJsSt1oh4cgzdSewTYbcHattGnGp4pavK5gvQN3/S3iwPMW3jm2vY5q25umjjXtORhlFQjYQePapDf2/l9A4wq1zjjtpQMhpdWPYCBowxha0Ag== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d16eb292-4577-459b-48eb-08db4d906ccd X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:50.0191 (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: uYnmyhw6QJRY+JOclBkelaQB3YpcgpSie8u3NuATYnM2GxtZy4tSdO5Zss/ll9GTtO+nx5xZhXCcuIzTLG2T7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: Y2EvNB6zQMbOz4BlHOh-QzHJ5m_eydTy X-Proofpoint-ORIG-GUID: Y2EvNB6zQMbOz4BlHOh-QzHJ5m_eydTy X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765084982741817339?= X-GMAIL-MSGID: =?utf-8?q?1765084982741817339?= 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 2f43afeae94e4..b0f185a8154b4 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 5 17:41:58 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: 90547 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588909vqo; Fri, 5 May 2023 10:54:58 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7sajeIPiw6vZbYUwprS10NLQUGL2HwF2fueX+cAPkvFKgCi88NAs51T1IB4AZ1DizLLWni X-Received: by 2002:a17:90a:a38c:b0:247:a53e:97a1 with SMTP id x12-20020a17090aa38c00b00247a53e97a1mr2407753pjp.28.1683309298073; Fri, 05 May 2023 10:54:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309298; cv=pass; d=google.com; s=arc-20160816; b=q8uGx/unEw66wQGKraJuVjenIJOa+F21X/q8Yus9EwfK6ha/jhfMAkbEtObMC55VVu 527zhca12zKRYyHHxqXqmP5OAKSTW05K1OFlznH8Vm3SSPvv4f0kPaPbF3NhzgKX6De9 gghNVlwYEi2zuCDQqptzmzxOeueG3eJ3syzOXlP1gzwZ/pBMpyOcIh02bjegQO0PG3hz hqL3jfI7Ss/wI/pHTXmOu9+Ud5naRi05cDi3ax0G5AjhUouPihUGR5JHQnpel3y+B3L/ L0lKP3t/YHWyULCVm63MLGyPfhKMwyX81HVHJVMcd9VuNkeat8hZJ4U8xg/i32/fIC8A zdlw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=CA7TjhYz/vx59Q/uHiOAJePZOs9K1Q07auxG39Vh9+I=; b=PXirYfW7gUPuPu8Oo+IGMbUjAVrRiaulHD9L7yjTvD38kEMYTaDzDlytGt7n7YAB/p KbAPCNd1lvXdUpfvGS4chjiUIhMjLp54muRP98/NIVMIl/ne4jMCzOuHIwIernS52twJ SmzBVr8zE62Q+9SUR5urAGfzc7Z9RiGxVwUD9WiV1eu1LuQEgdTSl5p5dCt4na7VInqx aSj7aR+/iMTSeNKxZKx2bcuh7z00TEPTxEMdGr2jOR1EevULgP+I/ALHKcUifhIppQzy eEFQlsYRR5muOXKXmhT+EGsg9r4s4jR/ZF4KhmnDPwRloKMzMNwwEMIidzI+WBr8Bt99 C1jg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=QMLIVu7S; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=PUA79E2p; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m13-20020a637d4d000000b0050bf5a814a8si2448573pgn.403.2023.05.05.10.54.44; Fri, 05 May 2023 10:54:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=QMLIVu7S; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=PUA79E2p; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233077AbjEERrD (ORCPT + 99 others); Fri, 5 May 2023 13:47:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232009AbjEERrB (ORCPT ); Fri, 5 May 2023 13:47:01 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C93D01D96C for ; Fri, 5 May 2023 10:46:16 -0700 (PDT) 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 345HhMLV014811; Fri, 5 May 2023 17:44: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=CA7TjhYz/vx59Q/uHiOAJePZOs9K1Q07auxG39Vh9+I=; b=QMLIVu7S015P2YmiLXMZYSvyTMbWFvh6TOFhVhDo/Bi63VABFde+C21m2RqmUhysajgn TdhbveLz/i9+S10VEWv1sNdRnVXBectqasX1QPkseja1wqxD8WqnBGjZ6rkR3pHYKMH2 Vrsfr5OZE3t26ykRQLl7RCmTIiw9guorzlYYp96dDlG/Sx6ZzfuiUT1ojsMclK0uVNfB bIhkQdiAp21wjBDW8YpLyB5JhFujJZe2n03yRuF/2RuCabgOVKd+S5dne2zGC6IBOkdY 2t9uzY7i9wzxKJH7i0wTx+eEVpXU15SLbgF6R2P4lEFT7jqekCu0OUfJHBlNeJwbb5eU aA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8snede0b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:55 +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 345HJ4n4040541; Fri, 5 May 2023 17:44:54 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2108.outbound.protection.outlook.com [104.47.58.108]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa74pk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nGonLsfDzPaPppP9YU8ESmClONIw1qpSVIFxo33Y7jsrpxJD3DoExAomVcc4kpIBhA2VBUHD/eczn3YbmYeM8sguib3zU4lzJo38m9nACSuKv8HY6UYBnzLym+RnGqH5dI1YTEN+7ShAEtxmCp5gObMRPcxR97FGavNZDdacK0hESTVTTsgjELXVZTvPtIIWWS/REJu98JbOV2c479VfEpT/HzT6JyBhWIp6/Pks+IVv7/NHrD4Sy8DGmpHYL41Z9zG8nMshy3RvNpkIIHX1SK3RE0sGsGXWImxyURyOykAy8St8JlfKzB+wkx/GHCFkuFvbvlNiBBhnbmXFwwA2bQ== 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=CA7TjhYz/vx59Q/uHiOAJePZOs9K1Q07auxG39Vh9+I=; b=HI7bFEy4tQ7NLiWH/6xLsk4VZTLInF9OKkemQvNwJHldtunWaaWIIDtg/J6ecuqimOBaO9x2fkwd7/qmZ2Lx8Mu98gkfHRdV3tbp5igtKskAw+KOwfEZa/Z75b9SnDvKavXzh0bg216L7XZf/K4nWBEKX6y7ezRBuOMKB8ocL8m3yaZGeW8QMCabBJW9XLNN+jAB434W6RZCxa7cpzfHDExuloCn8bmk6p7fmKuAJ7+Um/2lRhgYLtHysRKmbOw8Q8KJJXKK4xeoG5RVCezcN1N9jd3QRemTxyFQ4nQCTPJoCoiMdfNeV0PXJnqj+lhgJPaVy1EaKIaJRGUVzPzi7A== 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=CA7TjhYz/vx59Q/uHiOAJePZOs9K1Q07auxG39Vh9+I=; b=PUA79E2pLy+w14SDM7hdXefovq74KBt80nGWz7eegRN7LMo+fFuNPxwPSUUyXppgxWDUxljWGtv3p3novyG8M8Pk7Sg5VHG9ZcrwsM6hjbTbFzHhWDMK6nyXNjHf140cLzITOydjAQBbs62fMp4Bd5tyd8aqBJMHwXkJBHD14FU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:53 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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 v2 30/36] maple_tree: Introduce mas_prev_slot() interface Date: Fri, 5 May 2023 13:41:58 -0400 Message-Id: <20230505174204.2665599-31-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0027.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: ade42863-8341-42fe-68e8-08db4d906e7a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RVAqzFOS50BD0j6sifO54mDOVa+Y0xP4yxIS6jtH+SZ1hY42OCp8Z8BtOBd2RqlowJ2kQ8+YoMRehm3zRZB8C8tJ8zg8RA+jhgtiZXBACEUHOwdVbBg9AbWXv4OtxPcgV+9UCxVZAK4dKj+p5kDMjs6tL9VEhtU8DM55KGgs+XYnhFvIvFUHJlyAwaTGa7ptJNK80lCizVcoD6CDVOjtTUq66T5V06YxQTFzmBDKqnFiLaH5cm+mGWXiFV9MmH8t8vJwY8WGONgPesza0wHZJUxHVzfUadtDUzbPyMIL/gFjaD8BvSOjduE/hCSR8mNlWkQGUZ2SlQTmIXQk/Hwz47tXp3utSKVpGGlVO9+pfdRyCvOyQUtqN/VkglW/3nzkZgCNGgZ0h+NT5ifBDNcD8WYjI/thADZJ5QgT3rwNa/IFvegvtgEQsE0nQgWg708uX/FjLebP/H1NbW2lVjONdExeJfFyQ4f71mr+HowGJxCpeRsnZTH5SY4cLEK5GnNoQyvgywd2NU0fx/fyqcAAhMXotbySZiroI9cjQAXNI2FoJNjSUQyt51if/mgSYJEe 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6486002)(107886003)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /2JdCCRyFEuE39RCezX04HYkKltHrZ0x4Oboo6i7pE678fIulTNOrSMYQGcGy9F+BFCkPVIUWuQCnVeoH6VCU+BUPZZ4yGCu1ECaIopRs/qOh52uC1+A55iz1FLqccWu/gFYr92UILYigtNMTAa4yWzKduqp5G8seIEZ1dX2ARk4gSx3grPAjxUrNlpaPL3gU2j6cLvZ/y7cAqvipsYZddZ9qg5cxP2oDVcXeJ3jjgpcQ8g8X0BhHn6eSn+5bXqgsdJ9qvT3A240SEYdlQjYm8hGgnfatR7NB5LhC0p6nul3j6vICzP6oGkWBw2Lv9ZO3qXd7xI0kL3hXnSXscWaoXAMHibK7I0xYKl7EnbbaMAs5Qjs7sj+StHjRnDoXfW0Yfzozq2uVGi3clpNeuqtA+JUbUNDqsjVWtqGEnkJXi92GvcPsTQqDceDziciTKqsENEdCB/2l1ylVp9VdVnsjrKG/bCndxOPDKaFvLybNtRyxceaytAT2remv3uHUtXBpHE8qoD268aCfNGsXnE3bXWULetQBbNzhCd9RcqWHaosRydKEaN6suOywFhu8epr4rckIQ8AeP7jBbsP6pustfu7xdF0V+3z4sMerQDBSz1fYwBuwDMJnkR8lDODqWIvz21ksn/cJ46UhPpJuv25sFxey7d3KrNm8zL4ZcfBghqDplc6vMAMtOL4yEwSVTyL9Wc6t0Yp/uGrzbOI+OdhLEAzwrXg7VuCsI9Uk4xRCkJ5DhxXaUu14fa05emsjNUjjmRJxqJEpNGb7z094HcE80JtPe4/A1B1G5YfrzJddKeqoWPR3tuEi73UL+6LJWqIhLX5DR5ObvAt6hULxLEckw1ydewunxD2luzXec+BPRuAcRfWGdoc5OEnUfHGOLjKYquKUeZGgP1BO037dCs2egE0VVF7bUWCvqlitxA1SaO7WrtC3x8XgBzQzMOK1MUudP5lMve28qh+j3cpbFWCeGMrqABGE2beD0S4nRZpXVrE1KCO0DvJlH8cm+tszgOevJNWB669ErEA8q7ez9UmGC8flXgNNjrTcXzY6ANM6o3Mkuw9eE2VXhE+wakI1f0xhAfuAAf7miv3W7scixizbA1WeM0FpnJWeqLD1XV4P9poqxGo+nJzouAVinAJjmR5ELmj8y/KOt+zaO7cKuZYej2NU6HUNezTIw+pVoVS7m/LkAOzof8+EyVniy6ysUr8eqQl2j3+lpt5iwWV6FwvrhoWDA04D8v4XVDCT2muxoM+VGPxLiJPODsTm/OyjUoOdp5jElIAp60sJChAgV/abjWFEX9qmYiArFAkgmtNrMVohEuUalAYgszoozrcVCgC+E/s5PdWRecbaEv9f4tvLil0in1jEpStfD+BfbbG8h8oaAEdEaUda1zyRN2pU4L/EmpKpFwVD46xhAALtM2NjzXtApzrolwum1SpqMFPAohiXO5wWAFPIrO8sT3PvjoUS0df8iRU4BiuEV1NzYlSnHSrDq9Ge0sa0Fn2mov8S8jqBFrz/+/imamdtFytXK/QVgNUEw8SW2rNDWcyH/F6/aUEZC/fUzcrGC9sYqG1aVSoKQtQekVlSOvVNV0IM0XDjRH4qzkB+zBnlNPVSdPs2g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8eW3+kgvy95HdpjqmCWK/I2aH0g4ACQ0z8NFYKsTdihXT0/yCz2ydfS6yGL6Mujkok0YjmnEgeoaVMAkcXHR+9vfU7Sd/fyug+FP0ZgfwvRAESsa7T5KvHQt5szpeh1TQfwFi4wH7d9X5UQm4j37cA8WEHP6SeTGqIDSsnPmnLR8rnJtaoRffj9Bni8MeiIxzFTbP2ZH34NIzyYbhFusLJCOYfDPj8UEAiH4+RTso+QcCUhD4wjRJZsQ625j9YxUa+XCSHo4kki9PcBWwSyFct30LQ8EjA2IM4BYQFOmEby/GAN7Twoq5uLMcYX94U4910CNq5M9g0HKZUiNYSuvRTroPG1FQ/wp0YHGjAHhfB6jb/78ny7vSvhZ+j9Eo2gBLPGRSWfAltzOZ01KFXOsQW5XQwJuqNRZfwXm+X8UoQeUmH/VPiIgKoB3UOSnPvl8OBtK0vHUSgAB8d+3k8pb9dlk3uHgBb9Vq/ifDgyGctmcIJuCm4A5RXO2S4oOQgUmSDMQem2JNQIcSWr/jg8hJOba2tosbZ9TcTRvNq6KycfbrL0Ya2I3EG4Kz6zZ5quyUycfGrcPkV/DoEaYiVOTKmkuQLpnwPGEfqNAhBrCTdUSa9Ey5g+cZXPvNfBmFeOPfOyj3StIuJzHOm0mxv+RSbAMLIPb2LA8ZhBm/60Fq289Q4SLpbzHzowtRPku/dNYUHPRypY4uo9ZGoHxpys/VcLG9oi5/bF6xgm09Z2FGs5xHV6bVm5v0rkEQAosjz9pjrw/r6q3Ja/NHb620rVybFetrw3KJqWcohFHZUDGNyH30AY7p9PlDzml18gyU+/myza57Aqt+h+74AsZ+i7aR0j0K6m9D4Wc5xxAocuu05fTD1Cbj3e0r+M5awBWl5zwy0jWbkt7z/iAhtmnk77ZSg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ade42863-8341-42fe-68e8-08db4d906e7a X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:52.8658 (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: ucTWXRalRWLhz3gKCXAoBw56D4iMTnd7X9mk2NsWnlLFM8eqrP8dgjuvM22zcXzK6KRH6BQrPkKGs9xWHQB1AQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 phishscore=0 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: c9cf0CTyHw6iQVJsRmQKihWYchOaB9LM X-Proofpoint-ORIG-GUID: c9cf0CTyHw6iQVJsRmQKihWYchOaB9LM X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077730394215260?= X-GMAIL-MSGID: =?utf-8?q?1765077730394215260?= 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 b0f185a8154b4..e050fd1f7cce8 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; @@ -6229,8 +6177,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 5 17:41:59 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: 90542 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp588493vqo; Fri, 5 May 2023 10:54:07 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4PGIUWN9NPzHIjrovcHOsbUbCH3ry0EYrz7VGBXH1cN218TTxgPZMFyEh8yDspXlfsJFUf X-Received: by 2002:a17:902:e745:b0:1ab:1b9d:50bf with SMTP id p5-20020a170902e74500b001ab1b9d50bfmr2383516plf.64.1683309247153; Fri, 05 May 2023 10:54:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309247; cv=pass; d=google.com; s=arc-20160816; b=l0iywDazzibad+DZJtfzKzWisHRmNCL9k4HarQTPjBUKeZ7osE8HNBVz9sFzS4vB/Q nI5JhIQ+gJgWmGyJP7HoY6l2hzxKSqpG5BSlRoQbTEqpSAaOI4o9ZqdqXEhv67gggKGM R41Uex5hrBYCDvMENupmJOZbRhBe2njrG5f0AWgQN9HDBQBuQy/+l6mIG4Nvchu8chGk D1eM31dS7PiyIUUMz9vrus+fYlhvPoQbHKSRr8XqMMWSOD9/qJ5xlDMtzLcoVh+n4tDh yHV5KWfwdfFXo6uo/AtBSdlpr8ETZNU+6km4yo9amPDdgPiGv6eMwK2iF/9yxqgEs+5e S/WA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=tPa63bPANKHAc8JBFv1ND1h+aRJpGkxzv6Wn7eeYyIg=; b=YHz0n2QyYmcApvJN5xLkbe8bIM2ludPY5lUA6JybGrwHl4SNM3HuWCFx7Gc9ttoEe5 9tV9CvFJ8DwgsoNXQZIkIdQgJJNWhur5f19SyjsSNlNKc0Cmdl973/5+PUYkCSs3gcZA GBPZOuO1bl5z8sxUMwiexC2x5dvyMUG+DR1C3ozJVOQz2myCYLOUYXHplQBxkwxp6RT7 DAW+SSMX8h7D2XYGAK+iKycEJMzRT09c/wTIWWU3QkTUw/CDgfvLeVCSNgybJ2G3KSYw v64osmHs++40kHv1txI6M7gdhcowXdfzTe4gmKmWlAU8BFIyp5urjbiidwglWTrsMim5 88Gg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=R0aSZ1Zi; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=GYPIfb1u; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l15-20020a170902f68f00b001a69f1cea63si2310889plg.223.2023.05.05.10.53.54; Fri, 05 May 2023 10:54:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=R0aSZ1Zi; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=GYPIfb1u; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233109AbjEERrG (ORCPT + 99 others); Fri, 5 May 2023 13:47:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233040AbjEERrC (ORCPT ); Fri, 5 May 2023 13:47:02 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C82CD1C0EF for ; Fri, 5 May 2023 10:46:19 -0700 (PDT) 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 345HhLc8014779; Fri, 5 May 2023 17:44: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=tPa63bPANKHAc8JBFv1ND1h+aRJpGkxzv6Wn7eeYyIg=; b=R0aSZ1ZitY5LiXrrBtuAp1RFmIIYDMY2e+SCtnUFQ1SccRxnjerB65dSPyMYQSOoh6Y7 TwzxW3SmrR4BqUuGMr6YMFFBKIuW65r2B05/K7voGNWFWivzpjMoesBOSuh/K5rg5bhK eWvvBsn6JbG9WsHHvJ/mZfxm6ETn8yxNH45B6CzUaLcox8wOUc7x8D+otzUjZjz/4mKc w5650dfQ3Hd5w16QnPI7h00zWBIwoT5r1c8Wqtvm2iZhn3rdJQiOishpLWBOR/WM2oRy nzLZz+C8w9Lgnpuv9gEX5ZQzy8UskytIqZxOW/G0l4YIosw/pt/hs7Wosazzatfc3Vt0 0g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8snede0d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:58 +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 345H1IYa009860; Fri, 5 May 2023 17:44:57 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2102.outbound.protection.outlook.com [104.47.58.102]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spankkq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hEAf6IOZXJ6mtGKq/Hg+/DaKljRLW/jrHZgPFvRbcYaTqme7LNdVRJ4oQqRLCDutwJXfdsQazRoiTS2jZgjk6pHGzl+ERpSBecuDPunsnuCuKvdbrdTGq9nAMjgYwx3ICHlkwckWaal71dRp6jg5bann7bfXjWaeTfqNC56dESpKBY2TOBec3UnxHPF0Wn2CEcNc7WyUNcsUdF1zKtzIk+VU0CaLed4D7ASbe+Is/tcoYaCUl6cMI35uc6BtxSBbvaQjIZYag2d1IgfSowUO7QFvKtfRoFE13dDOKBaxMDMea2CMkUq8Ri9dJnsqfcUTh38CcKbPngGg8aaO0pCVrg== 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=tPa63bPANKHAc8JBFv1ND1h+aRJpGkxzv6Wn7eeYyIg=; b=O0WI8mU1JNq7htOfssJMMhD+Sr7JnbOTB4YjirdDz6EXSSc7VVzEjU1PN9VxuPUDGvD3R2J8QRtaXQi6GMyvfhBQ79AdZSM8QbGy29psxzAYM1nxxLhDwqfaytzXNpKitQfpRXfe6jOcABkYHjHZElrnBTub4R+XsA1BUi/hPPYQ/ZvK4k13c7dPHQ06FO/q2nh+45RpJ/7PBhkbuyi5ACTuDNtXe9NhS9GE8suASGI2zXRivgbF29v1sEBUeb/+BdFUWWzSCcJNzQ3QfOvZ9JFwojvHQ7pe3BDellLQFfd5ir2OXG2t8f1rdTR+iMl4wl4fB0EKPvrLpAxxONLKuA== 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=tPa63bPANKHAc8JBFv1ND1h+aRJpGkxzv6Wn7eeYyIg=; b=GYPIfb1usVhgbyewh3HpFbVkiFnVELQh1c9xFwB1MudicWv5jfMGBMiFaQv+8W4BN5BF1kETzgukKFDAjVxWXSD3hOW5cd9rE/RhYAR773oJSgUvxUMScCCIRWmy72xqz3moH75fFukOszIcnudCTpezUVqspNG/QiXdtNxvKDI= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:55 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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" Subject: [PATCH v2 31/36] maple_tree: Add mas_prev_range() and mas_find_range_rev interface Date: Fri, 5 May 2023 13:41:59 -0400 Message-Id: <20230505174204.2665599-32-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0414.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10b::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 2cbc96bf-1e3a-491a-1a01-08db4d906fb5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ksz/gHHU1Ju6pYWKqJcqBUewojUUs5+cXPjlMsdMuZU331qWsSYCZKr6z/9Gjtk4NQJVMK+90S4qnSiFxHxfab3O2937kgYJGjG8kBQlZ7kOP/w9w52/m/b8Jrs+MqdFUPhnbfobX1xeIfWyp5rrCrYF9zcwKe/tHOvaUbqNIhHEac2gmsrWAvZjNfTmjMSIRojgZwWFz5lLZXn3yjOEIT9RIaWtvlkv4UufZaJACWPDQ+WADZf2dtL4baQZmuVeStHg2/ZcciKOxeYnnnG2SgwVvg8YfYAoUfs1T/ly61t1M8vPrOlpVptEhSwlmk/iRZ3otb8bsOFT0Xdj8mUskQx1MlJZmijTLR6GErWGUaUv+9QBTclc9/6sS29v67FBYo4jg+zuety/TOZlLLgZpxIwFwJXL6Di/9i4yNnIBbFHAl4OhNUBZfU1BIJVd6bU01kuN3t/W7BqkhWEuLuUyOHqD/1KQrrNqORCxvA5vlaQbN7XHcZZT/EygzrjDt0bLSzEaubM6b2Fba65MLIik6n7cEK0yCZ7m3GUZIMsLHBz2VSj2CZuf7Up4ys+vpOc 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6486002)(107886003)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: H2+py5iNpvfm2ZMC/+kQNxjdOPAUeYKQsXbwXpRJFCwlK1H9nVsJuLJiT0VwU7gNqSyxLQ4eBaG9/V/rJYFjEnfP0IydUHGgGxjBfgUN3NFYlclGKmDm/ipV4Gi1nJQ3Cxh9trRse9lxeHd3gVemN5Mz7SWqGV3mK+F5eZlNWI6Agzmb+sPW1K1U/SWizqsRQXLyDzxDHK5AFVpIdZU51UzgvYa77UX/SuZrSvFcRk+LpxF7Co5lAuq1/1S9bhAjF4L2i+4hH1wL/CmmlN16y8JgiewbXtyk/Fb4LapF0aLKef5shzdEnUaAUuC0r6b9+EF2bGY8sRPNT8LCWOlXxGLyfuTWwHnoPNoq2CB0jDZYPPS7uhMqFN+YTcSfvBt8BJ9fJOJBFTWBxR/sr4p6Tq79NcmsAZ7Dr3kpkvAjIjWDewlFf1JXW18buBK71rFoaSL33IMApKPRZs/91py27ztbjBbonIIB5fitGf6Xne5dS9ktMiUOq1CMb1PbGMEwPFIvswNS5CVJWE22i391fOTusHYlgvL/TCAcy12xLfWf1+zmUi995/aKoN0hPt7KmTyZNeLjqiKO0UWDOy8scqKpQ9eO2vkoxwZpXMwqL8vDQiHCfvoUdCCMgtlZ7MRDUGmcYbD/6Wr3OtMesG1Y0ji3mmDORFFL2vCvdIY5+NcpflxQJLvWwVYZx8sg6nof4Pn6iloCTYtCVsii/2OmN90c9ESsaG4be5ajvU3FCLEhscdmqvimuor7ufQvpIcF5fWAvv9jfDf2hPkQCWhJNpAtl/0NnGBxt2eb/h3Pce9S0QTnOVZqZ5KJCr1BLzcu0Kw7ZLmS7VFJJI9jq1eB9cpo+thk8QVpxsYMUcl1RPaX89RUXqOGAXSnvVOKsRpQk1EXFW2DtbovmwX4kgBhRzRPN5+nAddAVpjY9jHKQ0VH5la17vHuWIN8ICyaiYA7YU2e2eHVkSnwAhDCQfAK7w3oZHI6sJYa9xExhi1VO4QL3Y9tryUqbmCxg42YrDWytI2316z4RgPGJ139Yg68kS9GWRK1OUsh6J4+Aozz3DetwHKtw5DdQ8nuiRMWjaszOfssemk5kcl4GWsQsgmGf9w6PUVRENi6OiT4LJ7bteNDmTf/MwKDPPkuf2cTyayqfsnGjyLMA0l+FgGsGJmczngWktT2I8FeEEIjmryTDsVKYOSBf7DS8Qpm4QlUvyuUV0RUsCTlGRQfwzLZSeGRK8JrW+kF0TXCjrSs35OoevSnehr1+mhvHIzBDWN+JPeIw6qKnB6rkKroCqxkiCGvmaBKSenuviKbQpiG7MjVsJLdiHSPNmAl+BkLFJUKmrcCA+ozftgQ8wqB0bTqYStJvNweaetQXs0CpDiC4wm7dpfdoo8n8fR5WlUSaNpAzc2S6aTJ62lc1kq8nlOOMP45qVMrDTvQsZM+bSNl9paRBZWiC3RFI4+VBZIaxaexjKAoCzZMDEWRwCeyueKK9iF8wPff4D+vNn/YGgLSDz3HgE3t2WE6YpKbxkoPUO03lFRB8PS7YWJaU5Du5EXpaQeBCeNwv8yQrsblMlYiu47CpwdiuwaGkBaen8r1HGn7kULLrtDYCy1DpDPvPsbt+/+JoQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: a4fM6A8RmU4BkPUJYpNK9+VlrZTObbAwjsKonpIjj6P3fEO99jFrvXQoL4EzVrIKNypJlMfKda9T0s4zwzRPRhvoX9RE0/zPh0oWbzrufv8Q3+fPuD5yXR52Pj6OBdXa1bN9MAfYWKEWrHa8fVh5GPSjnZlb7fxSzYXseWrZhwLxZEuVuC+FisJsdRtd+uzX+OSvCfjjfu2vwbq18NkF8COoN3Bm//9g1LGwQj/QQt4wFMZRGMOf/S0DI/tO92HCz3B2/fa/iRdFEuCyTliFXKoabENJmPpOEltnhtaAkH9MYBbDRgLB79ZoqE8JgHPLOAmrhPARXsZl2ELDnSYXTxEx5rts8399hi1SceYR0AnMmi9ganil+g3y+UoWgjO2Nn6+u28CsiGf4uFCjfLqe3BEFRVgHRZnyg/z1IosS0iVppuNeMYKe5gma5eWPwMtwB8Z/GBHE6Ss8t8XsxnC91uFQOVILkICzfiffJUIiCjIEi0oJMis3f832FZDe3nyKeeKcTHt3cHYY+kJKtYjEfhQ+VCIMIUXgsS2Gbe22U1oDP/b5Y2lPQoCNPvu+0nM7m3o02rz3hmFA4IFVxK1m2EP1eZ3coEPRsaXvs7G51UKkNbJ30gU8tNgJpCx2ODVh9ySSNqZ+FG332JD2dHfbrm+ehqF2r1nli3ZX1ubqPxZekKvptD1CcKywYRld9kvGk3BFkm7ZKhpo/UrZkeLWGjOaoWXM2r5prsGfyHRI4NeBAicRqTHyQQBIz/VzY+CIg7PjfR3ZhPkQR6jz3bW5thY/dOJOq41FvNYsYMdRPA4Ddbrdry+fDgEyh7ewv6fNUmpEdopijACd7iUK1xrudu5jurkBwzXjqD9nrD9li1zkXbTHVKhiY4qSsrfwz8dS08NYmrIDwv//nfvjlWO2g== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2cbc96bf-1e3a-491a-1a01-08db4d906fb5 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:54.9124 (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: khXMpdc/AlxjUbA2LahjqL8JJ2PTgY8aPzLRriYhjjSkFB8IdBJ5nYhDjkC7OKsq0gdIyNkWipVEYCIo/iJRNQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: p4grx47VenGKBkVqCEzh_UixfyMyIDKp X-Proofpoint-ORIG-GUID: p4grx47VenGKBkVqCEzh_UixfyMyIDKp X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077677420618998?= X-GMAIL-MSGID: =?utf-8?q?1765077677420618998?= 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. Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 1 + lib/maple_tree.c | 160 +++++++++++++++++++++++++++---------- 2 files changed, 121 insertions(+), 40 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index a4cd8f891a090..542b09118a09f 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -467,6 +467,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 e050fd1f7cce8..f060c71965c0d 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -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_slot); + /** * mt_prev() - get the previous value in the maple tree * @mt: The maple tree @@ -6116,20 +6153,15 @@ 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: The maple state - * @min: The minimum value to check. + * mas_find_rev_setup() - Internal function to set up mas_find_*_rev() * - * 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. + * 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; @@ -6141,7 +6173,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; @@ -6149,14 +6181,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))) { @@ -6170,22 +6200,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 5 17:42:00 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: 90556 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp625355vqo; Fri, 5 May 2023 11:58:34 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6nE8FtGrAbxbsddVmjB/4HPwi8kyjEhd/P/HH3glEHhlK3aNL+xhWhhld/FD16iwg3Qv8p X-Received: by 2002:a17:90a:880b:b0:250:484e:355f with SMTP id s11-20020a17090a880b00b00250484e355fmr124286pjn.49.1683313113573; Fri, 05 May 2023 11:58:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683313113; cv=pass; d=google.com; s=arc-20160816; b=Tfb1QSNWHSPrNgzD6FPiEN+ZkXJrGvi7n/PBx1FiG4HYO92huqXKI/IR8sZs+z6H9D 13bFIsUl1tBMTbSm03x7FlkacFOuu0MnZYXs5RzbJHxr60+a/7S10GjLzNTwNWC856XQ JsdREhFSLo0Cthgo4fzvFmPG4Q3Cie7cFBo2RCTGu3liF8sWLs5VonMPwhaVt/L1IMev qv2aLDaic/MItLiwXebhaSVG2q63keZWhXzBmQuGD+2/s85bcx2Uw3U7+rg94DG60zRh qjLYRzXADQALIETC918YSXckw5a5+A6H4qVoGcaexQ0y3HFDLHIlvHbishNbs1IAdXmV Nj5A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=DLizGfG6RsPpK6kYK/8TgPTR+rIq7alrCR/2NcjSElk=; b=Bx8ryYm6dga5T23oy0bUIIlMkpsZQpd28/0QjjwNdlwJ7iUXOtKnUa0KuswWYFWgHC TVfNgvXKxzDmNpQ101i2Ou3smolzFrIvGJvc2Yaa00hC9i31ynl+Ys5SO5QQydMhiZXa oAghn/arowseR4+D+9Ejgc55ODAuICFoBYZdQXWkD575R0aw0F6QrlHtKzgd5xxV4Enj IAaxUSBF9yDY/KlI3oLej1+Hp6O77blTjXky4EVIgD/HVcaNQk+BCrkHpzA2ChkLclM4 r+DLDOo7kWzt2KzjCz+f8v0u2wz0UYUff9Nx0C6/tKZZvMe97LZ4PSUPrb00ORAOksWy 50TA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=JJ7eDEXj; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jwCCgu8L; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 4-20020a630704000000b00524cf947601si2702759pgh.23.2023.05.05.11.58.18; Fri, 05 May 2023 11:58:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=JJ7eDEXj; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jwCCgu8L; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233210AbjEESlc (ORCPT + 99 others); Fri, 5 May 2023 14:41:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49228 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233235AbjEESl3 (ORCPT ); Fri, 5 May 2023 14:41:29 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56B921436C for ; Fri, 5 May 2023 11:41:28 -0700 (PDT) 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 345Hh61u027900; Fri, 5 May 2023 17:45: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=DLizGfG6RsPpK6kYK/8TgPTR+rIq7alrCR/2NcjSElk=; b=JJ7eDEXjw+6rfsSL1OHz4/epsCLYQugMVI8UWNYNP38D+YZQ9NxfFs9ov3i/Swxx0dBT vGFB2ussI8AnEfcOSA+G3k94xQGeXjjRXfc0BIzQuzdKTHRgnFD4f4LOemy6RMePbpbn iCz0j09mh9jbuvSXDq7uYrhuYcfjJ3HzEkesFwLjvMtbVBZI3mqjCJR0h3Gwa5ej+pMD 4V2d2gvNSI5dqp3ky25nfyQjdTz0/7dbtMbNfBr83zxxqdKSB2AR5+iKQ8T3xQzLxNgs fkJ9wELwf4X7P5f0e0jzq6CKW19nhlIrinTcqpp/pi+Uf6i6tKh/F7l19nDGCaiBQv/j uQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t5fwf4s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:00 +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 345G4EtF027652; Fri, 5 May 2023 17:44:59 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2102.outbound.protection.outlook.com [104.47.58.102]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spgetws-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:44:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bw1k3p/tv/llIQl8kZvEVLB/+hndea968yXQ/Ys8iN0CsKQmpc0mnP48UP8C523boU01Qaozcd2iacZW/bRyHj+C14yI2uIIqN4DDP1h513eADicHFCe92VMUNFeLDyvurO1LhsAjTSqfVg3m+xD+RFtinFlm7liSTP9Dk0+Ex9pUDuE3c6c+KgUyd4eRwz7SHD1tJwoX8ViU33iGmJJW+cLE9QKWuXAV2z6Ggavp2o8IBaNOGIVX7g77CyXJUXTJBIxuvfUJW4lN+lA99TsH3KTn47umXKl6BdOFwkfmKYD08Kf3kS09wZ+tmehJFsPWOyLtBe/u8B9Z6Ycv2W63Q== 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=DLizGfG6RsPpK6kYK/8TgPTR+rIq7alrCR/2NcjSElk=; b=XyfzxuCeOYT3DU0ERF0GwdqVeYK4yVwlvJDxf0fqSmQcSGiBC+OJla/6hLgPaQkrv5c4/pXCMNQZZ7wlHIRy5dCH5GNicFic4CERolxQXXlZVC2lhsTRErVZhgeVE4JD82RRS3kP69ECnHf4EMBQaiYoaRHOZWHcpXzY9MiLSd89LXZTSRRtCim2yz7nEMoSDCfkKf4p8+E2UF0mk1jzghFvkiKuGS7j53dEn7jvUGHFGhi8YqewvpA+G77nXFzpPvK+Z9OVyY6EBoQL3SMSMe8dUDxirqbO7www+2C2haSomnnLfjw3mhqequonGab+l2V2Xcx93zLtjWTmUeoRKg== 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=DLizGfG6RsPpK6kYK/8TgPTR+rIq7alrCR/2NcjSElk=; b=jwCCgu8LhglGmr+r9fDbY5VLPKanUNWtGuB+KoRwnoFx+Ss3q/C1xyhTb722sh4gTwbxc2Pc9qU3JiqMvIC2a8mfI1U/9abQhnVyarKhkn2TAbxPYUjzZ2JGM5t1VwaPg5/lzs6OMj3gGGxuXA3egK3383UeVq+KwQocmB3ZhtU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:57 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44: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 v2 32/36] maple_tree: Clear up index and last setting in single entry tree Date: Fri, 5 May 2023 13:42:00 -0400 Message-Id: <20230505174204.2665599-33-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0251.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10f::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 7bd5c748-5c0d-4b33-d9a0-08db4d907140 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: V7U1IRfBfvxzh5zAFl7bwlWU/oL6xbbgP5/lGIVQd5USGjcRaAQjGSuWIE9E9mVoeVqdh+G1eidk77K5EI/ZTqjZYkve3lvapQydWyUV4aJWAFNf9EBpYmh/jYOna+8yNG6g0TBCWkzZJe4ZwCkMl+ZseckmGpCJtC6hYSzWxaWQaVKWb4YPsX7VJ3SJnTw2j3JfpWcRb2nOoQWLUT6FA+iETqTmmJV8B8E5gqtiA0/IJRRlAEzIimz8p8DpweHy9h7TBt8OkeFBuVmTYZ6w6Hbf+2RBQfkkjyFDjiWarFTNOjUr6gPjd/IL19DRg//hu+Y71Erl7TS8lRSwo/dfbYjwrUWCqEHarhCBCqDNPypa685HbtADAeZfXxrj0VdGrXNacyXtN1KPFmsD8gPwYuQX1YbN+yRFlu2AU19t6t6wrdbWhyF1reUNAKJG/ySkwlxfFq6IaDW/fYv2pNojV4WfjwOz07nltxX3pI9FtwrE18JewVJNZrUAo+OJpQW8BReBODYaVKIkqsu7RH+jYHsER4vs7cVVSLP/HK91k2qLxz4pVdY3o9yq3JRXDWJW 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6666004)(6486002)(107886003)(2906002)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: D7dBLONcqYLjARsooyVd65lOPLZ03jlYoVPhnhHHb3G7OnPj9mKFbx5CrEXyBiNvb/ScWgxRlnK0xgpV/j9WtgW8wk0hRjPgggicpIyeZjrNG7bCdKvKVIlza+pyS0Gga7a6cU80yvwbAQ/sI//h/fe9utJSAuID0LEOidexLgKk2AoSSamQcjl9CItq2AoCugrJJhWIlF5W2O/lcLO+goz/u2NXbKDiy6SomDqLVZYr8ByuW0vpsiEew2RVAxDkjaBc9gtzg++TxMLjyMW4IkdrD8SOXQdyuVuJdZK1IaCTIBgHIJO0FkuQOCkmu4Kfo0LGWdiOudQ+KL9/s1tYMJvfaSWbuCcu0rXcCYf/GafAyk+hO8ZrJw5ypK9G6vGisGQS3EKKUlQKKD3x396XI8dM+IcVye+tdY9H2Jt3XHopUSNtP8beLTdU1TqzChMu9pzT7L7C+apIHi7n3GETX/80b8KTUj30GRm0LXpsaNbK2TvnJk8qV0mQJnAzMmQVmU6v6RyhW5mwKLQstMAliO9IpcH6dz+P3dOMboCbfJbhknLwV41f2wjYEybVZ2R9PHgk+gtn8uPU0LcfMJg2xgQfC/TpsseVyztoS0riwEXDG3hAHNoMO97wb/tbu/DXWtL3i69E/Bv4NiKmea5zpZ2mlu02phuy5HNpN3cJa8SezZIB8RZghpkIzC6703r200d37+p6mFE75rjaCCIutdSoBJgpz+iNXQ26Q6l5DVJ9AjKrIp8owuhL9z2ygRhU52l4Of6FXHDdGw1pLcr4ugHyKaD8UP7TlL/xlxIb46xeZD6gQuNuvCiwmyBM8tz0qNo00iQUeM/z0ANOSYHLbgEmETJmo38Qn49UqjeW4WIG8etdvpXRSrcF/Jk3axS/7lT/1AZXhQ/+rdHF4YrlIZjMsB7iALei+cpf7Op7cRyM4h6r7/INe4prDtm5xNCdEvoeQcAoywT/OnDo05rl8hKI/pXCiJntPPms8xtJZR+QfUODiPwQUQ/p7Gztd92EJzWEVWCf/f3wIvjiBjFMZic3qBT09yL/9a9x+HbY1Gzcumy3zonlu3jvkTxX+Ob3BCoayOy15KOrpZRHUy8naNbWegrXRTjWh03ZP7TxCTdb5hh3xMufSfaQ7300DIHF052RmyzTQvFt25F4Z15uQnuD1yQM0+YLJq/XK07kS8g3RfuBlHRfgzdAOSQp8MRI46JJ+PII3eDGkJAeFM/oc6RcwKqEHmP5UGnOL8OSgRfPFNvDtYCoouPOuVtUOQ48IFPjxuLa/FdpVx+H1aOIdg1WHx4xqc1ApkhyqIwW917GEwOxEhgJdPDCJVAzZDgpGBNB/ciPLMsGMW6awXbvbBXrPSCEA8e3vz7Q+onPEjEY9bmFJOdB9oURJd6cuqRiSNX6rYk2NmS3S/mEkRuWf+CduVNvSWnp+SztlCouQFSdnHkVSeE3sCwxvQmNfCBwTKjtw7quSQ8Nx7lkDC33X1u7byzk6YpnbCjCrdfO9msWO8rlXi+bVJ5bkGA3S2GgsILS7fhPY335UZb5o/Y7yFkjsM7ZKGxLl2SJt3unKVQV35WioWkhY6CtwNKsxSNynu7ND1RKQftuE0Vsyui7Vg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: MoC6P2vwQKtePk+mWPcGlHe8T5QGhozThSs0gA5j1cq8hsW2THkfeDvDYUhxnmMcghe8Fmx02FpUKm+99wLXf60epT524qIRI5uroQgky98AEhaB1NFXEmqipBBn4LUk6952PJ7P0hXfKzkG0WUhgvb5sPFN/3aQ6uVZUrJio6HuDEqh02WWjtHSLevgB5/q3i/xAzYIb9Qvu5bCuQF+8b/G6cyJyrQOYslUFhEj4D7t8+NtrcrULaKRrE0BIhogfkX5kHqvjPOYtiNPUMqV032xHQAUmtu8wd45300w7L3EH8mLLTOtroQPiTGM0OVKOz/zkA++UQjXHp1/SsXo5lxIO4CZzOUTUzZnSDTVAua4tNVXuM9jx2ANQIav56rWsn1cPfESc8S/T2/PsC3RUxF/gVxUl1Dxx3j+j0o1mL/xGfLOUKBHKHz49bNjNv1ajwJquDTumUBMsjMDDULsRlOs8n82RVR3rhDVNY1XlQNQjJV/BOtZrUF3bzAfGnzN6/3GbBZS1cNoYSRqjiRCwc9H++PRhpB9LfaW1PijEpOIZo3uwKKlWv7rJSdhBBs6SkauMnziJ5ij7pIVVHWv4Oqo7HTjBoowD80YwS74ivp04GJvL4AlFVr67BPjMEPShPunCFEJ2DpfIRkJJVU/vuWDEePj9tILwMy52Ro2QMRXxfXeNhKlB4OkkbB1YiUG/mrIK3kmR82W6Uc12oURSuLmE00byXdmS49x4b0hgJGjyqzKMLnyoQFN+hSYBXdwcaatHV9gemDohkq5TTuXRFoTbzHLl/+8fVn8XDCain4ERQY3ia+19Qr5q9IwbYZnPC0PpqgUOCxsIGhgs6FQPPB5wzvQ6Sv9qSlvYYr3enHKD5EdX1Psnbx18pYNVq5E4TuPMX7SjEmcIV/mdg6kfA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7bd5c748-5c0d-4b33-d9a0-08db4d907140 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:57.4888 (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: Pu6caMv+N1IXiYGAmcOi/fKGrx8BxenzDhgIMvcGGfWVisdREw1hjmQJW2mRr6MGWD/DPF7iAtDs5Lf7NvUj+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 adultscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: IWiT81jmCRPMkQ_TitPZY2Uewq18osnx X-Proofpoint-ORIG-GUID: IWiT81jmCRPMkQ_TitPZY2Uewq18osnx X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765081731103271169?= X-GMAIL-MSGID: =?utf-8?q?1765081731103271169?= 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. 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 f060c71965c0d..914399519cf54 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->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 5 17:42:01 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: 90573 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp663085vqo; Fri, 5 May 2023 13:08:31 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4prfkMcbCnmn7gAi0PuWCxBg6Zo/EIj43brbYpKl6Vz+a3XXrSseQRy4jcLR3U6QRYRbd+ X-Received: by 2002:a17:90b:4a44:b0:24b:3295:3e23 with SMTP id lb4-20020a17090b4a4400b0024b32953e23mr2608524pjb.19.1683317311307; Fri, 05 May 2023 13:08:31 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683317311; cv=pass; d=google.com; s=arc-20160816; b=Lth/ciw2uDEF03SjOqKeBzJeVxwaFVaDyjupwDzLuaF1/OMkq6zzNynLoegJeGQU4X LWLgbWvAJqsLGOHrfvQ/LGnvDqJsyaRqmfDoRsGOQZQg1+9jfZ/ZZfiDNNwoNCnJBlac JBNY6jyoSqTxVxCQ0bRTVmtTiXhGuMlnPt3kUtTlyzXR1naxPAA0Oe1jo+5XxFLmL3Ql oYSZKYd/5EY33QUPiM1/k4i8oE/KKDFKHnH9th9ro9L7NGvsRdlYsloh31G/fRGMTxeZ 30b/5Z+VLF6YTXR3dww4L5ppUPvntfXkMK7zMEN3jPtMJHOtVMr98mGV2in3EtsgMkMl IGxg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=Hn/nYxar4IbaGMbj+8NY36CmuEVAYXoKwA+YmgSPKBY=; b=0rmfp/iILFwb1d7PcTmVCtUWih4w2nmm2Zu1zL1QC3w9HQXBRzSrn4ImQjTefapIyZ SPSsxfD+FN+YOkFu0V8MuXyFVVPjYQ1nmaYt+mv/OVmAujiI1mj18AWnfJngabJfz/97 2gzhT15VlJ9Wa6iw5o1HlBlXe2lepEh4t4+03IvbYGc4wGW0b3On0JDJtC3NG8pXUxof 5zk0YnfNdIP8i8UQyTu2c/XW0UsUYfdIOaTuHO+w9nVEqxXHb+eV5iSWrM/sBlcHzUL5 ddCjeExfKE/Wok2JhMWCdcsfT31y97b0d695L3y1LbEPWW2V7vhjzOOH+gfE8t2cBU8A fXsQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=FIZk3YcI; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=OGrvmqdj; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k93-20020a17090a3ee600b0024de28ed3eesi7117088pjc.33.2023.05.05.13.08.12; Fri, 05 May 2023 13:08:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=FIZk3YcI; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=OGrvmqdj; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229694AbjEET7d (ORCPT + 99 others); Fri, 5 May 2023 15:59:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229570AbjEET7b (ORCPT ); Fri, 5 May 2023 15:59:31 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 75B601B4 for ; Fri, 5 May 2023 12:59:28 -0700 (PDT) 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 345HhDlx005916; Fri, 5 May 2023 17:45: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-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=Hn/nYxar4IbaGMbj+8NY36CmuEVAYXoKwA+YmgSPKBY=; b=FIZk3YcI8kszIVwhxxHtUjb2aN4UudYyZ1xYhAST25N5cwIhyIVdglor31xtexENAj7g eavAy62BBF/CNXhN3UMag0O4ER2Ob2BkoR4FoUN/6vyE2XWTg11Th+9DhorrteRO+D/6 kz8LpNzzcwQ1rkWeFLKDI+yawW3kM10IjWhUebpD+adJYUqwFhezRA+OXdaOIxHKKFEz Q0iuGWgM3/Fap/GXrxnCyhuHZiHHjDPubC24A7wKn2KBQ8zWsiXNrcH4KUMUCnCoYWOx 76kz4zIREELYUpvVdkQmzh7p5brtjPS/NpNqgIdzLxHPMiaresMEIC2buOfrkX8YKvSo Xg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8u4awa0u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:03 +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 345GWSfs020775; Fri, 5 May 2023 17:45:02 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2102.outbound.protection.outlook.com [104.47.58.102]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5fve-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZvOeC/n6kdWBA15jDJY0PEk+RKglmgZhDwqwVsevl+V4/Su3lUyRTJscDg7z/UNNWJStKvcEWHos+eRscB/IoBC58Bm45yE7UStSSSsnRfv4mRwiVignHE/WgUOA9NWKrfRA0Lfm2VaQ5sHUbBImRbPVX0gFNsPVHErgHLmEmJwYa771jNQ71x0veR9CdA1uGUqjhYk5BR3imXxx817CNYd2kd5GS63jYmWI2AqCUDZ5FqL30mAyzLQq6mcCunXvVnR4k/fi6NRdSn/AtRpS+7FJyFGRfYzyqOzqcDrPCL9cK2E1Vij4KI9c+8OAGA6wskfQxlSLQEx1RMnMR3C9eg== 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=Hn/nYxar4IbaGMbj+8NY36CmuEVAYXoKwA+YmgSPKBY=; b=cJEKos4OVTk8mLrCCHI01qmHPGSu0YreLaGuwX53Dzo7KPCcPxEo2/G5Gtj4uQCsxbES+MLIHW8A7zVMfiqjmuCrKDMQOTrtfguVmKZJVV31KlU4ZDnuk5Rlk0oAIWj7hK9c+vyuN2lZKBtk+5QUxh4Us0a28ay8YrDc1gDq7dgRl7c+eLQT1y6dzTxsD4h+UnrdiMdaPQLDv8f38R3eE64vT0a5d8FWqPaKKAWx3nHHxdxSpgJPckpDkS/iNsKIV2IWBUS2gS8344JJFY1i5sM3VRHAC9kYqmnMeZG5bPsaT1SB7Oeq/30CmneMLFRVtTM5lgAIt6AJi9YDWzcfGg== 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=Hn/nYxar4IbaGMbj+8NY36CmuEVAYXoKwA+YmgSPKBY=; b=OGrvmqdjsCGFaIMFS6RFEBroNr4usdhRTW4HQSXrl5m+4TOCewila9hk4aXdO46YgHyWC8B9kraL3razBel/AzWro1z56vg/9k7Z8LTVrH6egXbCc7ofQ195zIFo2Rk/4k5ryuTTg7fh2AIEHDgZ2eMt6ksKlXZ+IfTeDil8B60= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:44:59 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:44:59 +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 v2 33/36] maple_tree: Update testing code for mas_{next,prev,walk} Date: Fri, 5 May 2023 13:42:01 -0400 Message-Id: <20230505174204.2665599-34-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1P288CA0017.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01::30) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b0d458e-83e3-4b2f-88c3-08db4d90729a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IuRMSR0OXhz8RrvBq2oiGflK9f/xd0qDnZCdu+dBgXEsD6Uzv6bHO13q83vV54zcgpSubqqJviBIsbRcc8qLp3Bl6gfRQMImGX6VIeGPEAwRrxXXGpJhy3Hm1pWgDlIcf9JWK6fr3fFBSCdOoGuRolz4XA4oWQu3C32RmlevCCzj3XFPmE0zXxXu0+qoxLh05K5B/y7yfw6+qzVj66fFPXA2tDmuAXSLeg8xaV0CGqny4wB7xt5kxwTACKohrno2QQs8n4BIMqPlRR5z+L2xBJXsMdS+Tfv+lqzw1ZO8wwSbk8m9EUPc2Rd53NiThsUJD4ij2brYZKtFm5q87xCyEzNBLGHtuGzQX2wx++PonG9xu5c2b+VvgsgguYjtamANhN7c8yntUwB8Lg7xKyuhuZOjjLH+JaZqCK/jZ2j+ULD6zhPkWka5sKtXPSVv4oFeSdvPUFEy56Ya3dKIDf5EUURqFeUmanZ0Pl0lgzE++1ZFgPuxavbaiLxBHWUaCY5/KnOkwLgua3GjB2miRFH6uDCK/S9ppnLM0HZdhQ3S3VxyKn7vpET9BCyzaBjnhq2g 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(15650500001)(1076003)(316002)(478600001)(6666004)(6486002)(107886003)(2906002)(30864003)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?cSyfYjxdGYG8vuN227rk1FGH7sm1?= =?utf-8?q?4kaEDj4kCHF3ZadTWuZRC1kJpXabWxWSkXnC11wHELDsCvvW7rlAI/AdN5ellHMce?= =?utf-8?q?OOAmsQ2jZ4OGr75umJIH2Z5snkFza4pJlJ6rJZiywqkBYlYS5+17gBV3jT/sc4jD6?= =?utf-8?q?2VVQG3u2Vhp4DormZ/sDKiKKl52c6RwO+byOj92fOaib6QTqubho2H9RaFm/r8oyL?= =?utf-8?q?RLe427opxcN1vvGtMmpjQMR11bnfizdrirmMdxCdH9bASvrLSZHm5/Bxzhf4fL7yw?= =?utf-8?q?0F+d16a8b9swVagEIJyssvLKfcD1S8CU4VrJXlXKWkGGJj+CEHQCmuVGdjJ8NmXWu?= =?utf-8?q?ZDNoqWoEREAqUp4miUz3A0OZwfqdpNbOVrZ10vH3JDyaO/VZIAoCM0k+rJYYn55K7?= =?utf-8?q?c18tzX4mht4nGPyQFPxp0nUN3WluP6MjahbRmDDDCrmge/vyCeuhkJXhp+Bbsze0M?= =?utf-8?q?kaS1XVjYQ/5pDfMke3odvCqwstFG0uTHeOo0i/nE34mw0QbmnOGWT/8Hy1zOlKkeY?= =?utf-8?q?PGCyF6E4DkHcpecM8SUvOsjFeNOfncVAD8Ij/IP71aPyNYB8PxLiCXLzixaGYxJeD?= =?utf-8?q?0TkfpZXdp50nyD9Yn182qXytE4aLm+vdzdIlv4OQ7C3XCkQ04arVKWsFXbwsSwDzl?= =?utf-8?q?9+vnstymfVfwWCQrMMOkDHMYUJDykjFfwhkdWS4J3Xrb576Kynyev7Z1Q3sdkfTxz?= =?utf-8?q?dJ8FTRLswhMP79nkUpheJEDhlZfNrTIts4M/2+B76C90LiOiTd5DreQ81cH6GiE6i?= =?utf-8?q?L5P+F9XPVI/0K8Cg8WhJLwIkMmomOqJTrSi85nYFxqDFY0pQ3vGniyWyIsT0X30rH?= =?utf-8?q?esXK22V1cvQwa86CId50MLrQ8HIkUPhjmXP32/0aPa53U3VOoBXRyNTb/pTkcAyW7?= =?utf-8?q?UoWY4IVvB7ls/YeNI5U/NFAjMqZlgvXHJZSfOe8+1sj2Eyi/Xek6ud5a2WOQBux6o?= =?utf-8?q?fu3KtyrN0qJNrTu5js6r2iOAwIQZR9Ibxia+QAqXsPWJpeCRX/rpcm9YodSwaCp1K?= =?utf-8?q?gqA7aglP8kOQ3PG0TRTva93ZF2CQ3u250V7+jbNFcsi7vueVJAOVOHLRwZuQPSx89?= =?utf-8?q?6SSrQl1nJMouGzhTVGXvX2GXB+Nu704B7jYq2U1oqkDA1WosOIm6cnMnBK6d0nzry?= =?utf-8?q?3yCUr7kdIMVdeedow55Wbj2l9pw0CL2WdWe2UVd8/Uzh6iRrEnkVucek+XiEYGjZj?= =?utf-8?q?GyYqNJ+Zgl23rttS2voi/vJs0agQe15inUVER2AYH+jPTlacCy4NwE5h6Bb9HVQnc?= =?utf-8?q?jgyGljDFAbKZTuUWgvpjxo8zJXjGwSvCz8b1P5KcDGWjiHKlk/4xdJjF1RaFu8ESs?= =?utf-8?q?vqL7//Jno+/kL1ajFtH2XZ8mQvs6uFFqtELx1As5UaSGYC/tg/WZqELka9VIfri4Q?= =?utf-8?q?CHpAz0jaYr23/sRYwDEqKD3QO8C7cDRu9JN3+L5sdcuvnIuf7RCyZ7Wr86IwIHxo/?= =?utf-8?q?gYsDSUSnZ4c4oE6vEH1MpmwmQYnq5yNnrK2xWOwOobR7k2bTCeerrWfy3WblzQB/L?= =?utf-8?q?QSIDvt+t2oDZDE3YBYwWpuYxjXo30hqjWg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: hO2miMZ7U9apwHGfcPX8SRzZ9Gd46SY6ZJty/eTDa9S+N+fzpAHvqPVByIY34zAGL3mbDwZlr/Dckm9whHEgXkDo714FFqMdDTcPQfn2nPDgurdCDOZTgvl3XQWo5YZ0PPyzKNeBwYkn9AkrUqgLo9e+/5vHEfFLxLlnlwgNrs9WMYXb7XjS9acoKRJJ34+QL95KQg+U7zXnPmHsgNSikpPMWnb9dbY7uh6ESRNdZgB2KldvdTRoRO2oRRUQoYrh1ZPZNxAjh0rouFJVjF145IcgAkxJojhcb8lWTtzCoUgr/9Q6czBiHz5IzWcpKY4pDPICKfy8wYxknqmxKlmO5/DkomB5wH70Ec/WA8xyQP0+RU1WUQ4JLpX4O3LxE0IkuPt1X12vcjjf//VL5JPhon2rT5/Llx3lbz7fdyJ3bBau3pENp1FGetb/206fID+84SuJnAUfyZky99s//1B2UPmvXy0rNJhf1M0xaLL2Oh9MnFMn+/djubtULfC7Aj9yodbFJoakyaKOx/tqo7IXhVaSTWtbLJSPLJCOpbi1CmyoBJnTZVN7WhG0qfnHZrj3OYy0uE6xP9JC9qi+crTSnPpAIxhCAqf0LuEEsLEE5/9tGyW+5ca6k7pxS+ouHJKOCA9g6BhPVlGu8gmvNavmS2uwgKa1e16NMn0aiGsQv6xaBiYKgG42FqxW5VmQGRsNGTYdJ/ciNxcvrFqJwA3hcBP5B4x5/yS6hS74j2IQJHZKwf9Ayvcj8CW4q/5IN0+tqGksZhGuW04aDucDn3FJycHEQZaKx2R27JhlNYRbA6hKDu8kxq2lq52/YHistTKYb2yQZS8iDvhhR5oPpTzKR3xcLos9WKOftEAvVqQo/0ysTvsGtxHHia6eo1WZk0csG3XZt+cxLZ2JShEdfogw6A== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b0d458e-83e3-4b2f-88c3-08db4d90729a X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:44:59.8204 (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: 3engNdS7npSA2LJY9nDPZAJ/I81xM6K+Khxv842ovWcWtuofWlJqsjb5IowAlRmRLmpuWsMH/dV5ZTOW2G9GGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: w2KiPniuZ02oUGLGtcYhsRB9Z_swudA4 X-Proofpoint-ORIG-GUID: w2KiPniuZ02oUGLGtcYhsRB9Z_swudA4 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765086132970059291?= X-GMAIL-MSGID: =?utf-8?q?1765086132970059291?= 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 48bc4ad984c86..aa3c4fb9175ed 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -1321,6 +1321,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); @@ -1390,7 +1391,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); @@ -1799,7 +1800,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++; } @@ -2010,7 +2010,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); @@ -2034,7 +2034,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; @@ -2046,7 +2047,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); @@ -2749,6 +2750,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) { @@ -3010,6 +3634,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 5 17:42: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: 90568 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp643875vqo; Fri, 5 May 2023 12:30:01 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ56kxxVW5w3Hg85fES1nI2ZIdTMYmCKyrEjwHGfTUhOpesUz7rpSXC+fW8Y6+qbsCHBf/WH X-Received: by 2002:a17:90a:c004:b0:247:3e0a:71cd with SMTP id p4-20020a17090ac00400b002473e0a71cdmr2735161pjt.6.1683315001012; Fri, 05 May 2023 12:30:01 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683315000; cv=pass; d=google.com; s=arc-20160816; b=GD9WoYOIrlALtKOTrQ0x/qTcPJLMVC+HBkOTGWyZVAaSsCVwyDhaqxbh27ajS2Rn34 BFyH/2qYTKWYN90tP0e5A8Rr/i8Qw6+BjuRHTvS7sV1tmkiGrb4VIH0BWDy74/aGnEru oNXujEsDiqBsEnVHja46qCwq1MZ+abwt+FYq/mnMvohF+ckYBtmvyPsFBc2l6jRNvz8x 6k1KceGQUZKyns7AIrYSiAyEGAOun1CP111LACpQr6Fv0KmaU4PYjwIkzanx3YBVlzLt aoxoIkPfLcy0hkzEh9uYNih1l7RhFXB0lzsSSPewDswCHdK6BS/QjPnBEOxsuseMt85z VHow== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=Gf/8bP5/7Y00ZHHg7g7YJwogjH7fdNlLAETXhQj1hlo=; b=t1boYDUHijq/tC7rcXkPI4vIKqcvH9Gtn1cCh+cJsVSUZr1Zyy9MgTB8Qf4ZulRNCK jV+9rN7qFJBurcDuL63KHoPBVG6kVVGQZlyQoPGfVUo75M5BEuQ3k4Bdi50w0DTEaVoY 4tJKCs/yDj1f1z6eXTGN1PX/OeCt3f3Xt1J05iWkj8Rzc49Nv2R1DUzBUXleaVIi8vps 4YxGGhJx8u6Zc97OrxQrHTDyjao/jPqVhf74cDikh92xFXaop7gqgZooACvRXv/TJSWS ppp3fFnynPV9MAohwpEz456lL5iSKOOEm5OqcLKZQD/cE5951OfO2ktQWeK2TwPDvXdK 4YMA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=JRz8UCeQ; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=nnW2+GK9; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f14-20020a17090a9b0e00b0024e473fc6bcsi6816747pjp.141.2023.05.05.12.29.48; Fri, 05 May 2023 12:30:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=JRz8UCeQ; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=nnW2+GK9; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233204AbjEETTd (ORCPT + 99 others); Fri, 5 May 2023 15:19:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49978 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232937AbjEETTb (ORCPT ); Fri, 5 May 2023 15:19:31 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 40DC630F4 for ; Fri, 5 May 2023 12:19:30 -0700 (PDT) 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 345Hh67X027907; Fri, 5 May 2023 17:45:05 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=JRz8UCeQg/lp+oANpW7FqbF0I9zKGRTP8PtjhoNtTIrlyhIVNR9nDw6e3x13bAxDfh3C /rQ7Y//Uil0gTmSZZhUqdeP4Y/Bl2IB6+D94SO+gybzPza1koN3dnMYATK+BjzQ2qqWF VYNc17/7Hhel51DxW4VGUv/6TjxftC6krX3NSBRehUeTatszuLy/Q9X1oh1OnStTL3PR sM5XfZ8r5KCV+FfCb74R9UECDXPDEslGZ5iN4dKoUQbA0VnNclkRt9epdVl4n7VB4Evx MfjWtWHcfkVKfqiLOmlXOmF5043SfG1vPDtWwBRu3YoLM4lilPLpEvOSPoPru8s+yDB5 2g== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8t5fwf4y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:05 +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 345HeiVr027286; Fri, 5 May 2023 17:45:03 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2108.outbound.protection.outlook.com [104.47.58.108]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spgf0g1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gtQmmrVgCPCqKBM/Mwk0PMjZ4mj1giX5kBX+WRDUWzd17cJ/lF9F9u3wErvKVPGiQpnqUfXfyqchO2rRhHicy1QYLbCXFkzDVpi0v1XQkBLCXOc9lViS2XOGJPcLGjhe3gvHULPxumyAyFdxM2uGqYnBeuXdzKWLkZYDlgRfsTn+xXiIsrY3Dgg3mVljJ385p3K1DKU9Iqo5rsQe7v8n7cU55m5yW273fxGsJLzcUU1u4cbLTaJjX79VrCIQKl+8GDcd9z0i34R6mU1JpzzzrEA8QPyCQLspropNckd51ajsnADKQQC+oSSo/ANi395HhkEQnu8CORc3PIVVbUUbRw== 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=JDam4/Y2nmBCagYrejtejkk++tVJ1cEikUm9d20H5bVrpvhFA+Ne8XwKF8nWyKznCf6Uu5Kcb8TrYMywdc5OUQmqFfoqeWfewGzVXXLy+2CU+htpG4+K9s/kcgUi9yIsziVDOcDY24wvMiOE1P2TsApzMLGUTv8jvHpEyUJorjw767MgNjhY36yT5YImSgvCEIeL+gnHpoXTbX4YwudbzxilXqYLOxR96em0I1LcQ1E1kLwu5uOS+G2J3LteiFN5HRvBM1mLsEXd2YYq73ayeXLGtPCImv4q5Ag92i2mY+bx5GpW94Pp8STjKWjMTiXPJmHl3SJ9JwvxO73K1sdhEQ== 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=nnW2+GK9jfDBDBrdAOcai6p7rIUKiwAg/sp9DMWUJA/hZYNGv7w3a6pOrybqConfkVvPsoBxEsCsYBgc3tS6U/S3dcClDPH83rxcSvR0OK+Cw+xGKwKd+vH+xy7Jc4ORk3SCRrA1LB04bNv6JsSNduHaaINWivlUEiDRWTKzSik= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:45:01 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:45:01 +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 v2 34/36] mm: Add vma_iter_{next,prev}_range() to vma iterator Date: Fri, 5 May 2023 13:42:02 -0400 Message-Id: <20230505174204.2665599-35-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0179.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:110::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 082fbb04-6bb0-4457-c301-08db4d9073de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c4R1AYLlO2HIgmEZqnf6EzgJ2slSoP+fJ3gcm4v4I5zjNahTUQIqLbKy08M64xj24dLofEoRAtZLuCtcTxBX73XgCwinddV2kFxpdRtjyFmhQ0FaA4LW6Pz0qZzLG0Au4iv+fohUYyQtr5B672p3hVHVQ7IuYGbqAW2hPI85XtaCjyz3tSytF9265yofPBIeqZx8y3sk+Yo0BJ738p9upQipcSiH+zrwXqK2o/SW/s4sXooRu3v2Ng+kER+Fh/RgdELQPTXx0zo3C2vLdCaSsfG23xlk5vroT7kZP/sZPhhWlgNa1nlQFQq+Ik8JMUntEbgg9ja4HO7Y5PihaVmcNkMwiZyiUUaFyTu9DFiwRLdz6sSqOdBChvB8PyUy4gwBVVoxnc7pDTZ8QuPK/DRZi3ozEN8k2o17AYUITZjfZOmCg3x+ULaWbURdC66kAEg2av65327ZW6+laWkMlh28yo1ETeW4auNr0FTaf3n3h4qq2x8gSRO3UMb3Q9EQgdlvas7YsQBhmL7r3K2SFTu4JAd928hDqHzEAPG5OJHK8exfFZrDe60iG8m/No68lGDX 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6486002)(107886003)(2906002)(4744005)(186003)(2616005)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BbyZIeChTMfgnh+JEP5QMP+A6jyQlk0gCGp3nBzGw04/W6r3pVCS8RhHB2g0EByFSrhs7+6KU7fnQMt8IO0z2MnZYjcu98NQw2T5h8xpr1b+IhvkRjLChgCllMYFA1SLvPs+bJbxLGsuL2MDo00LisrDMt5OaJifofXppxDLirW/ZO/3Tv/T5MRDoqP9Z0MBdzT147C8Vw7ix5g36307ee5DE71joGnmK7PCJMBz1eZf3vlRzT/eKTNj/APvUkZtkum0S4al9fYBmQROwCll89sD434t6S1w1phCFTjk3Etn8FYE7g0mw8wTlBitLdL50UB74dUyHeiYDjnTX7mWY2PcRYVDfF+7jct/3bBsYR/1tP2qjDYTVHV3MaJ700TE9eZEMOsCNrv2xpqN+GwnZRD2+FUos4mUPx/9U4zYMFK8aEvdm/SlJjIqjSMZMhblKMmaWhu8XQrurm8ycQXQXBIDtSyIZPHw+2Fi2B/NwFfVn/dpu7UU9npMnH7tpXOZmM+E60met6X7QMc2dR0MWhZ2OPS3qfdjjMwa5cqMyQyFyl3qpVZE7VWNH1OxLkDzIt9IFSxWTy4h+1SH5ajAzxAveQ1p7YxkGonwCZMHiMnM7/a67Cpy/ssqesMhmlwpDRuVwNJv+JsVjQ23xAC0BUIjkKu1y67Ki2WFixfND2hR10zAKJfakyo/7GjmAugKVRujUhs3hTpb8sW5zVmB3lqjt+A2Wx0vatg4mDORdWxVgEzHCAa14IAp1cWoyVBd3KHJE9R+LrtH367pf89G+1tQ8zG7/jDqzsJLwn2lPGQopvU8cW39YGE5sOgsQkDP3if8D3Yvvj7C+Zj55SBSAomQACh19U/TU3xw2jFssz3f4v83onfGACIVWhzpZGpYeVFPBTEBglaaMyLlx0MQ9JmWlQd4rE28rzzavOD4oAiPYwh1FRQNR8q3qUgdyH0I8uNwMRjk+jMVIVcmEkSwp3VElajq+fImVg1Ux4JGBTfTepFUUumYWWHwEWxhiWinwFFMmNwGPEcVvhRZSPO9CWqCtdu4udmeuWKpQWv2VswiYl7GF7Ixl3D4sKWfdpF9Gwoh9CiM+yLJHzhEwCxhA3FJP8+0j3KS9ynY3wUftcT78ZVHMd7Q8sovrAtQdw7PskC6cbsrvexgbqecHyn8wN63Pmg4ITLoEiaYppMnVmXebmhRrlkiZK/fjFSp12Flvf0BbzzsEqdFyHuzGHjRCf5dx8zvQGueRLFlukHAJ/jeXGtyVSVKO8HN0Edrp6mMjGCQIF9AmlePjxZB9KRDIOb8nbFX5xuOMxWutZDJ8S0r4WuT0kFArY32yPblEbmmu67HRjn/0mJ4AksnQMtDcw3faqlyq/xk7QcG0goXee2Jyf90Ope859M6ikuR/yTPocxlIZvANwB0vC+/UGGFtmXYTU3bkQi0HKm81BgE3uIqnb3qDFZ6/84vw+KVCRnos60zCc8BMSPmCjrG7Qi80+9z95haKRCAXAdYfGmNK7ZjTt508doInUArJCv2bz2Iy9jfAh+D7SjW1cAH3yWju1OUcld1yMYOcU9HoC5pbNHUMcmGdzlZIKEzISFSvKTHW2RkA5ArXyvH7tp4dFeF/Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: w+gj/DHeSkdp4xir/S27ijB5aHDGVQ7ns/iR3ovqIQteG8YUbz7afCykufL92B4/ODiXj6iLNqyeOo2m+H8A2m2+PdyyJ2UPBcJpLFrKHB0e31ikPvRopiE4sQWVr8Pk4I0Hg5SqKK5RCKMvq3wI+plemfj1pFCRKVChATE6hOGjwPocL6pP5Uw5W+UGYOZozGA/nMAcFrTf0kxriGgI93jJhfs5EkzzhcOLGVKGCVWmXDcI0UD+nlJnQFwtMyrbcBRQ51Tt6PEil7KHwyfenGydpVP5djz1UJyZvIrfh/gOzcjSl/FdB/GKS+D5qDoUg2kcxvKZwpjE3K+gNnY89DWTHeVd3zw6rpDMZ9hcQMBwXzEBpBGJg4JQgzzMX9XGDgNwyHMsOP0hJQ6z6d2LOIHiMvqH0b5fZtSMDlxHACkmSCeL8kh1qD9Vz0NIe5/KuUTslnRDT0yIWUh5Ka9i4xT/XEBURnT61BmFI5754oT3SabDWk+j2IunyGhdgCPEKbc1gm/20qfwUqTRgI5lbsp70qicr/Mb92YqEzA6MvDhVSh1DlqwZhLUAJWMZ1241c/GpcnrWc21eS4BYOdMLZJ2MBwyquJWG2IzeSFf+3fK6rAH7p85pRmN1uAuhBZvLUog3KGhPXSxZxYJI1otGOjy4oEv8DYYuY3nxQQCOR7BuryjOdd3amIRzOuhKseNFc0W8+UIslKWVjLFAFE29hzN51lXz2shw/NcVdannzLG+nf1Fi9ch+hH0VJHnqH3N8Kflp3oOiCIpN/w/Yykdhdr7dNvg776A2zRRzF7V2KmD31jQ4BqZfBK4uMi3WP4rUeQh3qmXaujzHhru40ShtUhMKcAMubADKa0LgMsFOhsl1de2dqfldjUEzMl9y3FVF0qRwMF4k5O0Z1DjFsSpQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 082fbb04-6bb0-4457-c301-08db4d9073de X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:45:01.8708 (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: Vz0jVpvArXQLicDcSg4mtkr4MZ8mq+xZQfljJ7ZYQxMLbcNK99eXgS/uYna9+kzEPe+COd7z2z564Ab7FXZnyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: LpADf2_88rKRJitF-YBJwtTXkl8Bpr2S X-Proofpoint-ORIG-GUID: LpADf2_88rKRJitF-YBJwtTXkl8Bpr2S X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765083710711637635?= X-GMAIL-MSGID: =?utf-8?q?1765083710711637635?= 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 5 17:42: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: 90549 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp589255vqo; Fri, 5 May 2023 10:55:38 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5+yilZSkJLMKat0GFEU2n65Oh1C30Pa19zMSjlYDO573pEpiqYYXVupLaMDoQRY+oQ39IN X-Received: by 2002:a17:90a:f309:b0:24d:f739:d62a with SMTP id ca9-20020a17090af30900b0024df739d62amr2098475pjb.23.1683309337827; Fri, 05 May 2023 10:55:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309337; cv=pass; d=google.com; s=arc-20160816; b=BoGNBt7fMi6temI9orSmGi+jWR90UbBvDY3jg36olAWesUow5NJyUg6Z4rrTyQYLtN GxD7ofuVl2r414SQB16oHVA0KQzlGllFn2v85wJ3nXfACBP2Kzn/R9VabwcxImI0k5S2 agKs+DnueoYRe77hPvdHLbtq7d4otTueQwPPD2XFvN9XcJtVfB/gZ7ve07HR3LkWr5VG Xl3fvkVbit+braZaDAFpSFrXkj1G+FghLQKav1ZuakeX2bCPvUY1hF25fRZWecMdN2BO FKQM8/k6ZTuogsi2ZJCnwUkTK4TsJc2go0xzEnMH1OuLIRsmnMLAR4MKIeouvbdexw8B EUQQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=u3/zRZ2Ucre2QO+L/T9jdiOBbG7EEf5W3yMRjcw71Ww=; b=I8D3daakMe34P3i1Is9ZLSsYwcT+fp0MFAw7KTuzoH3qYDhiXuqCrHlEkOZctHD3f6 2S5UNA3s4zWf0YCpnfm8H3m1YJJuSUbPMeVMwRWr15H0VB+7hz6UgfBhoJ6+8grrUug3 SGIU/JyV74jiBmnv+jkxF7lBMegNoNpKhBpQ0FXMoDJ7v2VXl8HbbqBe56lWFvMqCEv6 /uxBx6r3UGzdLQ0kKe5yr7WtH6899fvITFmubu4C24OZJehuqMhwahKdHn2pqqSlKRL3 oJRMznZQWoQ+U0aWcBRSyDM0VQIW0V3jp5ddF5FHAVjohENb1KcIz4qN/QsnJhqtgQ5W krmw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=pahWxCYr; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=pdoLd2Fx; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f22-20020a17090a639600b00247304b4a27si18293186pjj.173.2023.05.05.10.55.25; Fri, 05 May 2023 10:55:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=pahWxCYr; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=pdoLd2Fx; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233136AbjEERrq (ORCPT + 99 others); Fri, 5 May 2023 13:47:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44730 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233144AbjEERrl (ORCPT ); Fri, 5 May 2023 13:47:41 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5374A18FC5 for ; Fri, 5 May 2023 10:46:58 -0700 (PDT) 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 345HhJg4031569; Fri, 5 May 2023 17:45: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=u3/zRZ2Ucre2QO+L/T9jdiOBbG7EEf5W3yMRjcw71Ww=; b=pahWxCYrDEghRdMvwuhc+oWonYau/MONHHYd+bJdqo7ybGwMiZUhWCDLJxTGd7TyGgS0 QQ5mwBrUDjNWXXBTnDawDt59++4l/vsWHKZ1bDcYAbwtCAaWO+fQNvUnCjFh3KoG2orq gX2DnQ0naMFNmsMd+OsUWNRiBDAe3Im/prVN5VE3CaME1SVmQBXamugQA2q/lDE5A+go TeaaSvh9hLwOGEb6rkxYNaU4SKVECBysnhew9TyiZHh+G3EELAP7LKaRzmSBc/MeXSEj bBcigmbGNiFs0qUwNCafQjmqk7rO9Tn4VYIUfwv+KRg/YDQTsbhME7T46HGmXJ2rDU8u dw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8u9d5nfw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:07 +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 345HbPfx020743; Fri, 5 May 2023 17:45:06 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2174.outbound.protection.outlook.com [104.47.57.174]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5fx9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KmuSEypsqfAs1PYm/IsoZjKGl901Q98PCmAmAxhw6hc6E6mN9Di1XJWOVCsUpN15hVbTsu4yevAaHp5OBg9XcF84OuH6OxPMh/HaaqUPUT0vcWfzmRcqr4FJS8GLi8DaeaxYvdvdi/0FYizU4UmhBBcy1XdgHGLTIg1os5yDA6ocKSqPIU6Hr7lz01z+Ddw4s1N/LxZCALROpuOcdhx/wde0NKdDaTWSm5BhHjeDDBjZvBjVJv5T61yJFCNDm3YDG9K71ji5YqX+lWi0uzpGhFFgQwKofjVIKCoAQvwVnIPbM/3u1IehBIdgl1A4nrSACv8N4y6ZTXEYtPvv6dFvwg== 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=ZjeFbgHO3i8G15kei40q3cYZoaCOFKkRsPtpzW54MBJ1Rqggeh+iruftNcEBWD3GK7/NYJG6CyBb2F0uTYVkr3MG29FoCbQIVeBm4YJRmt19GsV+++bZH1s0/Qit4tRnwQKHqlvm2MCIcLqG1K0kUSX8aKHh0hgIMg3Ra/ToefbPFJycqa1KvbaBpMcOp6naxLBTRl6U/L2r555jN8Va5qwUNnFrJjsd3ZUQ1I3XUJQ+brMWWRVj8jebmaj4ono+9ERinR5Sv1Agmt1cGKbAvRSmKg9hNJUaM6LtxllaUo6MUFlAv4IzOsPTxZL/vIaKdMdOGlpJMWkqccv146sqFg== 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=pdoLd2FxxApSZYhwUQnjaFvg0rNxx8NvVID9ew0lvBWJoRQL+RC+kZCC9ipeqZtKSFpb6sMtWSYYNoKulkugmIgn6f+DrWKSQuLWDleF203RGpe5EwGWNZh3sfDCxXkY1KhkXi09uPLx3wkCwn85xz/69WIKwh6LZJeKp/aIyWU= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:45:03 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:45:03 +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 v2 35/36] mm: Avoid rewalk in mmap_region Date: Fri, 5 May 2023 13:42:03 -0400 Message-Id: <20230505174204.2665599-36-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0217.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:eb::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: 90d52c6f-f213-4703-2630-08db4d90750b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6NDbfh/N8FwETHtRuNOPMuOCAGZB4jKWH/H4JWJZ0y25XNXE3ZRmLZ9LNSw/VAqCDQNE1ml7Dzzo/LZ+5FlNiX7/jzCyguK6FGFjcpg2V0sGDaNdIqygEy5Th9I7jTLlr06dFnKxdVZiKFi4p/rwnw1EPaQ5YH1Ql0LROQfY7xsvhoPs3+stwG0+CHgxK+UArLEc7GWT0VCuqFF/GfvDxxTubnMvNCu+9h0nv1j4HjpeTsYSRZtFYK7ERWkgqddSHQePlU7WIxX5qYfB9UfIWJgYthPtu3kuZbuFrSId+9SaxCUGsHJDCFVVDPIKWZ2+FxR7hiw2fBpHKm/QJJ9wbsOA+Y3lyILmYxdQn+IW95wEfhNnpd6hyhYyFB6RHR99MFKfpeHS8XGp1zGw/+iPxdNAbU8ivRtUIt1NTurFL5VJKSUF0yyofbDY60vQf+ZptFRfat5dzVsuIP6HjjBmA9MdnGBJbdhidlHn/+8SFaqSgMxzBUwze3+X0zJW2Ee77Lugmve4XoqogT3Vce3KsLDwZO+nGF/qoa541M7C/7zCwOzBWfD6pCOlFfRV12uL 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6486002)(107886003)(2906002)(4744005)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: K0W0bMN9Hvu3dRa9sKpvMLCm8zuL7eudMrQSSivwHjzUBUqlwvTYLndjjAg1dkIsYUU+KMfKWUff6hM2U1l0k3hG4v+roHun6aEIYOXRmLeFVNNKiidiUPDkqabGDQKt3LOO45lW/kJJIxTD4XqjUC1ogpRjG9P0JXXkO6HaZi/k4PI0qQOqucppnUG5kB1BKthImL9qnie7GW6SMnzlkmKFgUdEWxCzuex9D6XnFrfnWY4oBzmejAUAFOZLB7qK8iXMXaPeCYPMGuWcLdCU7i8Mu6s2C3Yf6dY4vdjDWhGKKkAMqSz8xu4KL2LD0kxvE6sHATjuUtny7JjMAY4nkDgUYQrpDsmg+V9jo7iPSA9uE8alsjyGYZnpt0K9/ObCjes9Y269QBCpEX2JW0q60pe6Hg+HWN0niGaKX9LN/onQZHKupEgbA4SFHh3HEg/0rO+CJjvdJ1RMrVPsQX1dU16CDLfy824nlG3pOA4bMIZkaxSwVoIGZQwRQujwnbgVIA3BFbj05ivYQ4ZwCFt+LhlftJgTMsoLj+AxnWGlw2xtK90Yz1iPvZKJckPbjQ1WKwZCr22KT4sJtTyojEXRReCX4tvtq7Irvnd7E+yo77A8ya+/sxLITpPjEhPUl22kpL/NjVXEk4UbWckjRZ5EW/S//mcf1lBS1scNAOntxtOLOO6kZ3KCa8Xg7GLNfMYGEXbPv/2LxKT8CGPY5greN9UD1byt418aWT1hC0VpSfcPrCKChaXdPhv7FdtQMQeIjWzMUvkJcVYk/g5TrqSSfaBxuceTur0TndFoRK/Zv3Gt7GLGRPNiyf9o+DbcDTMvbLrus5MHxHi1n3FQzBAhclJ1NlXvWbErnCTISAPmn7N0ZAXVSWPLlBf8JcCMd1YxIzFVFVljxHHHsqQ4HYoiy84Qfg8iQVHCp+lV7YpuIKLXNcYtRxs/rfPHoRCjgJO2qgfTwoEHYNMMib6Xe5zgQQMOWqpIoehk7CPwkWyupx//Kr7pMNGNhhcH0OWa5l2QBy97FYo+whw/+VfZVwd3dLgb7yC9PekQaJBpLusUHfoaSYoLjBnOMYTOXfv+oFvx3XPVCmDeIgcJvQk+TCp3jfC9edDN5K0ZsglfFP2vj/AzWjP2HONlqkt/pRsjMSiBuEQ5hsJbvfEBf3WwFwwr2maL04YwUXfx12cspnLtz8CWo0nfimZZ3/9AfVjjqFp3LLwvk2/GAjFe9OWaM1q0EPW/AQkIpErh2d8+wFWVtLeNH8VPBhIMmfhVcUmzSbekvLzeXybddTncblWCa/VX99Tnald4xjikoy7rNSwvFWGtBfVeR8pZ6oXjKnSx7TfjYtGCczhN6BhAFLWxNLPnPjHFJwh9EHmiHifFjRxzk3DFFhq02ALz8YPmP69jcbKMh7CIknjitiIRmgwitf2Mkduqm27P1rJWRdIcFgdqrJLD4s3EHQBNkoCVxoyN/qg2stKsqqDJQ4D5bnL3krW4AaIyNbVjIB3wLGzEwbZUlLtOVmcOiK4TdXUjnoJrJyUs4TgxfbCULG1eaYNdc1uHgCZNDZvm26uoQGV+k3kFOoBaBpTWKkum5BNFcpgltms89edS/3o7bDWmCaeITp6XuQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: KniLLsFqxbmz4RRNoBSqGH2GiTDmkgh1WJecUrUVX61I64BXxHb6bNbRUU8fzKLf7wZ4bfrYVHkpBee2bamENbkDsZZHWUpW1Wg/mB8CuW6nkzBZn1VWNFrGgJqFOCSuRkMngV/gt4utLODKedqLo30XzlWXO/Nma/tAbxgZ9CJdTKzMK6Q0XVUm2L6o7dzmrqLW4dzWbjqDSHJIQxP8GaomVewLR2A4dNnFrhzCGUonRA/jURsYhohvX7pFDtmqdyADWq7IOvGFmCkRoZ2SCp/g4yVC/dGlozefpaXNlqWgDNcZ/+PT5M4wIrlJ1bkuo7AktFSImNYRoYYkdayTpV6QeOmZf958j0Hfgl7/374H85X/6viZnGkdGnVGmZVKJpPYtO0Dfw9igP8dC89A/mrPFCg3k8j6KVoKbvCt2mbNxHILWSqEskwoJOfwFciw454gTfo5EPuzj0h4gEetxc+iEMFcupdb/4hmw9Y+ldaY5SoMVAXPa060hBtMs88G+GHLrJVjd1uoYMYdKSF6z/MA45NqVSd8YrwuMYNcNmNEYXLgXzcydZhMpbQIFa9B1cbkwRguMpCkztjHKiP3MEaGZc4txquUrfciJJoOJQ6OhIkabnHPYJ12vjztF76kAlPy9AqstG7iLcCc2C6zGL2wPA4j+q2skdkh/2hXNIJkt5kE1ODlF80sSB6IfBzm3Sx1c7Nwjp+8TCaZgxaOBG3Pr3thODT/JVorOfVJtmyF9Cm4USObNNoitr5M1NnmoQPoYlB8PAbYgiDU8JkWmPKCfRJx1U6XJuAAYXbote+nRXdM4+eppK91rFaQ0SK2u0FaomE4IhldT+xUtZ1SX/RLS6zhBrbQbDEBIdoQDnT8yBzWQl0vmcBkD9bFKAnLqXGnjtEcfJ0zHG/kZUm3aQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90d52c6f-f213-4703-2630-08db4d90750b X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:45:03.8633 (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: JRClgog24OKVIgUIw1SH6RKc9vZsdle0y+U/69l6hd3PJp82tecUa1D08sTDIqjMy6N1vJ08piuEjHOJ+5VuFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: h5WrWaYfPzxYfDORltX47ft6PN3He3lk X-Proofpoint-ORIG-GUID: h5WrWaYfPzxYfDORltX47ft6PN3He3lk X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077772024854826?= X-GMAIL-MSGID: =?utf-8?q?1765077772024854826?= 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 From patchwork Fri May 5 17:42: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: 90536 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp587916vqo; Fri, 5 May 2023 10:52:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5chh3MOhufgEhn/XDXt5D/NA8bqupSUdUkYu6SAG59s6BOq+p8QC4YuL+1MxDDxU81R5am X-Received: by 2002:a17:90a:c592:b0:24d:fab5:5f57 with SMTP id l18-20020a17090ac59200b0024dfab55f57mr2972941pjt.17.1683309177297; Fri, 05 May 2023 10:52:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683309177; cv=pass; d=google.com; s=arc-20160816; b=NwLD5L8gw3XMwXCG8gthxHDtBxtxvNhMrDoBgHysB46E6v91yuNVYneT1gVHx60h+g uiXtrhV/4HH+rgA3bENdOkXW1hrcCiqL3m1qlT/SlPFRwR1BnE3oDNt7oLw2bON8dsT1 d4t5a6TTO3iCk6L8ChFxfq8/Mao+JTtQrdbz2iGH4F+jHrh+PsR2VwcGBf/GR5jg3nJd Vjfe9ty64CTrfQobsL9ZXtwMtK0c+T9MkaSHmO7xFN70CRYzonbqmV5Tqv7UdoXCUsih 2k+OGPAM9NHxLPYODOyFpnB7kHm2T44tGzgH1PM/OGx+R+ecgzJ67V4lV+SDaDq7PoFa EBCQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=J7UkLuHdvcaGWiHLptvkrDXfaS4Mp30zRMqlVBCT7Tc=; b=CRa3XTTqpETddMxpwsezxbVzPN3RvgOGc1M7Ksl/Xu7Rx/xG4h/crCcBk51+ogtyXv NyEJPT2dX+1nFyemI42augBfzOJbEz+kRx1DtFTXSlEfVbE0+4xVZ+M6NmKqcm8r5VuR t/fsDn3685pzpcD19ulwOuAFoLHBozvHHgM8MJNPRi5IW+RR+znfewMUJScI4WGTvAEE vcxNl6n9pQxar8YPY3Os5Fz0KKmbGtRT2/pEx7EW5WumF9da/whDWCc1iHtD+QnnAXdR iblWNKKDGItFipoRvfnO3OA4JJBNuCanlAcaGcAsx2fWr4kK6WvG1Me6vgNEWvf0Ranv q58w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=xWpisiGX; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CuFSRmdk; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gi18-20020a17090b111200b0022c24bf1810si18499792pjb.29.2023.05.05.10.52.42; Fri, 05 May 2023 10:52:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=xWpisiGX; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CuFSRmdk; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233111AbjEERrU (ORCPT + 99 others); Fri, 5 May 2023 13:47:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233115AbjEERrP (ORCPT ); Fri, 5 May 2023 13:47:15 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 68E5A1C0E6 for ; Fri, 5 May 2023 10:46:31 -0700 (PDT) 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 345HhO1x014853; Fri, 5 May 2023 17:45:10 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=J7UkLuHdvcaGWiHLptvkrDXfaS4Mp30zRMqlVBCT7Tc=; b=xWpisiGXJN8A+8B+DdW/hE77xzaLER8/Npbv9ncSIH00EXpr7vnYTgYQ3A1C/fO33Cu/ KsgTzqm2zS/MbpvvQCGcJBkfL3y7EJyUfueGmCrn78N/KLenEnAPTJwLAFXOqjBhaOTb 13AQpcSiUpVfEdbzIvYtqGOtIWMyJOHmDxOfxghTyENe10V7hdikziGPnQkz7SNSWb/L AO2F+/0ZVVfK5IxrGCz3Lepb8c0xqEk6KbNZAo9bjaKRjOqid71FhwKCjgCcvzUBNqXp oPJqCFbtF6qJiOsWUSMIbrFKM4hb+D46GkmID+I+caH+CURsjf+5XTfAg38xxiRtlI1e Bg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3q8snede0v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:09 +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 345H3l03020835; Fri, 5 May 2023 17:45:08 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3q8spa5g04-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 05 May 2023 17:45:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OhlqnNhVKoiHhdXYYL5MHsm6nD988kJd14f9IwI9NMLtIyPbNr/wvkDNO13LdSyxZWh8GC14YuHdku62+4Q0MBg02tnS6HI7W51rTgQsaz2mFwhRGf+Gps1Y0g0HZ9KtHiapoSopcGJgHipO/u5Pd5QjHg8UpaLsWdJFk/IY1tvuZqTsHcZ6xbn72ScoEl4/ulDWlNfACXGSCn1BumcLnhXbQR5Idp/A0rlmTNEjn6xpKSjkZlsPV1+GWabKZQgbNsokpoK1bGlpjKXDe5Kfsmlo9GpbRd/iTn9UawAJhE6rVKMk+Aw4r5vOzp/7KZMfZPPC5dEDttIaTVGgBcq43w== 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=J7UkLuHdvcaGWiHLptvkrDXfaS4Mp30zRMqlVBCT7Tc=; b=ZTp2qzHAJ5jicvC7UZ9hjS0ML0806KfmO7MBA0BbE8H4fgdjynWUXbgL1yZ8y+sQubV4/bM20hXKNhPCghWDQdqbr//vcLwWgNDA0MgHlm4eGogVdpiOq+58Hl1JRHoV56E+5DhcelVkCSRKuB0Czf39d0Njng2BzEhT6kFP/yUM2L3zr9YAqu1kEgv5owEGfN0dhz2GtxRR5qqq8ee9m30r5ziXhtg2tGeMVccNupP65uoWGi1Xlfya+a2/79zy2cSqBe1g6woZEyBBHmPj3hqJhrb9nCOKNxPj6N9oGfvUbW/hgNyJJ8kxRykvycjf+WL/lCiKwLrfP78UbZzdeQ== 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=J7UkLuHdvcaGWiHLptvkrDXfaS4Mp30zRMqlVBCT7Tc=; b=CuFSRmdk0UTXfxInglWL8jlshFG2DX7grQHcHw4hG0lCn3j75jKP4B7wOwHjmIqBE86658xmCkSQVO6Xz6j5vThfQ4wrl/8LcrSD5A7gJZk56iM/dCFvBWejWGDfqzoRSF9Gz7/Sp99ar2G0yyUwJCV+k17z1wM8+Hcxc2RxG5A= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS0PR10MB6895.namprd10.prod.outlook.com (2603:10b6:8:134::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 17:45:06 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::8bb9:2bb7:3930:b5da%7]) with mapi id 15.20.6363.022; Fri, 5 May 2023 17:45:06 +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 v2 36/36] maple_tree: Add gap to check_alloc_rev_range() testcase Date: Fri, 5 May 2023 13:42:04 -0400 Message-Id: <20230505174204.2665599-37-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505174204.2665599-1-Liam.Howlett@oracle.com> References: <20230505174204.2665599-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0254.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10f::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_|DS0PR10MB6895:EE_ X-MS-Office365-Filtering-Correlation-Id: ff2a7743-cb70-4045-e3da-08db4d9076b5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U1i11IAxjS0dbbgp+qvFwil9gsXxsx9t/9esfwEQU5M7jkUpbrfM5d6zZRRY7i/IDVGVEF6HiSLx+/b9qGmLpvhgn+5/LrHJ20+gXiR3gmt/L4zBrzt5yaLyBLvue/FZ/3jw3owY5RAJhHlOj51g1rMmPmQG4UOsYKv+XAb5U02poGXHJ7+DkYCwMz4RHpSl0IbputFfVuYRM0aRtPnaoR+kC/PC3pxPCYgq9A6uOL9Cy3rs1Hzt/ZGqQtQDJZ9otIvkGrYm3OsrFG0ZNZMpNdIF+s1Uo54zov/l7ltC/Reh1RyPqlLkz6YrgRijjDbDDx21ljwIigx+j3i9m63NzqQbhFPLGXi4ah+/6+ymQYTWiXr754ZjDuyHn3M2CPiZwz8qJli1HsmHfaKkuRH0GQMR+q3OBoDAtNeFwDBtkKXF+ernWeZ07ECK30C8ZuePOIPvuS8e9eX5hLYXpg8pQelDP2GzSCCLK2VtU5n9C4OcmVBBnKf8lpaXHPxaRSl/B0yUh0QOn7hk45LOgeGB1jgg4qby5XL3QahT/e/KWJR5xHnfQE3qpByn9JrAo7lZ 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)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199021)(4326008)(6916009)(66946007)(66476007)(66556008)(41300700001)(8936002)(5660300002)(8676002)(6512007)(26005)(6506007)(1076003)(316002)(478600001)(6486002)(107886003)(2906002)(4744005)(186003)(2616005)(83380400001)(86362001)(36756003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iUTX8M45225crYePR+vVW12jJQ3pZOIrfpc0FWhmzrnBERre2WYl0oIcRDbyvUu65kX/K7P+NJFm5buIVMzITOypYQ10l/e7FuvvzUp5oaNOZYFZYMbqVGDpWYq/xM2So2s8gre+0Py5AtYkscr4pCkWGehI6oswGW8FbZG47homcvuJR0WMDWPO1m8imuygJQ2AeaVyrL7y2bXnS7z1TgrcUEK74CYaQner+Rk4/nlG8wN1W1Yumjcd/VAFPc3j+8/fle6U8iL2Jxo77X30x16Pe2kUIsrh8czOo7j4VA0c8uB18ycbwGud+tvOF+lGwKcX+IXNJi8BSihriFSVI7IvLhYZyH9bCpEK0sos/QRuaLxMAYqAAm43+3TvTGNEPjsd9lOnq329in43TX2nipMaOPe6fTuxzwNIQnKhgjpxHPM3iN1tByNDlE5PeJnHVC6gbLWacn28YtfLnbZc5EKM8s54l29+KIQOvev07gb0mNobLGQwBHNmJhkEqTtg9/2i/M6gU+EHzqSrwPZ+Kcw7ZxDTRt9eLGXKoFxe9iQxiHEDC1pPyxQ5EPi6QbhyFK3/u9rwbxZH38CvtxrvsnaiUE08WElNRG62Q+tRFrGtf99reIWmXSVWeWwTm1zoKZS4IlOqdCKC5VYQuZzX3PFqRpEsK59qdBANj+hhisksXHJgU5jab7ewcDCpGR9+46Ft/bSiRHXH73ILkdrBNxYT/194paUf2pgkETKKDoqXh8glS8eb4cybJCErrId3/zWUvfVTnx8P+EwODabMGN7n/7nGJ3GGDF2HyHVU2GSNG8R05OzwUYitQHQItDYyHwyfBrYf3N+9X8SGSaKllJAhGu+c8uEN51VczSxL9UPfhUm36UsWK7EXJysZXyQrUB/Rnhk0R+A9lxe8gXWnxAzcij+EMaA/6LNl81kzXl0fYEztPOD0jQGkt6hb8RSSeyukyodPYwfiTfZssLQFEFZQ7dd9S0FF8vFYpipkJygXT5lwYPScattIqaBc1YZ9d7fKrQ/VzQ5DZXablJuVm1VGrIVhUe+2bvw2+Uu+3kNBOxDPdVfyc/lEG5L6PLKlS5+IrPdEGzZlGPtjXEvg4mY0vqDjgqpyRk4RIUzQp7c/vetKvXniHWlG116KF4feCb0AM1xzbVrO1B0exWCUIbG2FwVTNPibFow6k9Uy1FBAbOVqtFHD0wFrgUeEwPwLaq36XJxHw6GSHa4l1DJfWqDy3JuGmccijIW3zqKAzptdb4cOYp1NwK+8+xDNK7efd828YFrD75s+QFRou3I2QpKDACohWUz4bYBOzivI9+YIAXDp5Ae5ZiIhNzEVH25RURkQ2zTP6tt6DGYon9oaNknJPBVIEunMzCBoKehZS0D5IaEWvQOhIrB1++zYdo56Fi2eiIPG+xj4oqGm9HeAqZxOTW01Jv2/R/s8kWUFM8vHQs4jKcRu7EIAEHj7bttAzi4S+MozMHQLzO9xv5YsRuudgevYOoHzK01h2+9kLyvar7yJUUmIZfImMW3E/r4nq4h41Wor8k+SYkRCZX5q49XBE710vwdwQw4cX2tccXlHgF9l4Qugoh/tPWd8tipA9+bzZq3LDGdC/RQSgFcQyw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: VGZB0a6WXvqoqdbmKjy0aUOX/Ml1rWyTkoR7T8zhndc1QYFNbOW0zqhJVK9Ed6/HtyLXNtR5RgbTU2LQ32HQO6yRYoKpae+ru7jVA33vmf40thhTW9EJKk4ZgG1Xkr4PuCYtG1Bq0GGt5IdVHrXO7LgQiDQ5md9OxWjxSJcRX8g0Mz1Bi2jC2/duU0xz+j/jNSJn/p8FpZoQ+1A/z+TybPgWJC49nVbzgrtPy4ulgz0V8kFo2F6z8Y4KIhNzY3LMN1Ww96PhjFbARgxirv2Wh/Lgs8GBaYhsVzt5wJ2IAYeWFB+7c3xuGm6bHMLInxFcA0O/Ft2KRFAA3LlBMu0Xu6f2kGqAqheqN+Ttu04LRmbog0u2EvPruIpNiuGxRjjVOD9nokIvEAFNLdJMFGldPU6R+hto3z2iA6NxWBYE81uNt3mF9aeU2ZIFgfPIa6QShG2y46BIWYrrQHnjNHoZHoapthyncwCzxjA5q2m5EuTYGXNfYdZkLlwXmrJh/tvqJSdaarYL9DHI7jrTewkuaIxh55i/9Bzlw56mvlmFIelHWG9SjV4Glnzl0waikNFh0OMobdJfM5iW7R0Kw+Nk/I0TVx8YDDnLLlKpL3rkwM0p3ghuHE4cKTdeVOQqD7KzNVMMxt/zvgqsgLf6lmMak8PAFKTafarKZyrHavWTgOcboNg0cz0qlYW2w9xV56ozvZw7SiqhLPmo3IEnQ+oHBUvkJxGfJ7nfyLuSW43GU3j8LbDJJ9hFxsDS11Cr/WZuLm5/Yg1TU/32561iEIWZsEstrFL5r6pcXNoR+EP42kxHepUJLyMvEUEHHxoRc5gbbT/oZoki+LQy3LXMnXvqd/0iF16OsoPDhhyt5alESEumOzZSZSSI9LU05xj5Krg9Vpg4t8ZNHhA5Yz+AvagxLg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff2a7743-cb70-4045-e3da-08db4d9076b5 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 17:45:06.6536 (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: J+jD7XPy6dYNN2EDUF1N974x55tSHxH9cP2XQlW4PDMKB6y5uH2gqlwKygTuuJUm8TuK82VfrD3XV2adhP/z7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6895 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-05_24,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305050146 X-Proofpoint-GUID: r0wcokRVHZ-TWRhIRkSC69oXu0je7ljP X-Proofpoint-ORIG-GUID: r0wcokRVHZ-TWRhIRkSC69oXu0je7ljP X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765077603927148039?= X-GMAIL-MSGID: =?utf-8?q?1765077603927148039?= Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index aa3c4fb9175ed..9939be34e516e 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -804,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);