Message ID | 20220504011345.662299-50-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 00404C433EF for <linux-mm@archiver.kernel.org>; Fri, 6 May 2022 12:20:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29B656B0072; Fri, 6 May 2022 08:20:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 24A836B0073; Fri, 6 May 2022 08:20:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C5716B0074; Fri, 6 May 2022 08:20: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 EE9166B0072 for <linux-mm@kvack.org>; Fri, 6 May 2022 08:20:05 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay13.hostedemail.com (Postfix) with ESMTP id BA90660AFE for <linux-mm@kvack.org>; Fri, 6 May 2022 12:20:05 +0000 (UTC) X-FDA: 79435225170.03.9A16B29 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf09.hostedemail.com (Postfix) with ESMTP id B5109140007 for <linux-mm@kvack.org>; Fri, 6 May 2022 12:19:58 +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 243KvDsf027626; Wed, 4 May 2022 01:14:46 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=E3DE+Kwb/pVhOuXhZpFjAXwBRuRbumxfeOXhUy0hjwc=; b=Js7d//SHSFLBiQNB/VFr3lvKIstyXjIgCRvrcUtFkxvzh40+DNmj6FIzSjq77N2whLAa RdE+lpYqIw3V/72D5dBCC6+CW7lIHOsI2UPmWt/N2aptxtCz3Wiz2iIdBL0DOaHXF8y5 /YlmB2TYi5yWv3qPvR753h3I76H8WFa7rwbXHM2tULYJgpYQALrm1ipsmXrzjZ0avF0p jGelc7ubNTcolJ92JN7KjziQq795tZfEIjT69WVcanyp93mRW8BmFKk/hUQIyhYNfNZ5 tjZxpHG2oR8Vvt6AxrX/GGNDIBk3+QSJQ3b7PRsEf6/6FMvYGtEm79KY+G2iOF3XsTb8 Kg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fruw2f6cd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:45 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 2441BJT4001264; Wed, 4 May 2022 01:14:45 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3fs1a57vyf-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cBAiS0zh2YcxcA5s/XtBt4XesTYKz2+kolobTN4TYIsR0a1oIoUBhbQC6RHVbtlow9gDuEGo3+cQ1l4pFbPGYWV+fV1ZWIpeTS5IN4RMkQvhPfdeagnEWftkJgysBJnB7cPOKxsKLfY/7ClnYGrp9lIZlTsGdIdmC/kKv0Mtm1GTWdZGMwgsrJZZYPHi530C3VRZvAHgMJ0IoGvdllL/OUt8iAWYdjTPQSYHJXE4L7cwBxLCwToHFSbftgkQsNqe8tEgC31fRGYGLDSpy51EEI2XLwCoEis5YHNSgwzkYMfG7VRFCfrpjoEbeDMJFcI8lbH4bISsz0ub7ebGGPngsw== 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=E3DE+Kwb/pVhOuXhZpFjAXwBRuRbumxfeOXhUy0hjwc=; b=V3CJ+6ut8QJ880eWvPlwZz4PaYBSkK2dfAwWS8FD7H4MF6pYqdg4Z07jPqdUU/IPXmf/6ML+aKA10TQ+fHsKG1yUxlJ9Yozm/W3oppvlG5ZBsCAdTsZpZoaVuOWQ9n3Wehz8CRgmRXqa8x1cgE8KgUUab7KF4ZYbi801BJwiO+58MsrEDgMVHiyZKO4bcTu8D4KgBXre1/rT0P5dJJHoLuPdfUQ/vnedBTvvQpIQXCAI4d0ZEy0m0JNEiEzOtJoAeCPn+8jNGhyWiFxs9hZju/A+S98D9A0kpxUVcdAsZuakZKf/XcwNNdOGwe09JJORv3CrBYDRiRuCAgLh542XQw== 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=E3DE+Kwb/pVhOuXhZpFjAXwBRuRbumxfeOXhUy0hjwc=; b=aDVcotCa5DeE0FNsfezm1Tmwx7jJBHLI0wox5ldiiLQz1epkfoDDogGfZoJbsBp/00mS2Um+uuPnVhiloKvXloxlj2OSxRvtunIJaz9kLv+PmIt/vovw31uG2iI7RohoTl2c844ZCMJ/WiJFJAuCVxvpika3bpZFBdj1AiOwKuE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SN6PR10MB2688.namprd10.prod.outlook.com (2603:10b6:805:4e::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.13; Wed, 4 May 2022 01:14:41 +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:41 +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> Subject: [PATCH v9 65/69] nommu: remove uses of VMA linked list Thread-Topic: [PATCH v9 65/69] nommu: remove uses of VMA linked list Thread-Index: AQHYX1RAFKkhMsx7ZkmEY0IXoTZ4TA== Date: Wed, 4 May 2022 01:14:06 +0000 Message-ID: <20220504011345.662299-50-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: 242309dc-9c2a-47c6-c72d-08da2d6b7788 x-ms-traffictypediagnostic: SN6PR10MB2688:EE_ x-microsoft-antispam-prvs: <SN6PR10MB26887662FBDCC29EC42F2C54FDC39@SN6PR10MB2688.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: UO7MvWxClhvfp3zawWaL7lbgi7lVoRVjakEYG5lbpO0vVo2VAdCM3iS9USYLHwovo8gYc8D1EjkCfRZegoxAQumcT+L/GL+1lWTK/u4JvrtSiowsTs3BEqU6IOysofO+GjjkdzlPDpKOMEjMmV7tXhLGZQglJeL2+MzoktzTA8yruIVMT0iqh6vFL7XQ1ZzXrKNeg84gPA2DMp/o+/1byrkCj7d9pZRQEguo6Lo5YRZ7kjSY04/KzM7326zBAh8LBD6C4F/+q9/UKLoBx3dsMQYbrxHvdRvrwGdmzn3k/oeb0xoTp9HIQslEF3oOerj5ThboyhOCJPvsoqR6wwTno/GZId192NLV7Vr1OgzczxQA7vz1LQW3T8AApZEiW6vuOt9DGunQtSNFc3/+QPv2SGtqsoRMRYrqDKJirgqeBzQzrk86JUL8Jc2FNBKdFVs1flQBA8MDsB2jbi5FISfweUeWBwF3v9BS4buIzqOAje+BUeXe3BOXP1p24iMD8/xNID6pufVGoGyTmk+9ERHhU3jtuc4/NA1yclV4eX8zneh8ea9KGZz4PBt4+xlxFw1DRKY7C5KSpLepjv74aGeVIOrwSBD8Y+F1rfZXFvdG96OEGZjwvGo3hh2B/nOobbz2T+nfo17dm/eSdpqDR409m1Ckhqjrom1SnvdkBb/LLoKJ8MDgzU01d72FqLIcvTAhE/wBHFye9RXgSAe2uyNaVg== 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)(186003)(122000001)(1076003)(2616005)(66476007)(8676002)(66446008)(64756008)(38070700005)(36756003)(316002)(38100700002)(66556008)(66946007)(76116006)(91956017)(110136005)(26005)(6512007)(71200400001)(8936002)(6666004)(6506007)(2906002)(86362001)(5660300002)(6486002)(508600001)(83380400001)(44832011);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?X5OPcP8IzUG+GrP1cSyG73V?= =?iso-8859-1?q?EtZnQasEkp/19qDFumzFb44luuTmPRgL5QPPdCUrv9fT0masHD0QCDdO5BHz?= =?iso-8859-1?q?tFSYlvmECDQ+mP+qjfqsh0yqt+nBAakRwDZJ+CqEQOpcrWaoPaYbKju+pKU2?= =?iso-8859-1?q?VcLepQNYyNsrmM14pmLoBu5Te9V/FfMJy7PIEsIYfC2o3BXrkkigUfFkr2oZ?= =?iso-8859-1?q?C0ebMRYpYDMgYfK6pB9+PFMazyGPSyzn6iphwfrhUFh9j04ul0BX2kC2Nrij?= =?iso-8859-1?q?hatskF0rx+DI25dm7epwWUC30/ld36TwsglmCpioGThNHQSohIG2HCSNsuLB?= =?iso-8859-1?q?Mushpprd2MlT1QnRUmmEnTccyMj6ieg1fL2gY5XG1+KhQiH5C42EgY/jrv36?= =?iso-8859-1?q?1FLGDlQTCcErX6Cc5IPo9pGOzLxd6HYca7gCwm/HvfzodZxX0Csqp2kj9dkY?= =?iso-8859-1?q?OLkmbEJKnkCy8kS3EZlnWPn36EvLnL+bkkBEcTOD4FKcvPOT4oZg3xd0Ysr7?= =?iso-8859-1?q?D5etsY/Cxk8zGbLASXLVUqLqUnZidZMWbn20dMaQRjubZltLEXWjMCJ/B2Bh?= =?iso-8859-1?q?2ah5s5NzqEawyMfgzWMUCXD3kLkMYhxAqqe1pT0YkYb8WNbdSPvlP2A5Ze5l?= =?iso-8859-1?q?bRd9OgX5fSas/EsQ4J6ZU0WRyrSuuTkDiqN5dFVHoSymJ0KBmGeQRyHUY6FQ?= =?iso-8859-1?q?O4IXyuNmZ6pgdd/li8hExQ0f0fC2tpDOjirvEvifevjghF2WX0NAiHGRUMyY?= =?iso-8859-1?q?1R6nceKyrKXxA01EnbCg+/aUpmOGzUQGw3V+qo7M6xaQjcXbdjCGsO9NM8lf?= =?iso-8859-1?q?wkEj4Z5ErRhgaGE1gyicIv3BgYPM1IrwFEMy0zUGFn278UuTOv5ga97thWZa?= =?iso-8859-1?q?9UjKpfGDx3RnKWjB1bwk39pZpNu5EcOoLZSst0IEZ0BubaX28iqSZVytQl9c?= =?iso-8859-1?q?EiVu2HHds6bwrZodr0qygPeoOYOErd0A7t5H6SY5bHr2Z/pGrtzbVUfFA3GJ?= =?iso-8859-1?q?7mv0cHXsUK+k1qQ1qBy6HwkQA9vY2hnWGXzlbA6vzNCpX96Hv1VkRClmmG0w?= =?iso-8859-1?q?/9AQoOymAsTxaOA5mvA1oh1Qn3XNYSpoTSHmMPMxiBzyuoEH3AG+mgb9o+CH?= =?iso-8859-1?q?Wi1l6+ayxadyiL+5sMJgKy9EZjN+RC3BcsUO3x3ZhkPhR7jv52MZMJVc3rYz?= =?iso-8859-1?q?2+cgmnMgXnsN3icD2cOKIHzSBtbj2YEGPKtyvXbPuLxB0CphM98SljQqn3ja?= =?iso-8859-1?q?T2CZDklalXFEOghNhWhSKS4fyIYZ9yBnexh3nzWR1SuS0ceRydhKPb0Tnvpx?= =?iso-8859-1?q?FnQK5bReSokI2guR3OhbCbfjAqCR+2XH1QIG5zvxjlSHJlomk4KrGNPFvJB7?= =?iso-8859-1?q?3GFv/F/MY4R/XX1XLFxWVErdT96xR6XMthh07ltyM9NzGHuC10bOCq/nFIIc?= =?iso-8859-1?q?6Wqxk/pG88zYOMBdBa2fGLTtVRKP+08mhMH/8OTMWdNiKxiWL1kK8cuBpqUA?= =?iso-8859-1?q?hwTguFIn2HnIerZ0466ZVOyXYYXcajFKfT8bayf+ghkanW+okPt2XxabfGoy?= =?iso-8859-1?q?mTkylGTbKkqULoHWvttsFqumcWnMcXBZQYVLwNDW6C54i93wummWfm9z85Kw?= =?iso-8859-1?q?kdG1nvb7NPRnBxOzxVQG/3jgKd/hF/4sI2UbYhjSXqrcldJyF6xoZ/Jj07ta?= =?iso-8859-1?q?xlsgkOabADEfPkhlLiRKjfyFAGoozwV3qj2R2R4xXNzMMdC6gyrbIVGn79k0?= =?iso-8859-1?q?cgjHQGxGzhMcyhwW1T3DpEwGp6nbSlcpyz1mVQUdvPV7U+SIY6spgC0ostDJ?= =?iso-8859-1?q?gEMSnqnM=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: 242309dc-9c2a-47c6-c72d-08da2d6b7788 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2022 01:14:06.7197 (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: B+ByLk/urMqpe/IHh5LMB7/sYy5GkyGEZQlGrxvn9cfm2g1M6Q/BCgQVXoc/P1MpzR5fI3eM31WIJXkWJD1JwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2688 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 adultscore=0 bulkscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 mlxscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205040006 X-Proofpoint-GUID: G_zEQaaDAeELj57btoA5a1WXKSA1Wo73 X-Proofpoint-ORIG-GUID: G_zEQaaDAeELj57btoA5a1WXKSA1Wo73 Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b="Js7d//SH"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aDVcotCa; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf09.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=liam.howlett@oracle.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: B5109140007 X-Rspam-User: X-Stat-Signature: c1ogrdct7a5dxozb5u83qegh4bjwnfoo X-HE-Tag: 1651839598-743297 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 |
Prepare for maple tree
|
expand
|
diff --git a/mm/nommu.c b/mm/nommu.c index 1c9b4e8c4d5c..d94f6adf9c31 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -1383,6 +1383,7 @@ static int shrink_vma(struct mm_struct *mm, */ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len, struct list_head *uf) { + MA_STATE(mas, &mm->mm_mt, start, start); struct vm_area_struct *vma; unsigned long end; int ret; @@ -1394,7 +1395,7 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len, struct list end = start + len; /* find the first potentially overlapping VMA */ - vma = find_vma(mm, start); + vma = mas_find(&mas, end - 1); if (!vma) { static int limit; if (limit < 5) { @@ -1413,7 +1414,7 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len, struct list return -EINVAL; if (end == vma->vm_end) goto erase_whole_vma; - vma = vma->vm_next; + vma = mas_next(&mas, end - 1); } while (vma); return -EINVAL; } else { @@ -1462,6 +1463,7 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) */ void exit_mmap(struct mm_struct *mm) { + VMA_ITERATOR(vmi, mm, 0); struct vm_area_struct *vma; if (!mm) @@ -1469,12 +1471,17 @@ void exit_mmap(struct mm_struct *mm) mm->total_vm = 0; - while ((vma = mm->mmap)) { - mm->mmap = vma->vm_next; + /* + * Lock the mm to avoid assert complaining even though this is the only + * user of the mm + */ + mmap_write_lock(mm); + for_each_vma(vmi, vma) { delete_vma_from_mm(vma); delete_vma(mm, vma); cond_resched(); } + mmap_write_unlock(mm); __mt_destroy(&mm->mm_mt); }