From patchwork Wed Feb 26 21:08:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zi Yan X-Patchwork-Id: 13993195 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 2A7B8C19776 for ; Wed, 26 Feb 2025 21:09:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C2AE5280005; Wed, 26 Feb 2025 16:09:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BB2CA280001; Wed, 26 Feb 2025 16:09:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A058E280005; Wed, 26 Feb 2025 16:09:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 7EEC5280001 for ; Wed, 26 Feb 2025 16:09:05 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 42362A1C95 for ; Wed, 26 Feb 2025 21:09:05 +0000 (UTC) X-FDA: 83163335850.23.E008FAD Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2062.outbound.protection.outlook.com [40.107.94.62]) by imf09.hostedemail.com (Postfix) with ESMTP id 64235140014 for ; Wed, 26 Feb 2025 21:09:02 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="bKD/uAZh"; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf09.hostedemail.com: domain of ziy@nvidia.com designates 40.107.94.62 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1740604142; a=rsa-sha256; cv=pass; b=PK2mJCd/D38xawnxn5vwkqM/DG6V6iF/Mb4fUaFSIsQ8PPccwsln3sjiXBCwrHdZnszjZK gEZBWXqxMwSkSksI3wOi4QexDmzwucY7l6vN4Xy5ZjJOSdALIW9gcIExZQbh4Lnh3e8oBS pNse24wKAvX744GUHvukNm681NaahjY= ARC-Authentication-Results: i=2; imf09.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="bKD/uAZh"; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf09.hostedemail.com: domain of ziy@nvidia.com designates 40.107.94.62 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740604142; 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=vtNlXNLzcd1UBbvYE90tIcoe9L9SDF2ng163rpUJqQw=; b=vnFNzbU8EhGFUtJOaNeQ5zzES2uDMDti/1CN1rzIrhMl1rgO7qapuRAbIbxy8RZfXHDXA/ XEzZH//EamOwF25DV0k3sGcfTfHGvrcs+I/suU1EonS7TaMeA1YtxDT5t5RJcxnMxfK80P 5F8nnJ9yQ+klg5DwMGqKQt6sowhJnSY= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TbWpIbysX4dBZnx+Iol8ZYgnad0ClqVw7+sjHNAbtxiDGmilSzL9+lXwf7Eq1t531O9ZuYbb6P/hUlbidigQ2PMkdNRVFnacOiNvA2ail/21n7Z1fkPp4goet9I8ggdA1daB3pRmE7xCOo+oZSDHqh3GDyPN5LOOrSoflztq2u2mVA9kmQuUl8cqF+MhDPc6dasitkn0tVMGNhONhzUum9CmglrdlGt8GfFn3UaBA7gh8SPsbYWv6ZzZzQRYfMeWpG+yoUUpypJkJWghOkMj7jcnHUrIJApJQDpDyJ4z2ONc//DqKUDS4/Bg/tzd6OAc1C3tvgEX3+gcTUUCVL6etQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=vtNlXNLzcd1UBbvYE90tIcoe9L9SDF2ng163rpUJqQw=; b=su3Gfn40AWcj92pKlqdasC09wxPK4qNkvQwovfQi9RwiK8zJGaZ2G+8FznvT6qAqsMaNkGp/GaD0qWJVqOvPOl7zen6Xq0TZGWGlss6PjFxBX00cvXvrgps9rOmqvuLfUtR6Mwp2UyuDwvkI2f6z8TAU0isP2SY7ODZrfp2ZnN9Q+Uw/zDmo8JFUo+dn+CdXqtfUDY7MspHlSqoE9c58yRH4SVUHf/2CBT2Ksaxc8s7qs6dX7Httn1FZknGIZ4KuvSjIPPsLYUe8r/aSy2yCMRwmwWGAjGzI9DG0ExGSqgjYAk8i2DwgNbTyh4MleAvF2KK1F7Y/wp6wb7x8lSvTBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vtNlXNLzcd1UBbvYE90tIcoe9L9SDF2ng163rpUJqQw=; b=bKD/uAZhl5jmpBvzUUhYjIY9axIfPR9GXvUegYRDo/hTOAKgR/CZf8tXYxTNSJh8Pme3ywQ3Ec3nhP24TQ+syxmoGPsDIg7gXwehEJfTTYIal7DAUoO6tLiSOsaNny07O+t/80MvzRx64hvA9g3/LfzPdZXAwj9Za46PMGdWtmC+3hBa2IMyDyv+3P51Nder4vfe+wCJ02YZkZxlVKIDgBWu5grDAAS/eXkrOo7nBuh4xm3nvbaLUXGtz5ieA19D0gfm9PPGLJKzN3gMKr4LqDyBKXzW14eDL2cTkbKt7QJ8yz/mWpu3azShFkU3oVxJMSKov2xHnXA5itXP+Nda6A== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by SA1PR12MB7221.namprd12.prod.outlook.com (2603:10b6:806:2bd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Wed, 26 Feb 2025 21:08:58 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.8466.016; Wed, 26 Feb 2025 21:08:57 +0000 From: Zi Yan To: Baolin Wang , Matthew Wilcox , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Cc: Andrew Morton , Hugh Dickins , Kairui Song , Miaohe Lin , linux-kernel@vger.kernel.org, Zi Yan Subject: [PATCH v3 0/2] Minimize xa_node allocation during xarry split Date: Wed, 26 Feb 2025 16:08:52 -0500 Message-ID: <20250226210854.2045816-1-ziy@nvidia.com> X-Mailer: git-send-email 2.47.2 X-ClientProxiedBy: BL0PR02CA0036.namprd02.prod.outlook.com (2603:10b6:207:3c::49) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|SA1PR12MB7221:EE_ X-MS-Office365-Filtering-Correlation-Id: 12252f1b-a9f7-446f-db85-08dd56a9c8e0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: 7Tom8dogslkwCerRHR0eTe0LtLb02Q14n2AtlC4D+TdJdWruS5p8WMFhc0NsHru/+t8sMfIC+FKDXt58gWXyqW13wuqc0rHyNATDGl9IpLgDBAZbtd8uowoLkZ/3e/sMbEh8mCwqdrkDyDFSwV5A5vszDAGBp+FQN+rfNkTUTS9DwpFsgWHn6gHEBYKaejaaqj83/PdVThz1gTQ5FtBdSUAdpxEwMF9gO9IwjxSlDqv9TSrVBAzqRZz6lDToAbmMt2rDLaUG1HcCcQsznATFCN35W2h5ha/mgunjij3bu+WzjE6zNPh+zlysM2ZRAsdK2iVEEAiahLSJ974suVKI5ZqiLPUtmPFy/XeLdkWy42O1xYwG+7KDbYKRXirQqJ2AVaZxlV07KhhYX57TysPBxkP0HjPCJSo20HUL3TXxz12SpiYPCdXwD3fIBLPk22lEPSqPx73NJBV61hXwUcWNDWb0BeN2ePp2G5SydNrwO78ZK2DY014WM0Jb8nWfTX95jUVncJMj/hcBQI+oOxSLkSRUGDGrMfZxj1/DcLF2ZAVe/5LceKpC4Jrd6KWIraApCnBHthfPgmkAJ+0AHSImdRo5cXuTXKQuKyyemXKmJWuZlHl1bixM+IBg91KKNiVnpKykEHhvLUg+asuJWEYwmxPFr1WTgCuag71O2jUS0f77APC+qlDbIaNfl8YRgGmiwZBmwi5TmlYvVq/CCEVdezwHp0uZMe+3LMJ2B2K1NDm4iljEcAZQRL7Jc6lmwD8g+YIijxhN+fAd9NpODWISdNtzr941HTdGGHf0Wq21YpZrHpgbwqzcWEKa/srt0kiR8mTRpJrnxzf0Nj1aFeLmDSEBpZTKnFgkZBvCbuIp7MNyMQ7ePlM5tRIFIxLnSewG6tPojSKIJaQLR67lUsPwr6PE/YCwlV8Myf+s6sNdZl8bY0sny8MHvMGVAqOONg0HrPeKqHdkxFfqIpX3gfxg5puy3SMuZ4vOVa6i1IiyfoFb8cc+jYwWHRkKpT3DXiL2TLVFMEcNMRdwYdVdD78nVbRtp5B6CAjrx0VRciziZTud2RzDFdagCHqBp6bhxJMHZnItXDIbzWOeWHhDJfa6Y1MvtNuVzwlNGaShXFKQuXLv477htG27Ecka1hbIk08kTURwoKYLduqljo21ETiL7nzXav3b+BBDvOKOY8cBawWflaLwvDJ7ddp1FH/8pxQSySiXcnw118GZ2BTjN/uwWOBGQloo1U+5qmuhods4T5kcgN7sTROYENksCVY2dCz69vwBUInajF1adFt57ernzQL7sU4Uk6T3HWA0HbxbA7+s0WnVmEFQXEGQeBHFWrY7tvffFeU5dCZYCAHkH7IxgU2IAHHCXZKFU9UKGtC1vo5HK00Sju0dxTzKUW7+l4yT X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CQ8QcnWXnE8u3WhFwsQrddXmChvyzvhkcM9oRBuG3G6JQHmrNgiYX9p6IcxYs6lx0tN4JjePr4AYz2W63c8nxvJIXIJsjhSsMFj3OzbJlv1RR4ZYLD+fChG6dAbKzsKyE1Pzg1wxHuuDr6EcrNYJ+BjSrsHOknact/72cHqauKPPIo24ZhaRq+IzZBkHtRHpmavcwNTipxrHbXJJezd9ay6yz1kf2Lze1B2dZZqkORlBPK3Y7VbfpjkSWI3gCa6xKWYO3Hdf44l8SMZNUlpsM9yuanamDY0V7uilDvsADmDbKTrmegrIblbt2F4gvVBkouSD7Y5bbzqCteA89qJSojmK0fKmyRmftEanoobrrpHi3VYdrcFPIpkJTdXQYmNJo9Y/6htUbTbsxQlOy8GOw4kKx7lx0yuhIhB6XUk2wgtp3Sfd7RhbK5OMZsQzTbzeVtmg/1FyZ5+uDSMBvekM/iTwnWrCqtW+VrCE3JXZWyjh2aQgvXNFYwjEvS8YoLqR0oex3MHZLSy2VitrmgbDw1BZevhJTFii/RZQj4wMXAqKlUJfnQTslJHsxR0C5x0aMyJGZqFta5jrjFC/VMx0h1z+IkvcLNEe7+GMA9Z7KVXONxQLXAw65atZXH55n3U+KIzTXA4QSB8NzQgIzqIsw52x4A/8ZqHLmyxK/Hz+dXWwEzvpqGcxCnrqCDVqdgkWf01K4CywTMlFTmWJbegG26RfbIiOm5hT+UdbhY/ZYxyybWFIcG0d8DB2EttPbw+scckva7gpBy2Ro4j21Nsv/OjMwuLDMLK5FnHDIpGIcnCA412hsGeK4MHQn6XBy4fjw6Ql29cwHqoFvFA3Zb7l6CfbmjkEx4sWJ2SWm6kPGUeTJ/QHLSoemKUm3TvGOVSgavew34rLxYoYSA9N5XScbd0wlSTF7h5qHokJM89hM+FCznRHl/BtpT4QQcDTpdKR3f82gxZxn4pVQyvky7dp9T2jOAQuAePJcUsi/FtEumTIFt7FqEtT7Es9Ry5Aes6DRMqGLvA5QOU0io+qyGwLjmoPZ57b8FbHbykeCZJnohm+Bxi5N1LYoX2yz0fko20xphdq45/6CXtlX6Cw92ifwOn+wTfmcI+SXRM718puR8KIe5ODFmXPVzQmySOq7AbBiRioECmF4PmwjorRzDQ15gMrgXSgqwAxH7ZoqhO+xY8re2oWs+NYNC4NmUIHXceoZkp3FRiW08N5bZcXha9kmHvUwPaid6b9qUKy9e5NZl15fECfu7BdHsRtMS3gbkb22p8+4zqNTFJoP6SqoO/3UDL/TYoBrs+L/41la2+ebWi8F4faYBNT7GhtF+vGbbywcIYI2lDRxuZfnTddwGpryVHnNBvwdvYOGkBClkQH3QSwtK5X+BrLjCYYWgzaNS9sKaNajnECLpTegQAjSx08bq+IKjJ8Cf1JhaWXSKnJyWJ0bXMRpZxvH/wSIsLABIKX5ZObT8CmcDutlJY9umeuV2nTRmk+FVzUGm4oLXG2X7aNJNMOuegEuO6E6nng40aZ0vXdzQHwhuAJZSd/599W83kD1kPOT2daKxZxf3c+XbrgPWQOGl0lT2dEQrzlVfEj X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12252f1b-a9f7-446f-db85-08dd56a9c8e0 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 21:08:57.7362 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GbdqqOnGWA383FOC6NEswSZuvYJE7kHAoolfQcdc3a0uqEVDrXbxNQ7gmlfnYXvF X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7221 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 64235140014 X-Stat-Signature: t1jnigucxyutp65br64gh88butt1ps6b X-Rspam-User: X-HE-Tag: 1740604142-209013 X-HE-Meta: U2FsdGVkX19Qyg/HJBCRum60wf9Wa6CJJ7Id7tnCPWOdSvRPKxMR44W955BXjivsbq3QJn0fHA09oXjy9+rhRg864fYLmacslACcnQzW9GG08Vw7QdQruklggZamHZRX14btQjXLdTyv+MSppDCL2RqQHwaM5/BaVGLrlwp9cx00wFMeXOlc15t03WJr4VGt1GD6SZsA8DgoQgiIFHEdwIbl8hli8Xqq89rOvRmxOlbVnSPyGm0rmj8gcZjzVN3KvURzuTIDePYzdTlJTbLHVGDNTKmgp/AsRmNThrezP+4IH2ON4zMjt9nkPRpoxB2iO3eHiBO/kMNgUw/ghDhnTZgBY9JwNmcQ/L5zuRtnv5jUw1O8nlwYyKaqe9WW3KKz9JdT3nWn765sf+xoYtVAQ+I7wkRhfdG0YQdbZwLZs/O4OvR8zluC46HPQFQHUPm0FmjEhjuQoIxnP7t5G8x1UDrBUcesYBnJMVuyEhtEdc6knke9Y1r0TT11gO1AqIDdg4M0pcp+CeceZvwPvKCdo7NGg7PSi0swrX5kZTDd0lGXK4czHlEYAbD2pxDBPxGOHPvkFzLsdqKNz+XJxEJ/KCOFpcPTikg7UuCw/VqYIESGlI5Q2IZztCBMACY2gFMymfmWEc+jxQ5+R8Ig86APMjyVbmb0tztjgKsMp9Ex54Kdbs4xQU8UNmuR6rauw5EtJhlB3AYySJX0Y31+B9ki83JivK0CQZbZ1AECE6gDLlfK4A3f+lCUIkjrAH4Pi7OofBH+moYngHbrQArFYaBVxPl423RXa201BLSBHS2NYbkADK3p2RKBqpdAsWQvuTVYFOmgisYwn7UqqnHnkqzWcHbO/0vpIYBO4HSGnDOjtIN10sjHy7RGaCchQI13Tt893uhP2rNq7EIHJhvUenn64QEnj6Gbt4TwAxhNQwReyVTVwwdTo+axrC4s9f8q1fP2I43EIL5z7ymFk4UoI1G TdqrNJzS MNdvM3To2GwMr2bGgL+ymm++wtmtrfCxunBkrQowuHVq4EnXW3mo4F8IiOK9qsq0egpl8ejt0eBdfcAD+Vv1mf50CpRuUaqnKkw1I/Serojng9VMEGVNUju1D7n4aUYT9f5cYuyG0NkBAjnCK6kM40iW0XP0S1zsoGofSSKgJqmZcvpXfMiqucvhm6nLnBTPeZLD2nR1brOiKF2nLxkTDQ0t7Vrn4q2fToO6/loM5cVlgf7EogLkY2BRp0jzkvCnxjQr5Ph+CJR2BL03Iv4IP4dpqtEE1BdXAegJ/888khZ6vZ1tPZgdoBIL0f112AUV+UXGbVgIkLdJzd1OUiVZfZlCwKkqE0d1n1mGpoM4QZQqSzWpDOxF6wDLoFBla7Ql8WB26hZynxh1Wn9HEWS8K7W9ihE0M/MEfdZ/POd/Wx4sIlQg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.012951, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi all, When splitting a multi-index entry in XArray from order-n to order-m, existing xas_split_alloc()+xas_split() approach requires 2^(n % XA_CHUNK_SHIFT) xa_node allocations. But its callers, __filemap_add_folio() and shmem_split_large_entry(), use at most 1 xa_node. To minimize xa_node allocation and remove the limitation of no split from order-12 (or above) to order-0 (or anything between 0 and 5)[1], xas_try_split() was added[2], which allocates (n / XA_CHUNK_SHIFT - m / XA_CHUNK_SHIFT) xa_node. It is used for non-uniform folio split, but can be used by __filemap_add_folio() and shmem_split_large_entry(). xas_split_alloc() and xas_split() split an order-9 to order-0: --------------------------------- | | | | | | | | | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | | | | | | | | | --------------------------------- | | | | ------- --- --- ------- | | ... | | V V V V ----------- ----------- ----------- ----------- | xa_node | | xa_node | ... | xa_node | | xa_node | ----------- ----------- ----------- ----------- xas_try_split() splits an order-9 to order-0: --------------------------------- | | | | | | | | | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | | | | | | | | | --------------------------------- | | V ----------- | xa_node | ----------- xas_try_split() is designed to be called iteratively with n = m + 1. xas_try_split_mini_order() is added to minmize the number of calls to xas_try_split() by telling the caller the next minimal order to split to instead of n - 1. Splitting order-n to order-m when m= l * XA_CHUNK_SHIFT does not require xa_node allocation and requires 1 xa_node when n=l * XA_CHUNK_SHIFT and m = n - 1, so it is OK to use xas_try_split() with n > m + 1 when no new xa_node is needed. xfstests quick group test passed on xfs and tmpfs. It is on top of Buddy allocator like (or non-uniform) folio split V9[2], which is on top of mm-everything-2025-02-26-03-56. Changelog === From V2[3]: 1. Fixed shmem_split_large_entry() by setting swap offset correct. (Thank Baolin for the detailed review) 2. Used updated xas_try_split() to avoid a bug when xa_node is allocated by xas_nomem() instead of xas_try_split() itself. Let me know your comments. [1] https://lore.kernel.org/linux-mm/Z6YX3RznGLUD07Ao@casper.infradead.org/ [2] https://lore.kernel.org/linux-mm/20250226210032.2044041-1-ziy@nvidia.com/ [3] https://lore.kernel.org/linux-mm/20250218235444.1543173-1-ziy@nvidia.com/ Zi Yan (2): mm/filemap: use xas_try_split() in __filemap_add_folio() mm/shmem: use xas_try_split() in shmem_split_large_entry() include/linux/xarray.h | 7 +++++ lib/xarray.c | 25 ++++++++++++++++++ mm/filemap.c | 45 +++++++++++++------------------- mm/shmem.c | 59 ++++++++++++++++++++---------------------- 4 files changed, 78 insertions(+), 58 deletions(-)