On Mon, Mar 11, 2024 at 07:43:20PM -0700, Eric Biggers wrote: > On Mon, Mar 11, 2024 at 08:25:05AM -0700, Darrick J. Wong wrote: > > > > > I wonder, what are the access patterns for merkle blobs? Is it actually > > > > > sequential, or is more like 0 -> N -> N*N as we walk towards leaves? > > > > > > I think the leaf level (i.e. individual record) access patterns > > > largely match data access patterns, so I'd just treat it like as if > > > it's a normal file being accessed.... > > > > <nod> The latest version of this tries to avoid letting reclaim take the > > top of the tree. Logically this makes sense to me to reduce read verify > > latency, but I was hoping Eric or Andrey or someone with more > > familiarity with fsverity would chime in on whether or not that made > > sense. > > The levels are stored ordered from root to leaf; they aren't interleaved. So > technically the overall access pattern isn't sequential, but it is sequential > within each level, and the leaf level is over 99% of the accesses anyway > (assuming the default parameters where each block has 128 children). <nod> > It makes sense to try to keep the top levels, i.e. the blocks with the lowest > indices, cached. (The other filesystems that support fsverity currently aren't > doing anything special to treat them differently from other pagecache pages.) <nod> --D > - Eric >