HomeFreeBSD

Single IO issue for raidz writes with skip sector

Description

Single IO issue for raidz writes with skip sector

In order to reduce contention on the vq_lock, optional skip sectors
for Raidz writes can be placed into a single IO request. This is done by
padding out the linear ABD for a parity column to contain the skip
sector and by creating gang ABD to contain the data and skip sector for
data columns.

The vdev_raidz_map_alloc() function now contains specific functions for
both reads and write to allocate the ABD's that will be issued down to
the VDEV chldren.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-By: Mark Maybee <mark.maybee@delphix.com>
Signed-off-by: Brian Atkinson <batkinson@lanl.gov>
Closes #12333

Details

Provenance
Brian Atkinson <batkinson@lanl.gov>Authored on Nov 9 2021, 7:51 PM
GitHub <noreply@github.com>Committed on Nov 9 2021, 7:51 PM
Parents
rG453c63e9b74c: Linux 5.16 compat: submit_bio()
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rG345196be182a: Single IO issue for raidz writes with skip sector (authored by Brian Atkinson <batkinson@lanl.gov>).Nov 9 2021, 7:51 PM