From patchwork Fri Aug 4 16:59:45 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: 13342118 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 D2939C04FDF for ; Fri, 4 Aug 2023 17:00:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8DD856B0075; Fri, 4 Aug 2023 13:00:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A5636B0078; Fri, 4 Aug 2023 13:00:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5CC536B007B; Fri, 4 Aug 2023 13:00:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 4EDF66B0075 for ; Fri, 4 Aug 2023 13:00:39 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0C0EB41585 for ; Fri, 4 Aug 2023 17:00:37 +0000 (UTC) X-FDA: 81087036114.02.A03C7A5 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf27.hostedemail.com (Postfix) with ESMTP id 010DD4000A for ; Fri, 4 Aug 2023 17:00:23 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=D8ocZhSo; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hbHD0vQQ; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1691168424; 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: references:dkim-signature; bh=xGAFUHwaznQZZ9awdwm5ZiuBMO1MMOs1VI9nLTz/3VQ=; b=12XRN0Eehy/33yX1bj1CLqFyppVtlv8TTWgr9eVLqhQSCjDZccHo1OAqZ/J/RwrOWiOHq3 F3ACI3sRdQqpVZ+xqsSjNm28JdNGoC7H95oY1FlNKSzCJDj/F9PN8IzcHbo+3X2ktu/odW LvYXK8ukQVeGfAI//6BFcX6TImNm6/o= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=D8ocZhSo; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hbHD0vQQ; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1691168424; a=rsa-sha256; cv=pass; b=LtOT0y1ISxeeSfOL6RP6f4qCYYaCuao8JaOijE+oKXwpXL+7tPC4zD01dA4+oXCmmdYMC1 kOQehqouP36XRilQV9RKeKJYadicVXc5I0EI4fgSPHlcUQzGTB8AhNn/YhjlO5NiraWtqz KhGSeFRFrnbhFUbdCIM3uRqL9BECnOU= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 374EiMF3030795; Fri, 4 Aug 2023 17:00:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=xGAFUHwaznQZZ9awdwm5ZiuBMO1MMOs1VI9nLTz/3VQ=; b=D8ocZhSoPE5PbQZU5qFxn/P2iho5RxYNwU98HGX1IFj89DbhaVPOjhMlxJ/q1W/jFsGf P8p9rR78gSBWc5PaLZY9Kfenup8M3MRAtI6jZmko02Vv8Y9H/S582vi4d7L/CAHQpszN pasgmSVXq1Gbm/tnKglfoq0fQddnAEQZAelfAJKODl+3yJoOpK0+IdpwrKwXhn2CHlnI 7xUUXp49FtRAuWEhQMHXFia155xj0ttG51CebqllODbQjr3CBOPevmKn8ta/F08UXrFE M4+d7xA1oW7gRyAuUn61RubDs5BpLJp+kUKU0mFpjS+R8Lhcs4s45Q+N1FCAEv0XdI+W 3A== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s4uav47ky-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 04 Aug 2023 17:00:15 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 374FQvwA011630; Fri, 4 Aug 2023 17:00:14 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2046.outbound.protection.outlook.com [104.47.66.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s8m2s3grb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 04 Aug 2023 17:00:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BVv5WoPz7yLabu4/WJdlZvA+Dcqm8MIjZrONyvWr7Xa1uUvctDZEWCLDuKj05au8p8Dk8jj0fB0Cm0gd6W+kGd2PtsXGvbj4nBRVAlrOUu8+NW4lWTOAYsS5iP/cqU+foJ/q6d/tU2aWSon/nUdM4ShoPgs7kM5/CsKicLl84hJRYkZK+tOFKgq4kKBBcY5BcKGC6VJRrvFb8QX+hxjqkdwD3BmC7wcWygBpBxlgEG7bXdK9cXizprKwqj1BOPBwI+hKqJpZ+y6mV69w9QbVf1DQpAZcQ9akDaq5NIcKjUorQsQ/O+osiv4ifLAJcyw8pvBR5LldGhxmB7eRTCR/Xw== 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=xGAFUHwaznQZZ9awdwm5ZiuBMO1MMOs1VI9nLTz/3VQ=; b=cpwOTzu1HwTvp6v1FXWrpB/GnnIKapHdsH81bHeQw4H/90xsZwkmVCkTmFKectjqrfcfwNHjkLRuGzUBrFXXVN1oaOImUffYD3p8s6/baJ3fX8jIU4ofPyMTl6sEP8W8t+ZELI2zx7FQpGmG11RZ2F+8CEwinUWu5+rWPk55agxzPdwhJpHNyzwjMcf/NwQOKIUZWvqZLB7mo7MhPAzj5f7QupxOlejf1nimUHQUFPaRmacLmewDZg6syAD4rj8tRmscoJisGIbIu5w4jun5PKv8kcYQpa7Hom9jNnqyQzQEWMtSN4nuBmflYDXk/1vUOA1SN26i8ebBsVkDo2r1VQ== 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=xGAFUHwaznQZZ9awdwm5ZiuBMO1MMOs1VI9nLTz/3VQ=; b=hbHD0vQQPXenQxg9RabtN1Y0ZXTHLUcVxxuz+tADelLthKDPoO6ARcH6gV53nFRRLXHyddBGmPINs4FyNB8TB7/iqBwZ3G20nTqz/GD8rGYiUrGgHvsWkn0mQs23d7bIKHTyhJkCc9XnFl8Ejxfu/2OFtE7ytDSkyMUZCHwb99U= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4469.namprd10.prod.outlook.com (2603:10b6:510:32::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Fri, 4 Aug 2023 17:00:11 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023 17:00:11 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Paul E . McKenney" , Suren Baghdasaryan , Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH 0/6] maple_tree: Change replacement strategy Date: Fri, 4 Aug 2023 12:59:45 -0400 Message-Id: <20230804165951.2661157-1-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 X-ClientProxiedBy: YT4PR01CA0181.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:110::8) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|PH0PR10MB4469:EE_ X-MS-Office365-Filtering-Correlation-Id: 26ad192b-fcb6-41fa-21d1-08db950c43ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ewlb1nqXRZWI2dku8ZiPOuZi08gi4QoFbT4ub2V8FuYMHln5+d+YQKYfGaGCkpjKoZs3xRycElL7+X2vIRms9NnMgjP3m3zw+uphMgL3mGtuxbfQVONeUCWOIZENyBC2wkoTWzCrL51jPiGcVV25rAy00K0K3ZwsZXMrHT0EynMnWJIRLpdDyf52Qy6MHgja5Q64pSZe2OfX0xfAiphA3sAa2AXPz48kVzcZN/rqcbcb1Lzc6BdL2uoyo2d7GI5rNVw9NQn4ueyZ8fyhr8p9sumPY9s9QDIlQZAWY+518dzNzUz4B1tAOBkJrqgcnaZMU48icfEXSRiEOqzg69+JcomD4d++vcI1dZ1KClqPkfQ+kSEKvWgimRFK36HGWD/dw/ysO16yYF3vQn/ct/4PUz5bR1v6eP8eEvMMVe0GHsmv/NwCW8R34GluSIjaNSs2KZoN983qBJEIYT6AtzbS2uenx0LxW2yXnAxpjX290hjEO8OWdCUnTUByPTcWtKtSWgEE4bIBhKfVznZCSn+O20y24oeG52BjS2N8jSyTeqjV1eb0YV42r88aB4k0EFOv 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)(376002)(366004)(39860400002)(396003)(346002)(136003)(1800799003)(186006)(451199021)(41300700001)(8936002)(8676002)(83380400001)(26005)(6506007)(107886003)(86362001)(38100700002)(2616005)(1076003)(316002)(6666004)(4326008)(6512007)(6486002)(478600001)(54906003)(6916009)(36756003)(2906002)(66476007)(5660300002)(66946007)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JaCcmV9o+THzNz+ntnKaNuzcMuSEqJUNoL/PQyQwb5QUpBEGLyMSUZ3AJDrStrvOahIo+JSCBckX1kJAAd/BftS+M3MXbXhd/yKAG8v1u0OEOMF2iIEUQlhLPMaiIKgbfFBBFCIEOj5/mHGmfGVdus7Tv7cl/vXguHEs7Cen9GhoMGBSoJggdjZqephAhoXrD9weBlpLFFhjRGeC2eS8DHNTtCONueNaOIVNz1r5TocGq1qO1BtjJXvVe+p46UiC1pZ53+M+qShDq87Lit7xi9hbP57BF6yfvfMdQ2umtr0LnPfF/OOtv09SgwYNMBtXh4E4hSKRQSxcGw212HstNzFdA4mwWmXdldQoehKU60nQwdmUThgR5kI9cYBRcFY5sHndUqfYDEdlYEGLuSBrC1GWujwYlYuh8CbiB2fziN2OBg/YcailHehHHFnb3w0lLObJVKRlp3x5wW5TWYhBrpHS+5ZFhHLHaMXy/1/K8WNuAVEA7n5qMy1X7ZftF3c/Fa58yyJYdScafXvLIadRT9zR7AbUO9e2QhmLcVLPYZgWcwGOJ+WwBDjlSelpmsYclTwQG8IPrwwlqjps4D1qBNL/rtrxkvhbczENYESZCePFW88eosJRw/lqH9HU1+Wg9ci1T2QthuhXA6WSao84dIXP1uLrUBhUPy3Id9PB4/lUssCk94Juqg/+4D2He4RHVIgW+GI2asr73TCWpySwhC9I+ygWJOHdBieKIhzCleX4LO8cYAvsHTCFMDW7VTT5GdV3ARUcfdSxRCPlTvaBCL8z8f7snCHgvoLcbow9CsYILQBEFcAIWvR1i6bZHfG7s900ApQCVVZF15yEy67ZnXZ61vyf/fl0n9wR/ZBBP0um5roItxWt8jAOgk+rW74rx/Buo8XoiU6CJCCD3UYooQoILbLhZgrXJAuJf+td7zgF5xY6Km6CxGtcjj+lsj90cUxXdGDbK0jDEj6YJrS3i5u34bFuj50PA015ANbDc7+sQ0RkbH670Yq3YfdX6nWZOvA/7+n8y9CBppDWI6hh45RRFvwjGbMS/3T/QTkZKAwy5sTYMwmZm4E+8KUxSjQ1++o9dB45vF/o/7i7BMreT2fsQyHK4uWTXENX1gcfZUanwtslyjd08+3QWVoMC+zl3SBlb+mI2KnDZZojTzTITP21cA2rGbKgtdAyjg5avcNi/VuXYWNYgLZglk5moKIET9jy5wysLx2xggygyByAS7hDteveEcgPT9qOoa5QFK6Pg4EryKh6ESOjBWc8i1ttaMYAmEUrVbYRLcDFWfC3eracEfGrz7tu7AsyJUaZLd+q5wQCAs70iqPat7Cx+jW3gGCIVTracs6Rv5iT1SSsEpLBsrmEXLMqrIDS4u/QzaUM5i0BMtl0qyK07YiQsjfvXsAiJGbtjAjFcbr0GvOCg1HT2BGw97CjT2KUWb216//f7FbpcOo+pJzW+Vqiu4mw9QMg+X5SVRj8KM60B2oHhVodZE5txjifuJueJHabLlh8fg6Hnh2ffpfK7ftQn7bagnBEra9PBj9ANw1ktO5QTDO9xDDfLVwHAVMIYDHHXhNsgPz3ao/eXgu4rhJuKpux8fmvSUZPiG1u0oNGRy3Nxg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: IrfxQCi8Ca6PCj+g1yES4SPfvyMPLdA+n2Btz6jIARDjTY44t3/2b0Gsg4oG1TUbwp0DjiTd+k9XoNk25rz+UXPD0h5n018j9yOewHHx1y2kS2ktMSH9iHxNTPPQ+yatZTWvyGAfwJEele7DXIu2g5hrrp/ui7B1XsV/ZTt4v4Nbzcbg/Ffh8BTgguKdFUnGSEtQi+fha7eGRWuU/HKZ/Mk+djdbBc+g2iyiv5pMGgD7+g/ai9BwHhCvqSuggwgT1+GrwDdzoOXgQcTC/w/f4u+lU+R54TK/o+qc9U+ZQk/Cdfl7UDaLwY1l2U0RAxdV6QXumZPaK6gAVI5tT0LqOJB2V/Jsp4ljL3cUhXep6mwNAkzT1MmmeyQrU7oywtbLsAkDyw7w+B9m47D/cMBasDpKkEpJHj1n9VfD0JOHDZJRnhliufW7+q6C4NcFxkA2V1o2MmNxLshq2iwyaQAcC72wG0vWCNvKf22ygL3/93X0ikUeQQLdicyMQz6BE6njcUvNx3LNeUSrCL1Q4QTFhSZS9eYcUeU1il/bPN2cuTeMdnEqxcXmK1caZAI3Qe1HMUj5vWB+UocYZFm8QifB6ClqtEGC1XUpzC4lABVMqrZl621LZM+Ivtd9xvb/31QH/DyEQYnkKlRV+oa5stoyCMrc5FHZhdcCc4j8/uo1n5VWOAM0ICYpuN91M7dU8DYvjymTHF2+2m+nXxqz91457dRBNoop4Xagti9Xn6HORD45YoaOLJO8B6m0rqtBJRDh5mqSNT5FQQm+B4a+h60rNPdbKpvJ/69XTpTKXaUHL2O1pirgMz4iwWjPM9E6b7TKLqeM2mxTgk3MDQHQn6gNL5AWjm1Wk55MVuW3NGVJ+qNxOonr+oQ2Zc4PXmGHla24yEtuyZ7UXh5WcZzbuBwB1j+XNrMRjbGhTPwdnXDy6RiBjnrP1/iUDPbZ3aVrhkt4vUxwBfdOmY4X1Y7TqF9BNLYvxLRJJ9MXpCKBZtMfjxM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 26ad192b-fcb6-41fa-21d1-08db950c43ea X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2023 17:00:11.6020 (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: kUDiJqTXq7p3htrgXC68BSWtSiMit6lI4oJlXtm3v9VR8YPrKI1vI2rjMDqd5xduWejea0A1bkdwse6q2/5rAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4469 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-08-04_16,2023-08-03_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2308040151 X-Proofpoint-ORIG-GUID: RyiOzTUOroQO_GksT8kJsV_lbK1LpXN3 X-Proofpoint-GUID: RyiOzTUOroQO_GksT8kJsV_lbK1LpXN3 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 010DD4000A X-Stat-Signature: qg8fj4rjbpak3tzd48e77x8mqa19rbqx X-HE-Tag: 1691168423-764892 X-HE-Meta: U2FsdGVkX19npTYGArnbvAlybwI8wR3C8uGC7aJGuKieEPfnK/LSgurjBan3BuboSYQZ5g9Ez8PbBdEZ0L7dzMAs7nY0nxnREpzsdp19lpVxLACuNTGM+PRRtyd2r2YS6ZsN/ikMOhEPkhyKJ6Av3Txk1ZQKfXml3I5SL+q2c9U5qAIRxtnQ1Du0GtUPZatu9ipmkVBTupXqFH3ymB7j6CYvosivmH0+Em8u+ksQxgeYmntLV6BT1k6yj+T++gqxslB/CJkAUnR4kwMBjEw4VT5SJSUTuUD0f+yFFYHDagWIye/53yqYVf29HouRb7gbn0MvKsGYJeDtwKqPDtQf8TshDa1jspu/208gKcnpBdXMFZGJaRwbAt+N6vUukQ/NHzW6WS1Q30dH23ggMdwHhtBQxwiVhy60VhxqcPxbLIH3YT5PjZftZsD5g2hFFLLwW4XeJcITL0IKJP0xsFOFGGJvISp3bP1ug7pk1cgxxD1ctYzOiXIszPm7/edBGoybD4+H1Cwn7YiP3jP/pdBfBTT2SAjoPbbD0Vi2aYihUPMF+Ivzdg637oZpH3Ho+xr2ilJINkzLLLYirJ+nosUnGX4vvU5xrRrLGotQTd4ShSSQxvT3K89T7+sz6KGvH73QmaNZFp2SB7FJMbhoTKMMx0lJIDhLjNKwMjphgIDj0RrzYkraz0myrgxqmKSZCxcbS1yZZUSbv6bzOHlzjFIY4cT9Y/EdT9/H7t8270LrBphnzffk7QKgxJZonI+n5RJF+vbJbDTf3v0g9nd1pyCVoGuMk+RobryNp6i4U2hvDzeyIjhEanipgTUhS1832IaN7cv1D4AyFSQ5QZEXbOkpyYH+aRlWkcwrPG+1BqwBireSaZ351OoZOQtCvZOv9FS6IS2FteJbWFNyu8fA338bJSJO8eM6JTwWiw2GkE41pKj9rXPJbiP06aJQ/La8eE1gOCLpXV2S6vEy1Goi2tE 9wZ6EaHt gRWuOo28L5H39zneZrd/5HMo48JApjWu6a5TK4XMr+6iiVjgtcPY3v/EUrcuNvluus5NvgMV0cDgHUVHQ6XigYo8hB7hkxcdNa4KMi5wblQdbW//f7eiMaP4Ts8fzdhsarOlUdUVuRRe5/k0sjA4uvYawaXv8DtdySzLRhr9tZw6Ui4a7utWaN/Z0EUVgj8d2bKkzbpo161H6T5H4obeIdrhkvjAuh18sDbScvAMiokdkCiYsOyplqXn96xzsmjFQ9ZqjTUYhVElbi5V4MJQ83WrQ8nlSPE1k1Oy0WNqCf3y2kSqlSR0Z42gvcNJLKnjtfTBipJDlNMQQxRVvIYAHFGbnRc49a1RInietic9K1bBFOfLD10Lk1jtZueglro7xWrVbqSRysKzV6IdLILqoSDs6aw== 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: The maple tree marks nodes dead as soon as they are going to be replaced. This could be problematic when used in the RCU context since the writer may be starved of CPU time by the readers. This patch set addresses the issue by switching the data replacement strategy to one that will only mark data as dead once the new data is available. This series changes the ordering of the node replacement so that the new data is live before the old data is marked 'dead'. When readers hit 'dead' nodes, they will restart from the top of the tree and end up in the new data. In more complex scenarios, the replacement strategy means a subtree is built and graphed into the tree leaving some nodes to point to the old parent. The view of tasks into the old data will either remain with the old data, or see the new data once the old data is marked 'dead'. Iterators will see the 'dead' node and restart on their own and switch to the new data. There is no risk of the reader seeing old data in these cases. The 'dead' subtree of data is then fully marked dead, but reused nodes will still point to the dead nodes until the parent pointer is updated. Walking up to a 'dead' node will cause a re-walk from the top of the tree and enter the new data area where old data is not reachable. Once the parent pointers are fully up to date in the active data, the 'dead' subtree is iterated to collect entirely 'dead' subtrees, and dead nodes (nodes that partially contained reused data). Liam R. Howlett (6): maple_tree: Add hex output to maple_arange64 dump maple_tree: Reorder replacement of nodes to avoid live lock maple_tree: introduce mas_put_in_tree() maple_tree: Introduce mas_tree_parent() definition maple_tree: Change mas_adopt_children() parent usage maple_tree: Replace data before marking dead in split and spanning store lib/maple_tree.c | 607 +++++++++++++++++++---------------------------- 1 file changed, 240 insertions(+), 367 deletions(-)