From patchwork Wed Apr 28 15:36:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 12229517 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,PDS_BAD_THREAD_QP_64,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CBA31C43460 for ; Wed, 28 Apr 2021 15:38:44 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 4B8486023C for ; Wed, 28 Apr 2021 15:38:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4B8486023C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=oracle.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2CF84940007; Wed, 28 Apr 2021 11:37:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2A76C94000D; Wed, 28 Apr 2021 11:37:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 06E82940007; Wed, 28 Apr 2021 11:37:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0187.hostedemail.com [216.40.44.187]) by kanga.kvack.org (Postfix) with ESMTP id C4CC7940007 for ; Wed, 28 Apr 2021 11:37:35 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 8A5CF180AD811 for ; Wed, 28 Apr 2021 15:37:35 +0000 (UTC) X-FDA: 78082180470.01.661C760 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf08.hostedemail.com (Postfix) with ESMTP id 6928480192C7 for ; Wed, 28 Apr 2021 15:37:12 +0000 (UTC) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 13SFOcnb011645; Wed, 28 Apr 2021 15:37:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2020-01-29; bh=82Pk1GJP833lcrCSJX2y3mIEnej+VZGLhL9pVk3c0Rs=; b=o0YD8Ne6mfbvx0+IclKl4Wbzurfas2kGPGFzUSA06iJ8lsgkGNoX1n/BGK3sOKhVhLH/ HZztdIJCvpNgdxmJJ0kEjJCFu9+RqWe2aRggG+5Bad++urXzaJHF+SvjsOvLAE2s67ys vwww33nAYNnGbEDIElmOTMyfZqQao30GROYujfk5eKvUvC6YemJe8z/Ili8hh73RfMgb bxB2NoYmm6u+5yS9FFeTOoq1Z4gsfZalzKcOtdJ52KeG+M7hKsnHG7jehtVwCE46b0sn nhB144O3NdluWYpdVSe96hM+eqYXKsQOa1MhmS3seC4ekO8xIpWitG3Hchs8urhZ8sm1 aQ== Received: from oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 387891060e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 28 Apr 2021 15:37:28 +0000 Received: from aserp3030.oracle.com (aserp3030.oracle.com [127.0.0.1]) by pps.podrdrct (8.16.0.36/8.16.0.36) with SMTP id 13SFbPcc024423; Wed, 28 Apr 2021 15:37:27 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2172.outbound.protection.outlook.com [104.47.58.172]) by aserp3030.oracle.com with ESMTP id 3874d2765a-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 28 Apr 2021 15:37:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=USFXql4dCm3T+mw2j957/1masskXMuyH9QeVPD0fo/eAmnHCcK3DDcEdff67AzXCEkVUjBqnYxcHeMqWvBTCzuGUNNOrP3XPw+rX9xm1oSv3dZJUP9RU8xIY2G4kSBkuwbzyNIKt1YlmS9JNznbGmTqvePqDgSocBO87MPCu2RgEqFXAaz9kdPCD9z433/3yPC8ACubVf7Y4FtmOixvfP+jT8heLIRWSuWF0TAgWA75Hhjb8GlW4U7KrWrmBUDDlMhoM4Yl6VLeILfOozZzUWawcL/j9L6IZj5RTVuxRUJcp+A2tVeCHZVW8dCTtoZx2UaQXM5LX9RlPDa4bQfrD2Q== 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-SenderADCheck; bh=82Pk1GJP833lcrCSJX2y3mIEnej+VZGLhL9pVk3c0Rs=; b=QhA0K98bMhBQIji9KRresJYKnAzskce8qkhnJxnexqfKa0MFmiPRLAtjzMUR+ofIJwsBnabM2n1obaAMzNx2TENgOdzgGJIlTWXy/UViApDb+sfHkBU9RlYZgSFI9UTlr7nMNxhPNSoVDi50RUA54YPV8vmeFfNoPnFxmukPeykVmGm1BAExpjYmxI7OBccCdYBb6tbf4Q7h+A/X4LYSVRbFCwHwuT0fzOPafi6flm8JfdxIOnH2DVbFto9R+/qEwLXNoQNematWymGxZE0XUPzCNIsN+A2Q4Bt5jCn728AabKmhlE8EHbsAFrEwmatPIj4UWVfQOc1kPF5lGkYssQ== 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=82Pk1GJP833lcrCSJX2y3mIEnej+VZGLhL9pVk3c0Rs=; b=NEupNQjgvWdg40Fo7/NBUAvPkwoPD5bSoQTmiWLBb9IJQHzdxwARpZqruGxFpg90vn1lzkQK5MHtQzJe6tiKWRpCAQKxjFiCrxmJYFrOsdLjK45De4BjK66ZmwZpkzNei3zAdx9gaSMmIUX+/qvyNONHWs0zPRPZIahMex/T8PY= Received: from MWHPR10MB1582.namprd10.prod.outlook.com (2603:10b6:300:22::8) by CO1PR10MB4548.namprd10.prod.outlook.com (2603:10b6:303:97::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20; Wed, 28 Apr 2021 15:37:24 +0000 Received: from MWHPR10MB1582.namprd10.prod.outlook.com ([fe80::353a:1802:6e91:1811]) by MWHPR10MB1582.namprd10.prod.outlook.com ([fe80::353a:1802:6e91:1811%8]) with mapi id 15.20.4065.027; Wed, 28 Apr 2021 15:37:24 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Song Liu , Davidlohr Bueso , "Paul E . McKenney" , Matthew Wilcox , Laurent Dufour , David Rientjes , Axel Rasmussen , Suren Baghdasaryan , Vlastimil Babka , Rik van Riel , Peter Zijlstra , Michel Lespinasse , Liam Howlett Subject: [PATCH 74/94] mm/gup: Use maple tree navigation instead of linked list Thread-Topic: [PATCH 74/94] mm/gup: Use maple tree navigation instead of linked list Thread-Index: AQHXPEQ+/mEs1cQumEGp0hh0ZjcJxw== Date: Wed, 28 Apr 2021 15:36:24 +0000 Message-ID: <20210428153542.2814175-75-Liam.Howlett@Oracle.com> References: <20210428153542.2814175-1-Liam.Howlett@Oracle.com> In-Reply-To: <20210428153542.2814175-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.30.2 authentication-results: lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=none action=none header.from=oracle.com; x-originating-ip: [23.233.25.87] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 52c16154-1f76-4946-0afb-08d90a5b8512 x-ms-traffictypediagnostic: CO1PR10MB4548: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:475; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: acxeU9pH3ubaeI0Dry+egiXHttLd2ZMdNYtVXRU5a211GD69ZsGM3GfNgGVdDgiZCt5kXazA0CnXQSIaxgVH7H0mki38tAaZ60Ouh/ybXvmCoppE+40mqvdOROcd1aqAV77j6JBoLAXPDYXS0OTUowCrS0x/uvYkrMc/6QX19tiOyGMPKBAauhB4vA9zwwie5qSwsLB7r28HjRC7RpiHwSy0qDD6FUDeV4uyiWWaceovJ89cYsgBSdAoVAzCnudPDV5aLihMutvlSXVuND2U1+16pxATE4iGjnsgJbZJxbtU4p0ViQu7FspdIxoPtjTYG0hXfsIzBwnCzA9qO1ebp0W/1kFZ7Ey7KEF3njeI9HD2g9tx7y5dyzn6yQIlCdZ7X92LL5Pono+ByPOLAW0wTof7Fnc14z3JXJFNKlMAb8NoMuEaPIbBlHED5mAkv6psCk4dVUQNFGTpIq45BNhecPr1F3H5nZbU2Z0leqj8qyvPFyzgMECaqxjrDa5pgwahwAf/QatOzBwIV88RndsiCoKuJ5/iX6vAmysfsY1HaHYLpVviSTgP8wfA+9R4NWzkNg8hU0uHqaKHT0iPgLzV6bHW4Gl320dQ2W7CzIYbe6E= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR10MB1582.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(366004)(136003)(396003)(346002)(39860400002)(6512007)(66946007)(8936002)(186003)(83380400001)(54906003)(86362001)(478600001)(122000001)(4326008)(76116006)(1076003)(107886003)(7416002)(110136005)(38100700002)(26005)(2906002)(2616005)(8676002)(66446008)(6486002)(71200400001)(5660300002)(316002)(4744005)(44832011)(64756008)(91956017)(66476007)(66556008)(36756003)(6506007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?iso-8859-1?q?JKwqbtzO3fZtKfNY0ph7b98UZ?= =?iso-8859-1?q?+ScN9/gF/2III3Ofn5EnTsbJC2J++SRykWe+XqOgZkATTYUdI7dAEjb8wpo0?= =?iso-8859-1?q?BP+ymr96VAe6l6xyPpRazn7nxL1f/EDi6/SFgb9IIcfUwuEHM//TmiqK4ehN?= =?iso-8859-1?q?usS/CBP+AUYa4+RtZrsD8NHr9cU0/1a0+qsM9G2PRV830JYxUDGaqqjgp9Pu?= =?iso-8859-1?q?jS5krMgQiQR25TmanVErDyiZco8gGnW1CKcpEy2beNLYam8RYh0C3W8lohVJ?= =?iso-8859-1?q?+3wI3Sizw5gRB93p0kASXBnISUBKUmedoO3Xx7l3yFwTX0d9MmRDZWxzY7YA?= =?iso-8859-1?q?ZqYovBz5Wjtpv3f872pYDt2QrDAeXySq/smn0BGagc3SrTvmNV773KVb+tYv?= =?iso-8859-1?q?RFMgq4kR/6pC/FJFKWq+w1AEdw5H1uAZgVMQhFxJOtMKNzXCBtDC9/5VCu0z?= =?iso-8859-1?q?k3uQBq1Zeg9MvJ5Vi9y2yA0JYu3xawAMs6qfhotYcnPCRmCOrL0DL2t13zLO?= =?iso-8859-1?q?nhVX1oMT8XBH0CZ7Zrm3KXZ8Xd8krvnFGGZNYbJt1uxqpM1RgFx5TLlF5rdB?= =?iso-8859-1?q?rfru/TDTWQL5yWIOLCd2fMbpjDv5H5W5OulOVmDPnHq9J1Jt0pGyTAQ8C+Mx?= =?iso-8859-1?q?nn3Sj92nQNJ1FtxUZDWaMjG0aPBPey6Abbfo2ctCNJ/TiOr8GoMjozpsprDS?= =?iso-8859-1?q?ub5XvUQZKOi0TrfxPbgNVmnkNKa4Hw/xOi4QL7RDTv+h13WEPPWUsVoY1/sp?= =?iso-8859-1?q?OZYp8oMnFr2SKjbyxyk0lcY4zeEnub/G0HXs0bYzPye2tVZyiqz7MDEHO59h?= =?iso-8859-1?q?AOKXtztxwC6BoHL+ICT36dKEtwJoaKt2w2MeIif4cPI3+i9El/aC0o/UFXO+?= =?iso-8859-1?q?MhAOZvG2zhTDWkpADSkhwThVXgJ2BoRSvQFon/7uKSiDENXbxPymdkKIYh/k?= =?iso-8859-1?q?0xOtnMcxSvTuhqbYgd50ZiZjZIDbhYp9a18vi+mJ+cd5YeTQoKhB8JDAnpN7?= =?iso-8859-1?q?Q7A5KTSePXsCt4eI0I1rAmjIceZ5sbfV/UxEQBOs/uiB1ZNrlKXTd9MOnQqI?= =?iso-8859-1?q?yUBU2cg7tAuS4wKoESBZOsLlku7fipSG6m8q7amLJMzpP+Wv/kW2hcAdJSry?= =?iso-8859-1?q?2FbwwfMnVoZyOAML6s8dfGS63FjMJ6VlULlHciqZKsA9///dy/CBQ3KLpzE2?= =?iso-8859-1?q?+5PEtghcXH94yhxZuCM0WNkty+tt8KtIKOstXY60AfCWAGpzaLNWNcqy9J5h?= =?iso-8859-1?q?doYhWrasQFZ1KcCx6/vd5zIFpcOZowltIEGFY3OiiXfEs4Ke9V4vXPriKOO0?= =?iso-8859-1?q?eTNCgY/WsXSniLQ6+3B5NDJvQ1Q8hjelZDKjSDEc7lnSn9mk3zjagsTPoRB?= MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR10MB1582.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52c16154-1f76-4946-0afb-08d90a5b8512 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2021 15:36:24.1204 (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: LBx9caYAJ8eP+VShSctIwYOMkKI2zYNeJs1pWU1zJDRoJmXJtcar4DfuwXyv7ZDB8YVBbMZfogIfQgGGeHv6iA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4548 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9968 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 adultscore=0 suspectscore=0 mlxscore=0 mlxlogscore=999 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104280101 X-Proofpoint-GUID: YwYRUuYR_nHUTS2gOtN4ARWlmuTJKm_g X-Proofpoint-ORIG-GUID: YwYRUuYR_nHUTS2gOtN4ARWlmuTJKm_g X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 6928480192C7 X-Stat-Signature: puiyhdirg3w6qjisfbqpogonkgtt7as3 Received-SPF: none (oracle.com>: No applicable sender policy available) receiver=imf08; identity=mailfrom; envelope-from=""; helo=mx0b-00069f02.pphosted.com; client-ip=205.220.177.32 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619624232-417991 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: Signed-off-by: Liam R. Howlett --- mm/gup.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index 48fe98ab0729..4acb0aa75d80 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -1502,6 +1502,7 @@ int __mm_populate(unsigned long start, unsigned long len, int ignore_errors) struct vm_area_struct *vma = NULL; int locked = 0; long ret = 0; + MA_STATE(mas, &mm->mm_mt, start, start); end = start + len; @@ -1513,10 +1514,10 @@ int __mm_populate(unsigned long start, unsigned long len, int ignore_errors) if (!locked) { locked = 1; mmap_read_lock(mm); - vma = find_vma(mm, nstart); + vma = mas_find(&mas, end); } else if (nstart >= vma->vm_end) - vma = vma->vm_next; - if (!vma || vma->vm_start >= end) + vma = mas_next(&mas, end); + if (!vma) break; /* * Set [nstart; nend) to intersection of desired address