HomeFreeBSD

ZIL: Improve next log block size prediction

Description

ZIL: Improve next log block size prediction

Track history in context of bursts, not individual log blocks. It
allows to not blow away all the history by single large burst of
many block, and same time allows optimizations covering multiple
blocks in a burst and even predicted following burst. For each
burst account its optimal block size and minimal first block size.
Use that statistics from the last 8 bursts to predict first block
size of the next burst.

Remove predefined set of block sizes. Allocate any size we see fit,
multiple of 4KB, as required by ZIL now. With compression enabled
by default, ZFS already writes pretty random block sizes, so this
should not surprise space allocator any more.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15635

Details

Provenance
mavAuthored on Dec 21 2023, 6:54 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Apr 19 2024, 5:13 PM
Parents
rG8b1a132de749: ZIO: Optimize zio_flush()
Branches
Unknown
Tags
Unknown