From patchwork Mon Jun 12 20:39: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: 13277324 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 99179C7EE43 for ; Mon, 12 Jun 2023 20:41:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 311BB94000D; Mon, 12 Jun 2023 16:41:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2C17F94000B; Mon, 12 Jun 2023 16:41:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1159294000D; Mon, 12 Jun 2023 16:41:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id EE99894000B for ; Mon, 12 Jun 2023 16:41:04 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id BFA931A032D for ; Mon, 12 Jun 2023 20:41:04 +0000 (UTC) X-FDA: 80895265248.15.70FADAF Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf08.hostedemail.com (Postfix) with ESMTP id 70FB9160011 for ; Mon, 12 Jun 2023 20:41:01 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qu22SbUY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=X7U0VqMy; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602461; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=812rbvUohctb//QCwvvGnF0ZAjJWMAJsWaUHeAI/wzk=; b=KjVy6VzNKe2W6WaG96ZB+m/ngcBOND01zAJBPypbtavS9O7FFkWp1iAjubTbAc6F8YRDP9 lZKM7I/V8k5XQTcsODmk3lCiLUD744+gXe2Zvoq3J8zYR2OxtRNiNKPPjFk4l/uFyyOY4i AdWn6WVvi84FtsGW2s5xP//1As9trF8= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qu22SbUY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=X7U0VqMy; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602461; a=rsa-sha256; cv=pass; b=37suzA2XdcLMTtLQdPGfnEXAI1tjMHLMn+Vwv9G9zfqgf3UbcvpjmqKlvaYLErSP5YVgE4 nFPUTTi4BEucMV98j55t5Cp9H0z//FTnfCMY4y2LCKJR/KMPDo+XzwHMw6+ASp4zCdhoRH JQ2qvU9BSLct6CD/d9QjZZulSfFqBJU= 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 35CKNsrk003017; Mon, 12 Jun 2023 20:40: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=812rbvUohctb//QCwvvGnF0ZAjJWMAJsWaUHeAI/wzk=; b=qu22SbUYuWQbJHvbECpb/95O76fEQC/uEly3dhXBDuAjtSVxWTBGEBh2jd200k0Opplp KMbp1Z8ZI79H0LhrzmBP63ioxwSD/p9iH3p4JrF9ViTMJqihV6lEgV5l3mFLShKqOqDY czHkNh3ZQqSCHtDOE38u03g+mQlGHiueOQL8YpNpD04PVvv+jp4I1KVCV5ydZFmqwqau LNhHdJpaA2vJ9XkSeAcvyfF4WqlgdDY6QUPcUs1hUR18ZtL4XBSyJD1Gg4MVgVaswS0P 2TMkH1LwCnfqJYp48PWy+973+Q0tdigHSJmZyrP73cuuSnADy+Tr0QvorZHXN5QTtJKi /Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fkdktpr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40: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 35CKR0p4021624; Mon, 12 Jun 2023 20:40:52 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2044.outbound.protection.outlook.com [104.47.51.44]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm39c65-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YKF6wY6ILXkMeTmyyaIeRFt4uwDmOpChldnHhNPODbbasXE9NAtNvHOCEPyLKn9ESteBLSwiLP7YhoKa1+nO6eBWyM76Y1A8sWxEkELRrBnl61T8dEhuQaPyd7cggxE8vzoLCdWjw/ld8zuoeaO0+g4zT1jmTwtCPsIxVqVMD2FT1RT6Wsb66uB1v7ndQ2bDDLFyweILPbnVdB4RGomiQ33USiatuLMMnv9E+fLvQKrUmxkF0xZfojyVqlmaUh3e8fGfvbgMUSiYy65Wmm1aQly9wHlY+QU4AJ/rTpIvJYL1JQa5umWD0H57wifE2MR91P9AMV9R12Tts/i8gPkzAQ== 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=812rbvUohctb//QCwvvGnF0ZAjJWMAJsWaUHeAI/wzk=; b=VgjtiyCqSc8DIXK0EldBzPHYt4q29NvT4XQ3rtQmijusqOi4rYXBR/9vtKB4RGLREUnrSkxOUttrqkfnXxhz/7nyMN9iF1aqGTGTEPAGjzcbJo3F3r/f8Wkl5IlQPc0ONmlqwk539uEg/ldr/YXn1JrI8wlppxY22brnhnl1Dv5mO8iLdtT7tTZdtyuPnzOZWcqcTNOE+9DREy0sJXvtT3kYxN1fp2ywlGM42QhJIUJckJEpjczQUIpgfveiumJxVUpZwL70YtC/M6i06k+nvyJfCmw/MTgEkY2bTfHvtZ0AznSKDZd4YweohfOhtvwr9mNmmTUBe+T8aV+597pg5g== 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=812rbvUohctb//QCwvvGnF0ZAjJWMAJsWaUHeAI/wzk=; b=X7U0VqMyocJ6a+bcXxXYOdz0qx63aLqJiu9Yleeqtzj8sSDdF+spwVh6zhOlO+G/XhmeyNzoETK1+XrN56PIR8bIa3T1GgwQbzHXNVFC7Hji4gccKuxnWc9mGBLmymk/hW0sFgbUgBFaVSOwGYQ9FHrnJYdv6XXsIY8uuSL3Ibs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MW4PR10MB5812.namprd10.prod.outlook.com (2603:10b6:303:18e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:42 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:42 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 16/16] mm/mmap: Change vma iteration order in do_vmi_align_munmap() Date: Mon, 12 Jun 2023 16:39:53 -0400 Message-Id: <20230612203953.2093911-17-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0028.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::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_|MW4PR10MB5812:EE_ X-MS-Office365-Filtering-Correlation-Id: a22e2463-e62f-4ef2-f88b-08db6b854997 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ajrkXY7ufebPtkPAEKfKk2q7fe+eKjeiMiBluaMJkqRwFg2/jHyFQEudgZnpiEsohX+a/RLjr6gZqBFdLds8o2a49GIMM/e7t2Pgot6yEBCHw4En0+Jf8i0IB+x67sc19CWwIOoOte0r6Bm+AXNnxPxcjpqZSpzXklm2qUY9vEziln9hFtQwch2BbcrquWa5wvvFYiPB0Uvd2OfDn2x9gc+B3UAeY8wiN6NutWKcF7R6VtUFoxjFD31w5kUVOJOkcdO7E5LjAW8qVFLQFY1gauY7i0fQhLb6ePRSfwOZ1gCqd9CUZy2NsoYEda8rqRYznHnr1lnVhxuy2cx330c69pCTtpagN8ahPComkPQQ6m3EVXgYKy1ukPhp2h6oGJWOe+Fh485H+1JNFhc7rK6La1PXhiHsAmFenWV/A+53zidCNGnpnL2EPWWSVhtCMxQtOe6hQ+6sdTGhJsaC6rkkzDom25bzHrKr6fm6jLVGzU0iLLJMOH2n326pF+rN78QGQ5rjUGM/V+4K6PgGYwn9ce4KQgsicTqyGnqLcm853R6dSmP0o9w8F/BVpzj3z08k 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)(39860400002)(396003)(376002)(346002)(366004)(451199021)(36756003)(2906002)(86362001)(107886003)(6666004)(186003)(6486002)(83380400001)(6506007)(1076003)(6512007)(5660300002)(26005)(478600001)(54906003)(66946007)(316002)(66556008)(2616005)(4326008)(6916009)(66476007)(41300700001)(38100700002)(8936002)(8676002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: D5/K+elI/uoJuvGgIF53tKD+twjxB0jgcyIk/rnSLFBmEnLbkSWLHvB4FDLeun5RaDFBejE338mudjVx6P9k0SheMktfOZkAzQTA8xBglQrA7VlPCF3VBhiib3Q3gc6DqLt+pOiKEaXD4/5g3RA16vMrivSFUs8TfhMjMJ7ckTSLW1rqB1uJx9HN0tQThMyDJKy0i2vYleFxhEtu1G5o1fUM5qGu8NFx+5jAzPggfcPfXHo5dPsDPSzRvRRU1NGv7SFHMO71N/7DzHm/oWkpepBBDnnrDf88t/PEpbG4A67YWa9GdBNQnxZh/uAIZWGmQQLMyM4AP3jBIG5XR5Hes5phbiJTgohT0bWfR9CWQjysPnS4SMmtjGvYqGVWqZYVK8wzjJZGs2W+iDx9Nmd0s0KsmAab2ZABxzHpMXXK+Js6wIEVvf50xFb8v0zUS955UaV3NwHK7xBbGCqyuNg+sP09R4Sl/7QnaPJYxF/3MpDNuzDsrcG38hPfUBb6iIiBsItyfMG7DLAI1BXkTCNZSpZAzfXZWspBo1yndeCFA0R+6UPYsPse0YVZWM5P7PaPPzzgQscL4yOOFiT0StwMm2oOUv5Hrw5AQk6pmIk8bHFPSbiVl8ncJjgjsG4JMN5M5my3bd9gO6KwlW6Hsm6DxK9yIUUl7ZjvDMDbDO+o8jz0wuflinqtVqP+USe18VkjL55m7cwbEgs0m3tOkGtm9zQ8Y3WT3lNien/xU9dOq7E8NPGFwKAPSW6nwJ+k7hTGS/nssc0wUT6RrGBnuTkLH5BT+kip/O+YAouB7MxspzA63fQPy/mg4yyLplEuYbdmun6zJaXE4JK3QZ642fki7ot78dmeINOuazSMGbnEDaqGUeqRw0I5TfCZwe48LRxXqNUb/qvyovNg9FChC++cWB0tmKJXSkLhp5YrX9dVLWcBfzpmSblFoNQZEBtKP8VCSnj3vfXYYK4SgXyxPkacRVxRVpRAJm9JYBeIrv2Up+YmMuihKXyNtzpJ3XqnVMbBcBeTwNVAmXInm8NdMMSb3rwfEGbMKQAiz4h48bqlNq2Y+csAvI1WclwMYUKJMiANW1Q5S8+CEOhwu5kdtsz+vk1l2TvGdFVdhmfQqJkKJE+/fkjZBzOHHmibQF2wrwRD/Z5TNtfbELjMlvt5IgEAxg8UWo8p4vpsTqeq0RYmd7gwUBIzACRbYhD7lValJgpVlxpHc6x2jolpjgJzD1Hu8b6jlSGJVPKdDDFDK6ZxKECTkscFqpFxBK+J3bG4x8Uu4qSyPBug3+xQFSiYmZscCBoPjiVYKOfES70ewy0mGoYZQTCJFiMiporaNbpP64EV0q/JAF8HYGWlTn9KdVvTZcRmOuKrR4Orx+bKiSVAT47xJn7mXCtmCICQ8BKXlvNzPlIQ+XA7xlI7XbJKKwvdXE6X2UA5u+0KFxf93AeWqc+TPj0dd27OtH8l4cRB+Xh50mWWb9+LnI01c1pmwCxNKkriDi6phOpo3E4nPGmiKqG7tVSZTeYvGQkIOtmALX43YhzWsL9VU1VP/AFwIZigJzbb1tZqmMzBrclwwT/RC/MqePq1Q1FD1/ds34+cdjarVMqtThbAHZA+hDQcMUA5/w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vK84EYEmglryW+1HqIjEEolSN579k6foMT7nd9jCjqgJB9GPb0/CdwutGlc4eJeUZPsMqIHXlgtzRiUPhv29p0ulsn7L7HMMwb6yumVKTV9xqvGjbgkz08EB18Wg1M7CGWKQKFt0TPMt19h/eg++wZXVimuhQai+zd4tJqR0rvwyUuPDPiSEFjlVSlZps+mLfa3aXweMVo/iY6yPRBS43Mma8yehcXFK1QGikw8uZp33wMJzClvFJmGuShomPQ+vorNqqQZVRr3tCOHCn/+XnHnNetU2eCJcri8WgA6iCvVI8VBWfjTYqAQdcaR6KRGIHGZmeomHv4Xg8TbIWazaKxz6Qw+cgmu3NlDcdysxsIVnK6bpYPGAPKacEK7kPQZ+PlsGXL1Ek9M1/XYlmrm0mIHyzZ9oEldzOZNMXaix5vV0LnyqrGYIU1vZekqMOy/lL0YSv8/XSwXcwFfYtSWtARbxOoRF31iCYRMK2MXUU3CbD5io+FFhXBcZvj74C+vqCdwoBFUVwD/FWYXDTHSRB5+l7uJlJyHPVN/U83z24m1ffh2L8scm46WG1jxLZKZo0emwKXcK2ZIdQ15zH8JtJMN8g2JuDqi0Wp7Bmd+JIgaiq4GeIpnIg5gxpN9mQMPKHfOimVRCMNANRMGqYwTJdw0xob2ViLCi3vj3H0F0lWnf8mgoDGchBL0rZTwA1mwdMKbBJQ7ZGd+ETKkWr16nFi/JWiQfmu+aJNhFdiYwNSNTin/TBseWTEIg7DQZWy3bGZVA7PDpeNbxOVt8xjCnpBD4v/DxAygWDej2c/bLTZtb3VCOSqZoxa9/uSGPFo/jheSSEvnJ+KGjDevJzOl0CttmumGayJnGuVvbSD+Bf/ZnJZ26WskLHwowWcZBULlRWKBz5wZ3VfgE6SZAwLQKTRyqHTMqXoKfOuGXelDHVzZjOvoStaJHmqeAyig+Phac X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a22e2463-e62f-4ef2-f88b-08db6b854997 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:41.3261 (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: CLoFxd6rh+kklvruj3Dt3NVUMOV2tWLsgGfQSl0iA1Pan1LZlt5k5QO3UjD45KwODgwWiEp9hxC/RCP8w+4ZXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB5812 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: -gCFoqguXGeI4YRTcMvAT156oovPWVtg X-Proofpoint-GUID: -gCFoqguXGeI4YRTcMvAT156oovPWVtg X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 70FB9160011 X-Stat-Signature: 9dhdfsi7sbwyid14fbnxcrmmyk77ug1c X-Rspam-User: X-HE-Tag: 1686602461-496483 X-HE-Meta: U2FsdGVkX1+Z5MIFSxNcqUQ3lZLw9YGx8BBmWMXKB0l46wO65Bl5Gx6h6RoPPMkS3fY1UmMmfzvikavu8M/F+f5waeSK791bXZVPtMIUYWjtOIr9Xsk+XuQhix74cNJVwOi3XBFdkcP59gCcW4LmSewI7YEFQv1jVFXmYjhZvj4HcdajC9WlOb6IoMlcR1ZxP/DB2QBBrBKeICXjzThgdP+cj6GkwFHMxeSfJ5Ovsxus7aIISz5KPClSps/TCoQKUmfNgzwy2EaTH8vttQryhu7DkNiQBnvf0/ob001+AootvKMhDWyJ78CCQ3sWGNZOpXvHIwER1tLm52zmoQdCCPpufToSPuDiqOPwfw+tNLAjGOiKq8H6gD24gQqtXhtsHykrBik0sGzrUHxX3bcRh6x3H7H++3WVVe1KNXGK99SgH1+Y7YYeSgqyoQpH7kZyIWMqzZxKMs9bZM3nqo29CHg0pRkPFsx4etoOXljJWnCQml0CphIqkCSECET2k8oY5CjOcz4XU4FfP9VpARu/VtAJye28PxT2PajFYwiC+fw8lWCASuCdgbTJwtj0pdRRL8Vjff6l/FC85oFgts/QFmnFkaI/m6WbzSll4i+0KCuOdTOLfRcYIzw+rCLMh58xpYnPfKPwbWodxuAUgS956xk8Z56cXP9nECxB/ngZ/GlibhIePD1Nn0ZZGY6B6mO/uRuPDcPffsEhnhx4Zn7XfjMP1AEaJw2fmXbM1F4ENebVniNVuc4xE8gLWnqKuz9YKWYSFbA7yH1brjal35bzvfhkytA+UHONnLT0Iusvx7StZHjeY+Y54MkG0gq+N/KDoguL+U1ReWzT4OcMo1Ymb1AKPY+yjBC0xikv/MGOthLzlTrvFn/bYUFqPnDRnICQ+zM4FQZylnR4fkJbvlHs/2bTJjVxTVENcS/3x4L9+599i4J4wHnT05d7sswBIITYjsSNnAam04c1yCYcHgO 5k2ulYAV JaY/12Zx21GN1evV4iDi15ZU9/zOx/+M1ZI2swVb/NxJWifs0+cYFYZ1+MQDMus4MTA8rUX2yZBEz0XYbfhudZ5Y0tJkS464A9R43qLso6use4Q3STw8z1wHM6eYxejCZr3SdloFdQRbtlKoXGAFV6cRpCJ9te2zB7LXvJj72hdcdygEKxNx25c5RiSNGRfd6bIHXUQTSXWt8SxgSPpNcWHiQZJsqtnKTC46Cd/qF4yuttAJ87+93PqJV6tTZXldo9CPcTHCDLRpyQAKG8Bc8OVQJqxfmG62zcGgo4BhAj/xhjBpH2NpX88xjZTErxyZLe7Mg7RZXIOis6RNWS6nsi7QEpRfXgi3Gav/sKwSDUjPm5rftepQB4YTfUgnqH992rhy86G+AV2v5SujsDzIlnZbXerWD3m5UNzSNBdGpOCYQByU= 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: By delaying the setting of prev/next VMA until after the write of NULL, the probability of the prev/next VMA already being in the CPU cache is significantly increased, especially for larger munmap operations. It also means that prev/next will be loaded closer to when they are used. This has the consequence of needing to change the for_each() to a do {} for_each() when writing to the side tree. Since prev will be set later in the function, it is better to reverse the splitting direction of the start VMA (modify the new_below argument to __split_vma). Using the vma_iter_prev_range() to walk back to the correct location in the tree will, on the most part, mean walking within the CPU cache. Usually, this is two steps vs a node reset and a tree re-walk. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index eaebcc8f60d2..429e314bd134 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2395,20 +2395,17 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (end < vma->vm_end && mm->map_count >= sysctl_max_map_count) goto map_count_exceeded; - error = __split_vma(vmi, vma, start, 0); + error = __split_vma(vmi, vma, start, 1); if (error) goto start_split_failed; - - vma = vma_iter_load(vmi); } - prev = vma_prev(vmi); - /* * Detach a range of VMAs from the mm. Using next as a temp variable as * it is always overwritten. */ - for_each_vma_range(*vmi, next, end) { + next = vma; + do { /* Does it split the end? */ if (next->vm_end > end) { error = __split_vma(vmi, next, end, 0); @@ -2440,13 +2437,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, BUG_ON(next->vm_start < start); BUG_ON(next->vm_start > end); #endif - } - - if (vma_iter_end(vmi) > end) - next = vma_iter_load(vmi); - - if (!next) - next = vma_next(vmi); + } for_each_vma_range(*vmi, next, end); #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) /* Make sure no VMAs are about to be lost. */ @@ -2467,12 +2458,18 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, BUG_ON(count != test_count); } #endif - /* Point of no return */ - vma_iter_set(vmi, start); + while (vma_iter_addr(vmi) > start) + vma_iter_prev_range(vmi); + if (vma_iter_clear_gfp(vmi, start, end, GFP_KERNEL)) return -ENOMEM; mm->map_count -= count; + prev = vma_iter_prev_range(vmi); + next = vma_next(vmi); + if (next) + vma_iter_prev_range(vmi); + /* * Do not downgrade mmap_lock if we are next to VM_GROWSDOWN or * VM_GROWSUP VMA. Such VMAs can change their size under