Skip to content

Commit

Permalink
t/zbd: Add test axboe#58 to test zone reset by trim workload
Browse files Browse the repository at this point in the history
To exercise zone reset by trim workload, add the test case axboe#58. As the
precondition, it fills several zones. After that, a trim job and a write
job run in parallel for 30 seconds. The ratio of trim commands and write
commands is controlled by --flow option.

Signed-off-by: Shin'ichiro Kawasaki <[email protected]>
Tested-by: Dmitry Fomichev <[email protected]>
Reviewed-by: Dmitry Fomichev <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
kawasaki authored and axboe committed Aug 6, 2021
1 parent 2455851 commit faff87e
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions t/zbd/test-zbd-support
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,32 @@ test57() {
>> "${logfile}.${test_number}" 2>&1 || return $?
}

# Random writes and random trims to sequential write required zones for 30s.
test58() {
local off size bs

require_seq_zones 128 || return $SKIP_TESTCASE

size=$((zone_size * 128))
bs="$(max $((zone_size / 128)) "$logical_block_size")"
prep_write
off=$((first_sequential_zone_sector * 512))
run_fio --zonemode=zbd --direct=1 --zonesize="${zone_size}" --thread=1 \
--filename="${dev}" --norandommap=1 \
--name="precondition" --rw=write "$(ioengine "psync")" \
--offset="${off}" --size=$((zone_size * 16)) --bs="${bs}" \
"${job_var_opts[@]}" \
--name=wjob --wait_for="precondition" --rw=randwrite \
"$(ioengine "libaio")" --iodepth=8 \
--offset="${off}" --size="${size}" --bs="${bs}" \
--time_based --runtime=30s --flow=128 "${job_var_opts[@]}" \
--name=trimjob --wait_for="precondition" --rw=randtrim \
"$(ioengine "psync")" \
--offset="${off}" --size="${size}" --bs="${zone_size}" \
--time_based --runtime=30s --flow=1 "${job_var_opts[@]}" \
>>"${logfile}.${test_number}" 2>&1
}

SECONDS=0
tests=()
dynamic_analyzer=()
Expand Down

0 comments on commit faff87e

Please sign in to comment.