Linux XFS filesystem development
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Chandan Babu R <chandan.babu@oracle.com>, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 5/5] xfs: embedd struct xfbtree into the owning structure
Date: Wed, 3 Jan 2024 23:22:00 -0800	[thread overview]
Message-ID: <20240104072200.GB361584@frogsfrogsfrogs> (raw)
In-Reply-To: <20240104071735.GB30339@lst.de>

On Thu, Jan 04, 2024 at 08:17:35AM +0100, Christoph Hellwig wrote:
> On Wed, Jan 03, 2024 at 11:14:54PM -0800, Darrick J. Wong wrote:
> > IIRC setting up the shrinker in xfs_alloc_buftarg_common takes some
> > shrinker lock somewhere, and lockdep complained about a potential
> > deadlock between the locks that scrub takes if I don't create the xfile
> > buftarg in the scrub _setup routines.  That's why it's not created
> > internally to the xfbtree.
> > 
> > I agree that it makes much more sense only to create those things when
> > they're actually needed, but ... hm.  Maybe we don't need the xfile
> > buftarg to be hooked up to the shrinkers, seeing as it's ephemeral
> > anyway?  That would save a lot of fuss and ...
> 
> Yes, once we move to a model where the buffer always points to
> the shmem page, and we remove the buffer lru for them as we already
> have the page LRU there is no point in having a shrinker at all.

Ok.  I'll move the shrinker stuff into the real buftarg creation
function.  This seems to have become a lot simpler now that the shrinker
is a pointer instead of embedded in the buftarg.

> > > naming and moving it out of scrub/ would make sense as the concept
> > > isn't really scrub/repair specific.  But if we want to stick with
> > > it I'd prefer to not also have _mem-based naming.
> > 
> > Yes, lets move it to libxfs/xfbtree.[ch].
> 
> What does the xf in the various scrubx/xf* thinks stand for, btw?
> Why not libxfs/xfs_btree_mem.[ch]?

"xfile btree".

--D

  reply	other threads:[~2024-01-04  7:22 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-03 20:38 RFC: in-memory btree simplifications Christoph Hellwig
2024-01-03 20:38 ` [PATCH 1/5] xfs: remove the in-memory btree header block Christoph Hellwig
2024-01-04  1:24   ` Darrick J. Wong
2024-01-04  6:27     ` Christoph Hellwig
2024-01-04 17:25       ` Darrick J. Wong
2024-01-03 20:38 ` [PATCH 2/5] xfs: remove struct xfboff_bitmap Christoph Hellwig
2024-01-03 20:38 ` [PATCH 3/5] xfs: remove bc_ino.flags Christoph Hellwig
2024-01-04  1:10   ` Darrick J. Wong
2024-01-03 20:38 ` [PATCH 4/5] xfs: factor out a xfs_btree_owner helper Christoph Hellwig
2024-01-04  1:14   ` Darrick J. Wong
2024-01-04  6:28     ` Christoph Hellwig
2024-01-03 20:38 ` [PATCH 5/5] xfs: embedd struct xfbtree into the owning structure Christoph Hellwig
2024-01-04  1:21   ` Darrick J. Wong
2024-01-04  6:32     ` Christoph Hellwig
2024-01-04  7:14       ` Darrick J. Wong
2024-01-04  7:17         ` Christoph Hellwig
2024-01-04  7:22           ` Darrick J. Wong [this message]
2024-01-04 19:28             ` Darrick J. Wong
2024-01-05  4:27               ` Christoph Hellwig

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=20240104072200.GB361584@frogsfrogsfrogs \
    --to=djwong@kernel.org \
    --cc=chandan.babu@oracle.com \
    --cc=hch@lst.de \
    --cc=linux-xfs@vger.kernel.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