On Wed, 2020-05-27 at 08:22 +0200, Hannes Reinecke wrote: > Hi all, > > here's the second version of my patchset to support multiple zoned > drives with dm-zoned. > This patchset: > - Converts the zone array to using xarray for better scalability > - Separates out shared structures into per-device structure > - Enforce drive-locality for allocating and reclaiming zones > - Lifts the restriction of 2 devices to handle an arbitrary number > of drives. > > This gives me a near-perfect scalability by increasing the write > speed from 150MB/s (for a cache and one zoned drive) to 300MB/s > (for a cache and two zoned drives). Finished running 3 tests (2 hours each) for single drive, Optane SSD + single disk and Optane SSD + 2 disks. No problems detected. See the attached file for a plot of the results. I also get near perfect avergare performance scaling with the cache device from 185 MB/s with ssd+single disk to 367 MB/s with ssd+2 disks. And that is more than 10 times higher than the legacy single drive setup at 34 MB/s in average. > > Changes to v1: > - Include reviews from Damien > - Reshuffle patches > > Hannes Reinecke (15): > dm-zoned: add debugging message for reading superblocks > dm-zoned: secondary superblock must reside on the same devices than > primary superblock > dm-zoned: improve logging messages for reclaim > dm-zoned: add a 'reserved' zone flag > dm-zoned: convert to xarray > dm-zoned: temporary superblock for tertiary devices > dm-zoned: add device pointer to struct dm_zone > dm-zoned: add metadata pointer to struct dmz_dev > dm-zoned: allocate dm devices dynamically > dm-zoned: per-device reclaim > dm-zoned: move random and sequential zones into struct dmz_dev > dm-zoned: support arbitrary number of devices > dm-zoned: allocate zone by device index > dm-zoned: select reclaim zone based on device index > dm-zoned: prefer full zones for reclaim > > drivers/md/dm-zoned-metadata.c | 448 ++++++++++++++++++++++++----------------- > drivers/md/dm-zoned-reclaim.c | 95 +++++---- > drivers/md/dm-zoned-target.c | 169 ++++++++++------ > drivers/md/dm-zoned.h | 77 ++++--- > 4 files changed, 481 insertions(+), 308 deletions(-) > -- Damien Le Moal Western Digital Research