[PATCH 0/5] zbd: drop 'sectors with data' accounting

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

 



When zonemode=zbd is specified, fio does 'sectors with data' accounting to
record the total number of sectors that have been written on a zoned block
device. This accounting has two issues:

1) The current implementation counts sectors with data per job, over the IO
   range of the job. So for a workload with multiple jobs with overlapping IO
   ranges, the number of sectors with data is overestimated as written sectors
   common to multiple jobs are counted multiple times.

2) Counting the total number of written sectors requires taking the zone lock of
   all zones in a job IO range. For a multi-job workload with overlapping IO
   ranges, this often leads to significant zone lock contention, resulting in
   some jobs starting doing IOs only after other jobs have completed their work
   (which looks like an apparent deadlock on startup).

This series addresses the issues by dropping the 'sectors with data' accounting.
The accounting is used only for two features: 1) randrw first IO direction
decision and 2) zone_reset_threshold ratio check. The first two patches modify
these two features to not rely on the 'sectors with data' accounting. The third
patch drops the 'sectors with data' accounting. The last two patches adjust test
cases and an fio example script for the zone_reset_threshold.

Shin'ichiro Kawasaki (5):
  zbd: refer file->last_start[] instead of sectors with data accounting
  zbd: calculate zone_reset_threshold ratio for device
  zbd: remove sectors with data accounting feature
  t/zbd: adjust test cases to zone_reset_threshold change
  example: adjust example to zone_reset_threshold change

 HOWTO.rst                                 |   7 +-
 examples/zbd-rand-write-zone-reset-gc.fio |  20 ++---
 examples/zbd-rand-write-zone-reset-gc.png | Bin 59186 -> 62974 bytes
 fio.1                                     |   7 +-
 t/zbd/test-zbd-support                    |  66 +++++++++++------
 zbd.c                                     |  85 +++-------------------
 zbd.h                                     |  10 +--
 7 files changed, 79 insertions(+), 116 deletions(-)

-- 
2.38.1




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux