Message ID | 20220426150616.3937571-60-Liam.Howlett@oracle.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 B2BFCC433F5 for <linux-mm@archiver.kernel.org>; Tue, 26 Apr 2022 15:08:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6915A6B00B9; Tue, 26 Apr 2022 11:07:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6423C6B00BA; Tue, 26 Apr 2022 11:07:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 41E6F6B00BB; Tue, 26 Apr 2022 11:07:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.25]) by kanga.kvack.org (Postfix) with ESMTP id 2F56C6B00B9 for <linux-mm@kvack.org>; Tue, 26 Apr 2022 11:07:41 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 10A0420ABB for <linux-mm@kvack.org>; Tue, 26 Apr 2022 15:07:41 +0000 (UTC) X-FDA: 79399359522.07.11FA0A6 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf20.hostedemail.com (Postfix) with ESMTP id 6565F1C005B for <linux-mm@kvack.org>; Tue, 26 Apr 2022 15:07:37 +0000 (UTC) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 23QDSu3l018603; Tue, 26 Apr 2022 15:07:38 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=IvRJcuHAa+EYg5qkqbat6LnzuehR3iGyvP9x+a7qmws=; b=mcXvB5ttUQI35sjxtR7aC2KHCNw8xZpU392//NFTTJWXzAwCcrxa9JxO0rPAIDK7/ghL AI3xpKfZ80WWdBwDfAP8y79IRYd3ywU/MEufNM0mwnfxQUmk2gIXb5RSMsSVhNgSgld6 ons2FEcWsCduixpMi3EgRD3ymHRVfd7QJrEq3gZEM+KY8qGvkWHq5n5WMbTlMqJerYwi DhxtTPHxArJGl9wDkSmf90N1ChKk5aq7l2V2ozV/TKrYvcJajrMrENZYi+0uB64XI9Cq bEOQOEAwyl6NlYbB5/4Kouo2PTVsR5iy4SJzbvj4YHExhsUzS21qTWTzs1O6QX4sc+16 yg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fmb5jxejd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Apr 2022 15:07:38 +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 23QF6UNN037877; Tue, 26 Apr 2022 15:07:38 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2104.outbound.protection.outlook.com [104.47.55.104]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fp5yjkute-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Apr 2022 15:07:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CxHL88kNvrHA+mTlnVOaZPFli1meddnI15QMk+rRcbJq6Ry47HmBQgVr8Q1SDoRHldCtmodWw9j965eY5QHphUlS27OPhrDok0HXDvBab4+1wcIzhgsE8uznWYWyYs0uqw+yY3PwBrSE0T+5hKVvZW3vawFMgtA556hF65ckjJDGZXfFRi4Z3x4na7U3+aJv5oIeOb91TnHD8IIH0VNxGuHYjmR5P4DOhvwHhobNoPHzTfMMCy7P2X82gbwtXbj44nIkJ54Fjgg3g8wBucbQ+s1lWjkXhSyiW6rKlYCPDox4L7mDBf0vvh9Ru00rtI0MiJG3ZB4smLNb8WhLsBhviQ== 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=IvRJcuHAa+EYg5qkqbat6LnzuehR3iGyvP9x+a7qmws=; b=gVgaftPsxtmYGMXqNL5b0fx2En1Cn87atTcOxc1M3xsn5qWt+5bW8ZrZmyBfucUkVVL78RoOmiFCt4T8462SoQCCrJd9b3unoh8Ca1hdPSyQdmEqPQVRNO+e/iAhaaiNSRRICtX85zjrTv8GeYjt8LIBxyxIHuyKoii2NBkp6Fx8otOpejs4B8SZblm8PlP4kU9KGEaYsp3vujEktD7GeRselUTbFYteG92gEI13+TYKFX4OTXFX/VXgsWRp/VZGXODsdeV23ceDNvzwiK3U29LFUvgkCcGEAmaajjuu8N/XQad47TfgJ8CJ/WbCxxMxVc+tl/Cdm0P026FQimTBYg== 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=IvRJcuHAa+EYg5qkqbat6LnzuehR3iGyvP9x+a7qmws=; b=hreMh4z+nx8IruH4JCnEdnSCLKJkZl+gNjkEIvZZYiGi2tXA+f6qLLqFg3zuqWMLEKLj3dMb6E9512HfsopMwc16129szC4bpOxY5gKNFV1H/v0NaLHtIPRbXvzLAxR1R1e9V+HV1XzAWwWqJoBwAN4Rg3Z4Ammn3YcaIDNhYfs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DM5PR1001MB2377.namprd10.prod.outlook.com (2603:10b6:4:36::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.17; Tue, 26 Apr 2022 15:07:34 +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.5186.021; Tue, 26 Apr 2022 15:07:34 +0000 From: Liam Howlett <liam.howlett@oracle.com> To: "maple-tree@lists.infradead.org" <maple-tree@lists.infradead.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Andrew Morton <akpm@linux-foundation.org>, Yu Zhao <yuzhao@google.com> Subject: [PATCH v8 59/70] mm/mprotect: use maple tree navigation instead of vma linked list Thread-Topic: [PATCH v8 59/70] mm/mprotect: use maple tree navigation instead of vma linked list Thread-Index: AQHYWX9BidFAYYV53EuHiSxllpYqhA== Date: Tue, 26 Apr 2022 15:06:49 +0000 Message-ID: <20220426150616.3937571-60-Liam.Howlett@oracle.com> References: <20220426150616.3937571-1-Liam.Howlett@oracle.com> In-Reply-To: <20220426150616.3937571-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: 9b6d42cd-aa43-42c7-b122-08da27967e1d x-ms-traffictypediagnostic: DM5PR1001MB2377:EE_ x-microsoft-antispam-prvs: <DM5PR1001MB2377E96EC18B3D21BE9FBF27FDFB9@DM5PR1001MB2377.namprd10.prod.outlook.com> x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: utVZX/jQUSgvF0Jj+6FNCAqXwwBdt1SP1V83irHZTDy9Vyl0Cr22esGsP2cvP9I60EOlJ46axTEgLmUgLr44rthgv3r+BJFHdJxD1JG1IxAcGCa86c5PTNmtlgkek2r+4LYYmPYWr/LgvwNA/HFZ+TvbHiQqOh5kD0YJ0spKsA+77QhUYyiA6tu+CdLc7Isw5KaJrBwoncMFliXsJ/0cLkyhLmIJWNStuC7s/rI3Fa5ZNZw+7JMJaTyN2C1fAE6b4sQx0VSM+ugSZ1wrDjNFz5wr4+ZdeVyuY4q3Okw4fPMb6AhYRgK3bHnT7zCIvKB4av/AQq5vf3O99WnrxB+MU9i93OFBhYscFzI+nbc6XC9ZQnkRWddYXqQe+3p3014fGAYz71fpEEQcybFTDCaLfwfU9MNlqsaGWG7ewGY4CDrYp+TwQy7UZ8nIRqkeYuBd9Z7Lm7jkqQItlDz5WrUIyK/jn61QpEG1fE64LJQ0X0AA1RN8oqwUuZmAVhL59kXj8ZBw29+rVD7v9x9elGfw7mXO65c2jwDTZQyHSq2Z4l/HRB1hex1yrKhlxg4bPQL4EIWUUIkY7aXK/T1OluJmnkDY8r46Jsc2oe21lXId0Thh10uUWnQVl38tTxcBKof9KEbiPTCWgV5EuVh623ff30SB+GsT4i7c26YbMTl21vFkDvCBpvJrniDsp5aLUizgIZmVqURrUwnHyfHAxS8fNQ== 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)(2906002)(2616005)(83380400001)(1076003)(8936002)(6506007)(26005)(6666004)(71200400001)(76116006)(6486002)(86362001)(508600001)(186003)(44832011)(6512007)(5660300002)(316002)(122000001)(38070700005)(38100700002)(110136005)(8676002)(36756003)(66446008)(66476007)(66556008)(66946007)(91956017)(64756008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?H52Q8MDPd5nHJGz+RUdL2Td?= =?iso-8859-1?q?Gbk+ePVHY/PHENjZwEnV8N7zfwAMg1i4Ny+LKM3N1F6VopYsoSt9AizsFjiW?= =?iso-8859-1?q?KTuj35+forqDp+qsn8xR9N+ubtPhnMBguvvTRUfeRQXK/x6lfPJgvGvqwXuh?= =?iso-8859-1?q?UgKqMMRuROXI170oUAslg+MEIVG+PW7+MlWmEcRsbN/hI6SmPQP9ASCnnmlz?= =?iso-8859-1?q?ad9G6zGqAJmnCGAdsiwVCYHg2aTV73kTazSb35iTItCLO3m54zAdDPRwS5VS?= =?iso-8859-1?q?nmj4z0RdLNhhjDc9YYS5+f+ttl1FABXZafsxfESQi4gyzOkC1XSqgSi/xDn9?= =?iso-8859-1?q?5w8qm0GRyZO70DTqP6x7toggJGcadTfNx00wqcPSzAeD9BixOOjqZhVBf1ky?= =?iso-8859-1?q?zaav572o48rCNa/QVtRg1fLgVOeWFpLZHexuezDUUkH2HAzx02hoIl7ndjv3?= =?iso-8859-1?q?KS9FkQirpUsoY33ZRlBPEY7mQoBe329hq5x5996QmXsONgfHV+J1ltFUFJJA?= =?iso-8859-1?q?ujq0A+9Fngoj3C8qI6WP9ALhv8JL424bZXooE60DysB8dmnAemBzIMH0C8g2?= =?iso-8859-1?q?f/AzxMyRjXA66YW9piX7g7cgb44PBn7jqb3UePaeGg1cnfoF8bspwHLfbaOL?= =?iso-8859-1?q?Fa/r6sVG5ph55/BcsGYSCOeWCMwF1tE1iXSf8cmAhy6CauQ9dDtXfYuwu8hl?= =?iso-8859-1?q?6J9LeoFhFjTnf4wRD/kfn8Z9PLDyaGUPVwhDfSDyaC/p+1DB1KEl5pOVEf7d?= =?iso-8859-1?q?uibNgVrKEDwZlYMQvSnhqDBDFZgNWoJSpmDYGD4auWVH8bFXcFTxLJR68i/w?= =?iso-8859-1?q?4Ru7a6QLEblg0EJZIcTDCgHyC0AB816byEW5XeMqRTMGTUXW84+3Jn4FLqQw?= =?iso-8859-1?q?OgJL4a2zkMU7erlh7K6nkDaz3rW//cg9GHhZWwidPOCLaGOu54bSse1Vmoqx?= =?iso-8859-1?q?Ud2rex6prK2eoYpVCyCeHC50CtmoowaHq0UmjxVse5VBPX+KV5T9DZYscOmD?= =?iso-8859-1?q?4IZJvCs0UUSp1wcBvhM2y8B0Hcicb8IBczNv/E2ObySHdRPZCYRKO6S6rD6I?= =?iso-8859-1?q?Q7yd4UhEGbPE68BuBX/ljZRHj5nr2aeaxOP+TzE9F3ntHK8eBomjWZjoL+6S?= =?iso-8859-1?q?VHWNz4evgQ2Bb9laaNiaTrHYPghRTwM6J5mfiTcgnZDF2LZfcqXFjd5b0qZm?= =?iso-8859-1?q?RtUikzriTnpV/05kfzbkeJRDm4qbDdKBJgiY3aHXlyLV9ohsEsszWtgU266a?= =?iso-8859-1?q?BO0sB+LKGeMMIq8DgIvbqXQykkYbcGvzh9VPaGsj3xIAKhPbnO2sS7iTJ3Y8?= =?iso-8859-1?q?qZ2/5upj+N/C9utm7zORlKNrq62nIhN6yFCJGjNS3L6vSPGKdBKTOJgMFJnZ?= =?iso-8859-1?q?RUYKma/mSV2sL8KNyUIZRI1i53k3c08qsOG9/FBXHRNt503nV6wWScYukrzN?= =?iso-8859-1?q?wvaUG61pUQETccngivDt72pMSX+Ms/QWttw3TLcc6x70Qu2cqEDa28YfLZ9b?= =?iso-8859-1?q?0yXwFaSdJYTGgsxn3TqnrJmRgNUplG3h/b0zyazUomw8N9CYBSnG0R4ZFWY+?= =?iso-8859-1?q?6UGkpc+iyJw/eSPyn/mFnqm8B5NMX7sFxQtf3DcKU7Whjfu+vObBTAO0UcJM?= =?iso-8859-1?q?mKtjQD+FrpoM0aASk2ebIMYHzdKtuGIYzJL8TMWNkpHO3etM4MhlLgUum29w?= =?iso-8859-1?q?wgmibvA3UScfKFZ8qyEKH/8HMm3vUbGEfA0LRInXeZBWBgjlu6rfSmCLq72q?= =?iso-8859-1?q?ewTJNgtwI7o0Y4errdm7WYBPhrSHSrgbISMrpHJ+ukw/DcfUhezz+Z4rGT+N?= =?iso-8859-1?q?TnolApVQ=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable 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: 9b6d42cd-aa43-42c7-b122-08da27967e1d X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2022 15:06:49.9735 (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: bJelV4LVKp51shGvYB15odXlyRIcCQNO7eC9DYZ5Cr6/MROgB9+SHxj9e7Of4JS7E7MR8bA3QLVTbb3yYey0CA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1001MB2377 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-04-26_04:2022-04-26,2022-04-26 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 mlxscore=0 suspectscore=0 malwarescore=0 spamscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204260096 X-Proofpoint-GUID: lcfR9oHQb9i75SrNWQk0uIRw7MRWH1nh X-Proofpoint-ORIG-GUID: lcfR9oHQb9i75SrNWQk0uIRw7MRWH1nh X-Stat-Signature: uor6tm6ngompugh9pp5jnkhc9s77ixse Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=mcXvB5tt; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hreMh4z+; spf=none (imf20.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-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 6565F1C005B X-HE-Tag: 1650985657-515534 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> |
Series |
Introducing the Maple Tree
|
expand
|
diff --git a/mm/mprotect.c b/mm/mprotect.c index 20a46f21cca8..fbb248caf8aa 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -550,6 +550,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, const bool rier = (current->personality & READ_IMPLIES_EXEC) && (prot & PROT_READ); struct mmu_gather tlb; + MA_STATE(mas, ¤t->mm->mm_mt, start, start); start = untagged_addr(start); @@ -581,7 +582,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, if ((pkey != -1) && !mm_pkey_is_allocated(current->mm, pkey)) goto out; - vma = find_vma(current->mm, start); + vma = mas_find(&mas, ULONG_MAX); error = -ENOMEM; if (!vma) goto out; @@ -607,7 +608,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, if (start > vma->vm_start) prev = vma; else - prev = vma->vm_prev; + prev = mas_prev(&mas, 0); tlb_gather_mmu(&tlb, current->mm); for (nstart = start ; ; ) { @@ -670,7 +671,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len, if (nstart >= end) break; - vma = prev->vm_next; + vma = find_vma(current->mm, prev->vm_end); if (!vma || vma->vm_start != nstart) { error = -ENOMEM; break;