Message ID | 20220426150616.3937571-20-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 E03D5C4332F for <linux-mm@archiver.kernel.org>; Tue, 26 Apr 2022 15:07:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76A326B0098; Tue, 26 Apr 2022 11:06:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 694CC6B0099; Tue, 26 Apr 2022 11:06:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 270916B009A; Tue, 26 Apr 2022 11:06:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.27]) by kanga.kvack.org (Postfix) with ESMTP id 0F3D86B0099 for <linux-mm@kvack.org>; Tue, 26 Apr 2022 11:06:45 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D5A4FAB2 for <linux-mm@kvack.org>; Tue, 26 Apr 2022 15:06:44 +0000 (UTC) X-FDA: 79399357128.18.538D29A Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 1F19780059 for <linux-mm@kvack.org>; Tue, 26 Apr 2022 15:06:40 +0000 (UTC) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 23QDT2al015530; Tue, 26 Apr 2022 15:06:40 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=8lnd4X2uYzIMBZwXBbmt9o4VesBrgsUVUuDwjTiDneA=; b=Oc5rO3p3926nJAA2cNsskNc6QmiEb2KJAQRWYL3aXYKXVAf5JakHoqS4j8HhBXpIJSrO TlYRNNsFbRm1PvLUcCvf3+PoFicwpmgfLyS1XLQMv8OJ52TiPr8KR8S5nGI2pECtjLfo gQSAyXP5wWrfCIxPmzjTqjpuEUROpUwJH5+ZNVE6w1c4i8zOarJr4Sp4xxU0fqb9q6bO uuWzB+8tYS6ujeh6kGHvuXIIWXYrwpmCe1gcqIOWaEGrPlSEUve8laHi0VzQ5e3zna8W h2hg0BefmrbhgBF6jvBVO4/S+YC8czESzcEg5n+uo4cjcNGaDG395lapZxX3r+nSqMzn Vg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fmb9apbj1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Apr 2022 15:06:40 +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 23QF6Urx037859; Tue, 26 Apr 2022 15:06:37 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fp5yjktje-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Apr 2022 15:06:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DWYlJijdgy6WAKtyrdaKFUvJ0VbFNpQdrlAuFNCrqyfQ4B1WNqYVBazTdnG4eFxMLy/i1dYErlrJq2dqh4KKgQcNyvLujLolASHhYtViyK0VPuBVuOQUX/SdR5hjSRr+cAefm2hDJrFyS4hSmAWz0w5ypXudCNP/sPOYnMzIC5zH4Z2vF3jSkh6aj2iiGTX/iYGM6KTcsw81vzFiUJ5EcHQIY2vbJJjbgWFEgFXaHffXYerJA5FT9+V3DM0dB1hvswX5f4CAkLrVaeolsv6nIi5B3tB+BrcE4PyfGYp80872CGDS+laj6t6kJXBnEAtcArc0A+7nXB2jhX1hV0xjHg== 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=8lnd4X2uYzIMBZwXBbmt9o4VesBrgsUVUuDwjTiDneA=; b=RwTSZJZTV27i16cqIvwM1NzRuWsE4Gb59tocLPBObvJp5ggMTSbOv6GJ5Zjrtd5CeBdrHoRcBzk69Ia52T4PeVZ51QsnanJz7qJWjQF4ROjd+fLEbkHjXikP9dkfOq3sBKaqps+ADwLZk3bA22meQHwW0eyuuX0ASq1dnhKovcTL++0JSCSZzX2ZOeRK1lR+Kb22dJiJ75HVYiuoX9NP2pA/SaOHkU7ujchP7Mb8Jw+y9RoR8ASS3bA4PyGwNNyobDxXJRtnstZirZuh/R531Rh5UeB+0vJTbTH9Fful2z9u0RW2cw1L1ii8ei8x6NCgszyqMjGmuqEvuVj7qWLFDg== 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=8lnd4X2uYzIMBZwXBbmt9o4VesBrgsUVUuDwjTiDneA=; b=g+gZgOkbaEYArc45d4t+Yk63tE72K5kYXdDVO3c4Z5RA6jRYnA1cjQ4GRugeNjQDdghoCY+O+BYk3jzxZfr6OOuylzjVQWgci+y8QyIaaos5OkMvcBJWwSGL3wHMYooncdCXdyDMWewUc+gNJx2lZQAUIz6DjLpOX+PKrkS2LgM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4679.namprd10.prod.outlook.com (2603:10b6:510:3c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Tue, 26 Apr 2022 15:06: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:06: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 19/70] mmap: change zeroing of maple tree in __vma_adjust() Thread-Topic: [PATCH v8 19/70] mmap: change zeroing of maple tree in __vma_adjust() Thread-Index: AQHYWX83szDzne84Qk+cPdWAgg5nZA== Date: Tue, 26 Apr 2022 15:06:34 +0000 Message-ID: <20220426150616.3937571-20-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: 73703bec-a40a-4d7f-ef88-08da27965ac3 x-ms-traffictypediagnostic: PH0PR10MB4679:EE_ x-microsoft-antispam-prvs: <PH0PR10MB467907D2A550C39D5FF27B53FDFB9@PH0PR10MB4679.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: YnzYywPDmIaclurSqPjKckHB+EAsxGNJtuBqeJ0q0z3pjE51RLrcDe8hdXzob+hKMOz3cXctv58aMB+X15pW+yWLi4O3VGVJiTr+QVvry32yuiYxsa2gQR+T2gZpkvt62NWs/0Id58AGd03/zxLyLxaPu13ONEcYGnanpam/ekJoQH7z/wB8l/ZhdDRsmvfdDdRgGBPS4I39Gb4k2sykpb9qh7XjYoaH6aLIB8rTw2bsgJsGIw1CUOAQmyYh0cWdq8PEIivfxlJsG4MogkrOyb/GfCxvHL2uqIC1uvGWEJlhW+vB8nDgKa3GyZxdd+MUJ3YAisFe2hoeO5abvSqRgUz/tjHErMdQUhIO3UQGgnmIgKSd02Lb42t6DfMJmKE44AAaBUZAerD/60ZfNo/gxRSytXsladDpz2jgyxekitkWNPnaMb7YsZHYItCWUzuRY+gQyLymsZDBFdwTsc6eEI8RGm8i94qQA89uPTDbkbwDUMblRN9SQFcWTRMhHNSIqXZTEbhp5sHx9JavILg1+uR8s8TGsm58QjZafWDuLzGvHrP/UiSSauhNN/CwVpGbQ9gckl9wHC4KO+dAGsul4xzhZ9lzJAivvZwOC6/hDJyGal1Cd5zEgF1XyuyCchff+zxHhTcJQggWKd3TF9cdW/dmaFYgdia3T3xHk4airquIdDuDS1jSzv5FkDyeTLt90fUjhZ2WXPSxDThMWlx1Tw== 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)(86362001)(5660300002)(66476007)(38070700005)(316002)(2616005)(122000001)(38100700002)(83380400001)(2906002)(66556008)(76116006)(66946007)(66446008)(64756008)(91956017)(8936002)(44832011)(6512007)(186003)(26005)(1076003)(71200400001)(110136005)(6506007)(6486002)(508600001)(36756003)(8676002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?i7rACvuPweWQaX4/sQqhWfd?= =?iso-8859-1?q?lvu5Euee3n7OhjAQtUBcY74gok7bPfneyVCBqiFJyR4BUBqOVrfO9535OFhb?= =?iso-8859-1?q?YwMN7lOhxGFkTOWfbYbHl0B0cXIZa94YAY4c8m3sjFIRY2zb+m5xtR3vcfLP?= =?iso-8859-1?q?vN/3EnDXfdjmeMQtjR4Llm9w+mnj3XbUFnKPctSiBaGmBRIwzBLEZQ31uF1e?= =?iso-8859-1?q?xtASou5b+lmqdBSgDqUDnL/4f5fOA2/1Rak0lF9pqX5I0/n7oFU7XBhY7/6g?= =?iso-8859-1?q?uUIJhzvbSUVLOGNBnx24cQcjNXJzS16FM3nDki4vC53c0kGyIjwsYYDWmAey?= =?iso-8859-1?q?j0C6cqeGRbZtozkt1ej9mU5TLZAibyGi13ZYz99uCxJ4i5vF36ohwkdnm9Xm?= =?iso-8859-1?q?9efF08vnSTzyhIKHKQzuSr3KDQ+05gTnJfF1jqK1FNDhdb7t1ihZxYB/a71X?= =?iso-8859-1?q?Ct2uy7oKA8eA/X5Wb/R0rG5nubEqVboLZHVsrcu2PcRrf9mw1jq4ESh7N8Zp?= =?iso-8859-1?q?3BO7rx6NbgsdVpTlkFjNxuIlASsyQjdeBzcm6R2J/GBs1N0MzZJnm313t6la?= =?iso-8859-1?q?adbzf6fsEpTcb57S8+J6GWpicERIIwg2z7GA3e2mI8w487/oQdDBl9RdSlHw?= =?iso-8859-1?q?6xVya/Mbz3Zpun/cNJFF6t0/jy/GG1bR7iuT8AexFBjdbje80J/2mUASafKP?= =?iso-8859-1?q?iC3SaMw18zv/aeqe4R3eVrDSganWsjBLwIFixHPKVMxODuhnsVgz9UF3FyWw?= =?iso-8859-1?q?IeO4jb4k82vHbdLFZmrrMkTVP+rMRAk8gAHz0mobdDt6w49OCpSOGE1AL0oB?= =?iso-8859-1?q?v/+DUSLtUQ4Y8FNdoor6sSqsqYPfG3hpcoVR3xzCcAus7jNdSnRL7A51gIgw?= =?iso-8859-1?q?nVlE9y2IiNvebwUEqTzpD5UQSJGRD0Gl0bNN5rspb0QPtZ6yFsaPDMJq/k3p?= =?iso-8859-1?q?CNql7vrD2HBBwqn9ZWXGtz9BbNklzpRFHnPxZoCk5yr1Gt3FeDHReHJBQtoQ?= =?iso-8859-1?q?fmlQYljH3gsEi9rvpfo0K69ASKuuJZbMieM3SqCMaszLgSyflPPjnuSzp+eK?= =?iso-8859-1?q?8YtDfK+BsiiNT8UU3wJ/TOlQKTV5Lkk3VcokElTPqcxT7gMorQqQTV3YhqfY?= =?iso-8859-1?q?QagBoAAWUBGhf8yWw9DVvn3CZRpoKwL1HIztoAbD8GgbU6IfseWJC3WvGQZ7?= =?iso-8859-1?q?OFA0Z2Q01RdEpSc7Q/LwHz1BOnsMMSv34w75MyDblTcB0+IMvOLQ4aDD1K6O?= =?iso-8859-1?q?Re0BmYZjlH8RTN2TZla0AKX+yaoLoqD4uNElKYNwKV2SFfjrKQ4nZ1NhVqN0?= =?iso-8859-1?q?jHWvkbvOSbzMOP1DUJhfNC6FDei04ZAz9Mq+jbFMORTUCsMhfefR5NIVMSAE?= =?iso-8859-1?q?cl5qwxSQ8GdtB2VEHzk4m9c8yQPxyP4ivXeXg+IdNZC5jd5a5QCIvkS04iIr?= =?iso-8859-1?q?tVRmfmvnssuL4IvO0Reu6X3PQ+87uCHw2O8ay8Sl71Oo2deqOh89bsNGwybD?= =?iso-8859-1?q?YFOlAXC6gMKmJxCugXjmEOO2Y8Xts7dIyvOeC1i9NyJ773SfPjIj6AZXpafz?= =?iso-8859-1?q?0HXWq3GLuFlS6c99I0YE/B5ZkaP5rdhm5i6mwTGbun4XR59Lc8zg4uv/BdA0?= =?iso-8859-1?q?e+USRT6UWz2zPxgMk5LPguDVoIDGJdz66BhqoekeYBNugpVECjdkWdXmGtiL?= =?iso-8859-1?q?mraOQP+QDWWs6ZLQ+xSCOqYbU2jDi/FKtw54T1fXz8JmjwF2sNXU4C1Zc7vj?= =?iso-8859-1?q?74nKxwMUNFsvhRwJDMkOhd5ftUfYQ6dMLgOqL0hJmIZPvv8D6AME7Yze224G?= =?iso-8859-1?q?YQ4myCTo=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: 73703bec-a40a-4d7f-ef88-08da27965ac3 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2022 15:06:34.0683 (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: 8qKh+VpcrTVtXMGQO3dOcHeF3kB2R3uh55gSWXgCw7RMqAQPCNndtX6Fj+waeEA/xmWM+QHIz5x6556UjKAhPQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4679 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-ORIG-GUID: 8leioc7f3wbSr8g65-SBBHeSK6arthOJ X-Proofpoint-GUID: 8leioc7f3wbSr8g65-SBBHeSK6arthOJ X-Stat-Signature: 6ex1ocggx56drmmmo95d3cw1g16t3yr7 X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1F19780059 Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=Oc5rO3p3; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=g+gZgOkb; spf=none (imf02.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-Rspam-User: X-HE-Tag: 1650985600-496277 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/mmap.c b/mm/mmap.c index 622ccc28940f..ec09b68a3e0a 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -597,11 +597,11 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma, * mm's list and the mm tree. It has already been inserted into the interval tree. */ static void __insert_vm_struct(struct mm_struct *mm, struct ma_state *mas, - struct vm_area_struct *vma) + struct vm_area_struct *vma, unsigned long location) { struct vm_area_struct *prev; - mas_set(mas, vma->vm_start); + mas_set(mas, location); prev = mas_prev(mas, 0); mas_reset(mas); vma_mas_store(vma, mas); @@ -632,6 +632,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, int remove_next = 0; MA_STATE(mas, &mm->mm_mt, 0, 0); struct vm_area_struct *exporter = NULL, *importer = NULL; + unsigned long ll_prev = vma->vm_start; /* linked list prev. */ if (next && !insert) { if (end >= next->vm_end) { @@ -763,17 +764,27 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, } if (start != vma->vm_start) { - if (vma->vm_start < start) + if ((vma->vm_start < start) && + (!insert || (insert->vm_end != start))) { vma_mt_szero(mm, vma->vm_start, start); - else + VM_WARN_ON(insert && insert->vm_start > vma->vm_start); + } else { vma_changed = true; + } vma->vm_start = start; } if (end != vma->vm_end) { - if (vma->vm_end > end) - vma_mt_szero(mm, end, vma->vm_end); - else + if (vma->vm_end > end) { + if (!insert || (insert->vm_start != end)) { + vma_mt_szero(mm, end, vma->vm_end); + VM_WARN_ON(insert && + insert->vm_end < vma->vm_end); + } else if (insert->vm_start == end) { + ll_prev = vma->vm_end; + } + } else { vma_changed = true; + } vma->vm_end = end; if (!next) mm->highest_vm_end = vm_end_gap(vma); @@ -808,7 +819,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, * us to insert it before dropping the locks * (it may either follow vma or precede it). */ - __insert_vm_struct(mm, &mas, insert); + __insert_vm_struct(mm, &mas, insert, ll_prev); } if (anon_vma) {