From patchwork Wed May 4 01:13:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 12836645 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 81FBFC433F5 for ; Wed, 4 May 2022 01:14:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E370F8D000E; Tue, 3 May 2022 21:14:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DE8858D0003; Tue, 3 May 2022 21:14:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B9A578D000E; Tue, 3 May 2022 21:14:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id ABADD8D0003 for ; Tue, 3 May 2022 21:14:06 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7D0822928F for ; Wed, 4 May 2022 01:14:06 +0000 (UTC) X-FDA: 79426289292.17.0812547 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id 4DB4C120095 for ; Wed, 4 May 2022 01:14:01 +0000 (UTC) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 243LIGqB026258; Wed, 4 May 2022 01:14:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=Vqiz50MO5iUbcnZL7iPPAt1f0jupXg/4AfF7zQR5jVA=; b=aOKxkOOrPQbvAdo0x2xo4UoA6K9oc/4zQdNmTYimQx3ezmNync9mPdmsnS0M9CvV0iIQ dg4FQAJGuDDH2+iFKvESqWvnZqoiigW6EtJX+C3W6BSvM62syYKXhW38Xl6Qh+yXRiUY Z++Oz3mYEbdX7c9SI5hmTOBPHMevRxrga/HuagHECiASNP/cqM90cIg1zJ4MzI4R7262 BRZVbnDKSvDT+ARp0Fsz0WsmC5AM5ZWK+v/oybYGum7/ZWK30JhUvXGkkNgYUmJJdnEv dx+9BYt/J3bbH1h208TcJSQitZQAG/SFjYA6m1eeelS/cvXSmiJdnAJ5KXKLV+zQaZEw Jw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fruhc72pk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:05 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 2441ArPv020035; Wed, 4 May 2022 01:14:04 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fruj922jf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hawz4LDLaO0gLbzpbepWBWJVowdaU+00iDxnzFGNV4Hh77SVOTLIKhv8dF0hWg5/rcFL+6ReIiQkZipBZTlqObOnAqSTbtimwWjZAqDJtuM8G/ZUn+WERwEeh75YinzqeUyERYM8lo6NIkH3hinAu/QW6sbq7yXi1+h0XNrLYnm2Ne4uQAXgnZn8nXEZDhBVckwqR6xNJp9GHwyxkKGAHaM1q4FL6AVZYcp5uEKMisnh/FIJnrwyEEYLAGcsb+Dq2pMAbtjfNMynLuL234lbDmwbM29I2BuAZsybBTkSUE22MEW+bKLozfy4y+m1JJevj0PIXKlTV97hUwbnJggeEQ== 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=Vqiz50MO5iUbcnZL7iPPAt1f0jupXg/4AfF7zQR5jVA=; b=YV5kzNeYkS0tWlTDO2jniW5WkgmAdiZf0UWjXVPYhwEJZ4HwFud6Qh/VIndBPUzCbMH7/5Vfe7fYTEfOj8Jj863UBtXC3n7VCpjaTU3wSgyQ5k3o76nC/R4j+egMCkjG+OZtQ6RFEtzKJZTlgz5bA2if4pQ6wGTHMKBNthSx52an+E5kzgx06xCPN26Skrl5tI2aaDtqbxE+dAxuihb17KpTq4PfbhXlQMqSfTFwk2DKEZ+f9Y/xGC8dv/SnQYNUWdQJ9H1CrMlNdMBXRaKSoR4Y6oEajrx8Wd9tLpriHMrmifwVIwh5rxrtyWgK0Z42tjb5QjBaWnNE0jC8Vy5hMg== 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=Vqiz50MO5iUbcnZL7iPPAt1f0jupXg/4AfF7zQR5jVA=; b=FxAR8S8H7RWiMB8lJzrd1CicdvddsJlMKlGRQ0VRYOa3pjRtF/aQLriVH/Sz89gtlEXXkT5vnF5vxbTYVmJdPVF1ngzzfx7mJ3SJU0KPGM+m8KhnABPFMwTafB87t3rJAELOe457g5Yfem3jFie+axh8RPbFDfd9/VuXbSKg62M= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MN2PR10MB3728.namprd10.prod.outlook.com (2603:10b6:208:115::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.21; Wed, 4 May 2022 01:14:02 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c%7]) with mapi id 15.20.5206.024; Wed, 4 May 2022 01:14:02 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton Subject: [PATCH v9 42/69] fs/proc/base: use maple tree iterators in place of linked list Thread-Topic: [PATCH v9 42/69] fs/proc/base: use maple tree iterators in place of linked list Thread-Index: AQHYX1Q7H1B3w8l19028UEEeLDCdUw== Date: Wed, 4 May 2022 01:13:58 +0000 Message-ID: <20220504011345.662299-27-Liam.Howlett@oracle.com> References: <20220504002554.654642-1-Liam.Howlett@oracle.com> <20220504011345.662299-1-Liam.Howlett@oracle.com> In-Reply-To: <20220504011345.662299-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 08731d5a-2ee3-4b65-a735-08da2d6b5fef x-ms-traffictypediagnostic: MN2PR10MB3728:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6HmpCynUgW7NYJAdBLwc7vUSBWHXSTwfcCHRs+ZT/hj7rAR5H8Znlp/eyjSmWHTYLhPmBEmKQVbN4ML+2j6+GrMJV1qutt1zL/VvCK1FvcwO++AkZYOdNyaSFH4GXj+EwVtxIVSDN1G9VKHV5kC/rSJUXBEsq097xiLYA348fRT2kId1mGkXEXZubdasypkyxH4GfXBLbH2shLEPHceOmkp0v6unHZEmdpswOVVqwq7P8fLCyAmFxdDYA7uj+sUV522FkjcbAzcU3i01TiM9xXXACUhGM4JeREsN/R6Wnd17aWo+dvRgM2Nsg+UCjYE+D+NWixQcHG0yfI6jWlGhuzzc0WkC+PzolBCO0lpPVIfXSIKKgtDfWMbZQBdecUFqMYC5ibKsJQ7HLAf01AHtQGPoB9c9vECz5zUU9604mNtncvF6jvzN72XmRmdXiL414CSuBB9liEqW4YFNeBScpq75Mh74QobnBJVFqJEYgfsKzxJN6gEkwjo47Uwih16knQh8wz8ulSaSPtkwAfIEPfNgI2hJoXwE0Ms6hbTELaGRX95vofQeaBWQgaBV9KrHZvp/3tEtNhlimXBw4TVGGzFg8xklzGq/0yY1XA/zY6dOFxhYsT8P+Dcg7biyhdZplr+8/bcJAubj5OWZq7d/jlRw8/fB179zMsCl2EIc2CtjitmzjPSAxenUNAbVUAPn07jOLM1G+A2Bdysi6UZcWQ== 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:(13230001)(366004)(71200400001)(508600001)(5660300002)(8936002)(6486002)(86362001)(26005)(6506007)(2616005)(6512007)(2906002)(4744005)(83380400001)(44832011)(186003)(6666004)(66946007)(91956017)(76116006)(110136005)(38100700002)(38070700005)(36756003)(316002)(8676002)(66446008)(66556008)(64756008)(66476007)(122000001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?iCGiFmTkMBBpBj9PCWNfGGg?= =?iso-8859-1?q?RbwopBG7zc/RMwD9bggOrdpDPd9TWHvJDU60oI4DleICIV7Y8KoH0gXix0Mq?= =?iso-8859-1?q?1bPBJYkI9/4zXWo5WgIzdUPWNjddLNNP2v3C3BtEhBunaQzqpr+CiLtbkEck?= =?iso-8859-1?q?pPixSjvpU1fK3c8+EeEgRFwyW1PF1AA+tGELgqO+aiaGAkxZ60B9d3XwAhrJ?= =?iso-8859-1?q?HATN0o2V/ve1HA0wOQOajvmtUS2EleGsqoAioDmxq5Nc6+eL0EHsAQj4dBNv?= =?iso-8859-1?q?yDQDPTqZugj5Yt2Uerir8QN5fDwo/9QUeH9k7IGvOkVBclPa7cN6YH/fky4Y?= =?iso-8859-1?q?A87AUVayTBjOzGhnn6WPAUuuY/Q0UfapRNsLL3nDfur8+rRP6lMh+E60KpUh?= =?iso-8859-1?q?eSwicI6BpDyhOvLaxEUr6GFU/2671c6fw66MF4SnNZFLjJ0RJdGAYZpkyrgi?= =?iso-8859-1?q?7sB5+Ht7vkW5nR1qcFWV/fUc0K1ZmvcjITjbm+oox5i/hGxQcSN0XNZa79ZE?= =?iso-8859-1?q?CeCoj6Jy0AuPEZBGQBGGd7Jd1p4VwOJCA6BMxOwSVQzSXldKmbYiup9ojOvz?= =?iso-8859-1?q?FHEQE1SOaPIGNflouZf6twZc9kB1eb4MCRxKzCLT8hPB7rnCqeKdn/jwXnEk?= =?iso-8859-1?q?gW3lbfLYYBkzvfO6vh9Z6N7/pKrUCnCsUu00+rmVh+jPRvEw7dy++BTnh/qv?= =?iso-8859-1?q?2ftsoHsz1hWn5PX+MoFZcXKPTBN+7o7VEpfXBKWXFP6vSQX3VMpr8pE0ezlF?= =?iso-8859-1?q?CiZh5NAz08E9fRVX82Di5izQnJo22E8fejxLuyQJ2rOACTJtoelhmA7/7ttu?= =?iso-8859-1?q?Pn/EQFYyZruJoOkidn2+JtezUzmE3F1UAuw6AHRUZ0ufjp4k1W4xrlxxcIiQ?= =?iso-8859-1?q?k2yoLo7S7rjB2oZQcqPWDSGwTkGfDFjOjsCSvKnWgzAwSFamkDYaCSCdYD4M?= =?iso-8859-1?q?RZVHdVXoBj6bLx+Q+BBu4MER5Jin2/9/l4MsnixbfndP81Twtgwcm0It6yyQ?= =?iso-8859-1?q?b8j68m2q8YGpe015kU3i/ycInqdu1eeSsjtljsRbl39iOh8qYLWbjlq6/whH?= =?iso-8859-1?q?F3KiBFAUgDjPkmJatN2NaPdkpxoZRiGHzsPXRPomrckFVFjenG08JiextzQB?= =?iso-8859-1?q?AhqiKO0UMA6yGWpbOHC1LOV8K6G6TeVf4j1SpfswIOuLyuSRQJxKB/e+tM/f?= =?iso-8859-1?q?1Tro09i7rdT5C3wLw6JORDIb2/xL/dAbm3QiqWdB73qN/+xMU439+aVe/k7r?= =?iso-8859-1?q?XFeCu5umygPPe7hyncsKSqIaKBAFBLvwT62t5Ql4YqRUFAIdT2UUP35y9jeE?= =?iso-8859-1?q?w9sVZnyO8XObFTw93b8gsb1uQ4loNqwfzSiCK9cGMc5/7IBV/RFYn3YGPn7o?= =?iso-8859-1?q?Rb/W/EzIPXxFuxkiF+uL4qzz2SKydFyrdD5qj87xFYC1VrEFRyopBxUZgV/9?= =?iso-8859-1?q?cEV4Ma4mLBAI7r/yd0ypYdtX3FzVVI5n54wZdqB6fpl4VEihcXOvtV4M0qsc?= =?iso-8859-1?q?sBO/AFV58NXSgjM6rSPN44hEvflFSJH0qLVKUn1JFqn4AWtCletq145B6LKQ?= =?iso-8859-1?q?qErT4yADw49r8nfbsW1rk636hxnbz5rlTsKY0ikxQfDrLizYGWE16YlV6deN?= =?iso-8859-1?q?K27po4jPSSAXArfz3STJowcpPqQw1O+y3NtCVgm91XuvFRet0yizg3QQ81EQ?= =?iso-8859-1?q?sbx0WulSEfFEr7pEo2fc8orKuux8+WsdmloHENlg+2ZW0iFwlXIuw0MeOoVw?= =?iso-8859-1?q?ycXqvg8eegqKZA3rw3NvL0NDkm6llAFCvbOSbWXveKZDUGZFkm/c5+gmH9zZ?= =?iso-8859-1?q?QlbLgEZs=3D?= MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08731d5a-2ee3-4b65-a735-08da2d6b5fef X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2022 01:13:58.9078 (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: HScyu3HwA6x7wJxLumNLnlaHPOhl8mX3rguk5EmIG/X/CwZBBEyS0REwIK7OAK3q1gr3Sf5J5U9PTmW7uw3/Sg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB3728 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-03_10:2022-05-02,2022-05-03 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205040006 X-Proofpoint-GUID: guwIYY-tALoocc_m8F5Iw2fsknPfWsQv X-Proofpoint-ORIG-GUID: guwIYY-tALoocc_m8F5Iw2fsknPfWsQv X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4DB4C120095 X-Stat-Signature: oqzaihh7t3hjferh3qjb65sgujzuyj6r X-Rspam-User: Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=aOKxkOOr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FxAR8S8H; spf=none (imf29.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-HE-Tag: 1651626841-86279 X-Bogosity: Ham, tests=bogofilter, spamicity=0.003775, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Signed-off-by: Liam R. Howlett --- fs/proc/base.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/proc/base.c b/fs/proc/base.c index 8dfa36a99c74..617816168748 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -2322,6 +2322,7 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) GENRADIX(struct map_files_info) fa; struct map_files_info *p; int ret; + MA_STATE(mas, NULL, 0, 0); genradix_init(&fa); @@ -2349,6 +2350,7 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) } nr_files = 0; + mas.tree = &mm->mm_mt; /* * We need two passes here: @@ -2360,7 +2362,8 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) * routine might require mmap_lock taken in might_fault(). */ - for (vma = mm->mmap, pos = 2; vma; vma = vma->vm_next) { + pos = 2; + mas_for_each(&mas, vma, ULONG_MAX) { if (!vma->vm_file) continue; if (++pos <= ctx->pos)