Message ID | 170785993027.11135.8830043889278631735.stgit@91.116.238.104.host.secureserver.net |
---|---|
Headers |
Return-Path: <linux-kernel+bounces-64340-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:bc8a:b0:106:860b:bbdd with SMTP id dn10csp822130dyb; Tue, 13 Feb 2024 13:37:47 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCX6+d4ESx08vwGNq1dEeNizC7fhypeBhfMF5mCq8n9qoVK6j0S+1bqtzDTDioT/WcnYJCQfAHtQa5pLq8HeAMxTNB+FFw== X-Google-Smtp-Source: AGHT+IGagwdv20Z122hQ11hYSKdZFnEUtZxhREKNaxePRxooV3M1ha+HScgL/vXMCzVceyLo6jQ4 X-Received: by 2002:a17:906:559:b0:a3b:a4af:9ec3 with SMTP id k25-20020a170906055900b00a3ba4af9ec3mr329723eja.77.1707860266964; Tue, 13 Feb 2024 13:37:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707860266; cv=pass; d=google.com; s=arc-20160816; b=RLt744vkt3TGzOIY+k/5FGdYXi98+ZpHdP3xylaojUMyakRyUMSnNJLRq03+jPB4Mk JFzEIyot+8BM4BPaq6yVGO8uRQbnObqNn6qouLK+SpiPvb8Egv9Nga1ONZgjE2srsWGr wiH17EMQXi+k64WwNTSrOwk47/TVScoykE2KKMcla5xSG3rNT7b7OI3jERoW8YTfBz+V f+PAWi6fxw8l8NnuxOikmu6fRkFBdjW4FQI8CH597n8KbJRpPwTzhHGePCWoU3JkiMHZ Jly1OM48uWh7K4GAE1GcNIIwThn3kfhXld1ms2ohKrX3JFUf+L/dbsliWayjMaJMAJ8/ JDwQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:user-agent:message-id:date:cc:to :from:subject:dkim-signature; bh=RcHq7wUhsNRmQ1tsXIqBd79ubl1rsFbYeZOqjkoV5BU=; fh=6vA4/MoYqSfS5jERf/yjA3pptotMNEvixDjfY/e2KBg=; b=UI102ldQadEBX58Ke9EFhvaXjRVVMBW9dPqxpqsx0jeHbttpFaIu+maKanxe6/Vp+3 I2tJF79kr9yCrwQ17FjNL7VFz/VJVsi7HJZ5jNWUsGuqasZK59N3pK17n/Fm8m2FpiOi axj1webpaT9lIOKNYEmeRVOhwuAdDMtIP1IiAPpu6Wp1aorrb/Gt3mp6thF5eNMIccA7 1kv5J7A3sq0EdO01N+udZUpijYgX7nzSHGe8lhOaMLbLt7bFzfAnUSfZtghMzxaG0Y51 TXg6SYgxR50PPWU3hXfXtZfYv4m29isDC+Kq22v+gXwEOCq1kq6DbgzBZYqJ950p9r5u VbzA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OWJepqos; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-64340-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-64340-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org X-Forwarded-Encrypted: i=2; AJvYcCViV2KvGBAAoEczEULz7rBE21kU/xRP75ZOWc9wNdjScDleUv6VD7cE5emhqium6ZoWIv2VqcagYxv/U4eN+apMTNkw9A== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id ox8-20020a170907100800b00a3847a4c8d5si1569798ejb.538.2024.02.13.13.37.46 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Feb 2024 13:37:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-64340-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OWJepqos; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-64340-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-64340-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 8F3D01F255B4 for <ouuuleilei@gmail.com>; Tue, 13 Feb 2024 21:37:46 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 126206214D; Tue, 13 Feb 2024 21:37:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OWJepqos" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8008D612F9; Tue, 13 Feb 2024 21:37:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707860240; cv=none; b=qJZxCh7Q0JhxpjygxmOiFDkHVXqVVzLTQGoqwhSlxJUSYEYEq2qsD38lHktCLk7sw3T23m19gd+glu5zV3KeiUenjy2y4KhvKSGOVzGHNoikaN26aAHSW1FG9n7oAJ5Hw5Rt7uAkqG8P4WzPs4YPp4m7Lz5Xcb+JRkWzF5mJfQY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707860240; c=relaxed/simple; bh=iZuJJf2L4A/9BC89nmeB2uDzQCKPBrFKPnqEznO8JRo=; h=Subject:From:To:Cc:Date:Message-ID:MIME-Version:Content-Type; b=e8TN/afQsszFgPyntHfjOSSPeKLr2evpqyiY5cVKRy3Fo39zxJpHbcMOHdQELNd2jipQffr7dANTpEiGPIxo1JB6N2QhCP8n1nQHPur4ckgYYzo6bHbkjdZX4qp0np7V3peDC3+QxRcEpps4uAkTX9FmfACClQoQS7lMm2CsXXw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OWJepqos; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id F12E5C433C7; Tue, 13 Feb 2024 21:37:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1707860240; bh=iZuJJf2L4A/9BC89nmeB2uDzQCKPBrFKPnqEznO8JRo=; h=Subject:From:To:Cc:Date:From; b=OWJepqosehGJPEZO9d/bePFqq3qbGgUjY6fPdj83QbSZf8s2XoJbVbgneG20oEQAz GxrRDaga5RZZ+TC0H73HccGqy8D4/HeGvSDSXa7ziV7gJpNk5HsxiunstM6tJZwErf y8U4X+oboJmNthftzoEtEFU3UUu9K+8eFqsNV5lp/ApXH58N+h7hUYBN07bQHJyqNz NbYCkRe5fJ2B0ILcMqPjmuAeNVlEORLvikJXZcyf0/eRVMS2VMjzQM75r50SY7rcTx ISJfFK+/0E2ob1Tt+Z8zCOTYh5iFXWRMoW8JJLll9Qa6RZDM91txTIfemPmv4EAFpg ncWwNqsHnQnKA== Subject: [PATCH RFC 0/7] Use Maple Trees for simple_offset utilities From: Chuck Lever <cel@kernel.org> To: viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, hughd@google.com, akpm@linux-foundation.org, Liam.Howlett@oracle.com, oliver.sang@intel.com, feng.tang@intel.com Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, maple-tree@lists.infradead.org, linux-mm@kvack.org, lkp@intel.com Date: Tue, 13 Feb 2024 16:37:17 -0500 Message-ID: <170785993027.11135.8830043889278631735.stgit@91.116.238.104.host.secureserver.net> User-Agent: StGit/1.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790821287100936905 X-GMAIL-MSGID: 1790821287100936905 |
Series |
Use Maple Trees for simple_offset utilities
|
|
Message
Chuck Lever
Feb. 13, 2024, 9:37 p.m. UTC
In an effort to address slab fragmentation issues reported a few months ago, I've replaced the use of xarrays for the directory offset map in "simple" file systems (including tmpfs). This patch set passes functional testing and is ready for code review. But I don't have the facilities to re-run the performance tests that identified the regression. We expect the performance of this implementation will need additional improvement. Thanks to Liam Howlett for helping me get this working. --- Chuck Lever (6): libfs: Rename "so_ctx" libfs: Define a minimum directory offset libfs: Add simple_offset_empty() maple_tree: Add mtree_alloc_cyclic() libfs: Convert simple directory offsets to use a Maple Tree libfs: Re-arrange locking in offset_iterate_dir() Liam R. Howlett (1): test_maple_tree: testing the cyclic allocation fs/libfs.c | 125 +++++++++++++++++++++++-------------- include/linux/fs.h | 6 +- include/linux/maple_tree.h | 7 +++ lib/maple_tree.c | 93 +++++++++++++++++++++++++++ lib/test_maple_tree.c | 44 +++++++++++++ mm/shmem.c | 4 +- 6 files changed, 227 insertions(+), 52 deletions(-) -- Chuck Lever
Comments
> On Feb 13, 2024, at 4:37 PM, Chuck Lever <cel@kernel.org> wrote: > > In an effort to address slab fragmentation issues reported a few > months ago, I've replaced the use of xarrays for the directory > offset map in "simple" file systems (including tmpfs). > > This patch set passes functional testing and is ready for code > review. But I don't have the facilities to re-run the performance > tests that identified the regression. We expect the performance of > this implementation will need additional improvement. > > Thanks to Liam Howlett for helping me get this working. And note the patches are also available from: https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git in the simple-offset-maple branch. > --- > > Chuck Lever (6): > libfs: Rename "so_ctx" > libfs: Define a minimum directory offset > libfs: Add simple_offset_empty() > maple_tree: Add mtree_alloc_cyclic() > libfs: Convert simple directory offsets to use a Maple Tree > libfs: Re-arrange locking in offset_iterate_dir() > > Liam R. Howlett (1): > test_maple_tree: testing the cyclic allocation > > > fs/libfs.c | 125 +++++++++++++++++++++++-------------- > include/linux/fs.h | 6 +- > include/linux/maple_tree.h | 7 +++ > lib/maple_tree.c | 93 +++++++++++++++++++++++++++ > lib/test_maple_tree.c | 44 +++++++++++++ > mm/shmem.c | 4 +- > 6 files changed, 227 insertions(+), 52 deletions(-) > > -- > Chuck Lever > > -- Chuck Lever