linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>,
	Chandan Babu R <chandan.babu@oracle.com>,
	Matthew Wilcox <willy@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 4/5] xfs: convert perag lookup to xarray
Date: Thu, 22 Aug 2024 05:45:48 +0200	[thread overview]
Message-ID: <20240822034548.GD32681@lst.de> (raw)
In-Reply-To: <20240821162810.GF865349@frogsfrogsfrogs>

On Wed, Aug 21, 2024 at 09:28:10AM -0700, Darrick J. Wong wrote:
> On Wed, Aug 21, 2024 at 08:38:31AM +0200, Christoph Hellwig wrote:
> > Convert the perag lookup from the legacy radix tree to the xarray,
> > which allows for much nicer iteration and bulk lookup semantics.
> 
> Looks like a pretty straightforward covnersion.  Is there a good
> justification for converting the ici radix tree too?  Or is it too
> sparse to be worth doing?

radix trees and xarrays have pretty similar behavior related to
sparseness or waste of interior nodes due to it.  So unless we find a
better data structure for it, it would be worthwhile.

But the ici radix tree does pretty funny things in terms of also
protecting other fields with the lock synchronizing it, so the conversion
is fairly complicated and I don't feel like doing it right now, at least
no without evaluating if for example a rthashtable might actually be
the better data structure here.  The downside of the rthashtable is
that it doens't support tags/masks and isn't great for iteration, so it
might very much not be very suitable.


  reply	other threads:[~2024-08-22  3:45 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-21  6:38 convert XFS perag lookup to xarrays v2 Christoph Hellwig
2024-08-21  6:38 ` [PATCH 1/5] xfs: use kfree_rcu_mightsleep to free the perag structures Christoph Hellwig
2024-08-21 16:19   ` Darrick J. Wong
2024-08-22  3:42     ` Christoph Hellwig
2024-08-21  6:38 ` [PATCH 2/5] xfs: move the tagged perag lookup helpers to xfs_icache.c Christoph Hellwig
2024-08-21 16:34   ` Darrick J. Wong
2024-08-22  3:47     ` Christoph Hellwig
2024-08-28  6:28     ` Christoph Hellwig
2024-08-28 16:10       ` Darrick J. Wong
2024-08-29  3:48         ` Christoph Hellwig
2024-08-21  6:38 ` [PATCH 3/5] xfs: simplify tagged perag iteration Christoph Hellwig
2024-08-21 16:30   ` Darrick J. Wong
2024-08-21  6:38 ` [PATCH 4/5] xfs: convert perag lookup to xarray Christoph Hellwig
2024-08-21 16:28   ` Darrick J. Wong
2024-08-22  3:45     ` Christoph Hellwig [this message]
2024-08-27 22:51       ` Dave Chinner
2024-08-21  6:38 ` [PATCH 5/5] xfs: use xas_for_each_marked in xfs_reclaim_inodes_count Christoph Hellwig
2024-08-21 16:22   ` Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240822034548.GD32681@lst.de \
    --to=hch@lst.de \
    --cc=akpm@linux-foundation.org \
    --cc=chandan.babu@oracle.com \
    --cc=djwong@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).