Re: [PATCH v3 6/8] block/null_blk: Add support for pipelining zoned writes

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

 



On 6/27/22 16:43, Bart Van Assche wrote:
> Add a new configfs attribute for enabling pipelining of zoned writes. If
> that attribute has been set, retry zoned writes that are not aligned with
> the write pointer. The test script below reports 244 K IOPS with no I/O
> scheduler, 5.79 K IOPS with mq-deadline and pipelining disabled and 79.6 K
> IOPS with mq-deadline and pipelining enabled. This shows that pipelining
> results in about 14 times more IOPS for this particular test case.
> 
>      #!/bin/bash
> 
>      for mode in "none 0" "mq-deadline 0" "mq-deadline 1"; do
>          set +e
>          for d in /sys/kernel/config/nullb/*; do
>              [ -d "$d" ] && rmdir "$d"
>          done
>          modprobe -r null_blk
>          set -e
>          read -r iosched pipelining <<<"$mode"
>          modprobe null_blk nr_devices=0
>          (
>              cd /sys/kernel/config/nullb
>              mkdir nullb0
>              cd nullb0
>              params=(
>                  completion_nsec=100000
>                  hw_queue_depth=64
>                  irqmode=2                # NULL_IRQ_TIMER
>                  max_sectors=$((4096/512))
>                  memory_backed=1
>                  pipeline_zoned_writes="${pipelining}"
>                  size=1
>                  submit_queues=1
>                  zone_size=1
>                  zoned=1
>                  power=1
>              )
>              for p in "${params[@]}"; do
>                  echo "${p//*=}" > "${p//=*}"
>              done
>          )
>          udevadm settle
>          dev=/dev/nullb0
>          [ -b "${dev}" ]
>          params=(
>              --direct=1
>              --filename="${dev}"
>              --iodepth=64
>              --iodepth_batch=16
>              --ioengine=io_uring
>              --ioscheduler="${iosched}"
>              --gtod_reduce=1
>              --hipri=0
>              --name=nullb0
>              --runtime=30
>              --rw=write
>              --time_based=1
>              --zonemode=zbd
>          )
>          fio "${params[@]}"
>      done
> 

Is it possible to move this into the blktests ?

-ck





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux