Re: [PATCH 3/9] xfs: convert buffer cache to use high order folios

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 20, 2024 at 07:12:36PM -0700, Darrick J. Wong wrote:
> On Tue, Mar 19, 2024 at 02:41:27PM -0700, Christoph Hellwig wrote:
> > On Tue, Mar 19, 2024 at 02:38:27PM -0700, Darrick J. Wong wrote:
> > > 64k is the maximum xattr value size, yes.  But remote xattr value blocks
> > > now have block headers complete with owner/uuid/magic/etc.  Each block
> > > can only store $blksz-56 bytes now.  Hence that 64k value needs
> > > ceil(65536 / 4040) == 17 blocks on a 4k fsb filesystem.
> > 
> > Uggg, ok.  I thought we'd just treat remote xattrs as data and don't
> > add headers.  That almost asks for using vmalloc if the size is just
> > above a a power of two.
> > 
> > > Same reason.  Merkle tree blocks are $blksz by default, but storing a
> > > 4096 blob in the xattrs requires ceil(4096 / 4040) == 2 blocks.  Most of
> > > that second block is wasted.
> > 
> > *sad panda face*.  We should be able to come up with something
> > better than that..
> 
> Well xfs_verity.c could just zlib/zstd/whatever compress the contents
> and see if that helps.  We only need a ~2% compression to shrink to a
> single 4k block, a ~1% reduction for 64k blocks, or a 6% reduction for
> 1k blocks.

...or we just turn off the attr remote header for XFS_ATTR_VERITY merkle
tree block values and XOR i_ino, merkle_pos, and the fs uuid into the
first 32 bytes.

--D

> --D
> 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux