1#!/usr/bin/env bash 2# SPDX-License-Identifier: BSD-3-Clause 3# Copyright (C) 2018 Intel Corporation 4# All rights reserved. 5# 6 7testdir=$(readlink -f $(dirname $0)) 8rootdir=$(readlink -f $testdir/../../..) 9source $rootdir/test/common/autotest_common.sh 10 11truncate -s 64M $testdir/aio.bdev 12 13$rootdir/test/app/bdev_svc/bdev_svc --wait-for-rpc & 14bdev_svc_pid=$! 15 16trap 'rm -f $testdir/bdevperf.json; rm -f $testdir/aio.bdev; killprocess $bdev_svc_pid; exit 1' SIGINT SIGTERM EXIT 17 18waitforlisten $bdev_svc_pid 19# Minimal number of bdev io pool (128) and cache (1) 20$rpc_py iobuf_set_options --small-pool-count 8192 --large-pool-count 1024 21$rpc_py bdev_set_options --bdev-io-pool-size 128 --bdev-io-cache-size 1 22$rpc_py framework_start_init 23$rpc_py bdev_aio_create $testdir/aio.bdev aio0 4096 24$rpc_py bdev_lvol_create_lvstore aio0 lvs0 25$rpc_py bdev_lvol_create -l lvs0 lvol0 32 26$rpc_py save_config > $testdir/bdevperf.json 27 28killprocess $bdev_svc_pid 29 30$rootdir/build/examples/bdevperf --json $testdir/bdevperf.json -q 128 -o 4096 -w write -t 5 -r /var/tmp/spdk.sock & 31bdev_perf_pid=$! 32waitforlisten $bdev_perf_pid 33$rpc_py bdev_enable_histogram aio0 -e 34sleep 2 35$rpc_py bdev_get_histogram aio0 | $rootdir/scripts/histogram.py 36$rpc_py bdev_enable_histogram aio0 -d 37wait $bdev_perf_pid 38 39$rootdir/build/examples/bdevperf --json $testdir/bdevperf.json -q 128 -o 4096 -w read -t 5 -r /var/tmp/spdk.sock & 40bdev_perf_pid=$! 41waitforlisten $bdev_perf_pid 42$rpc_py bdev_enable_histogram aio0 -e 43sleep 2 44$rpc_py bdev_get_histogram aio0 | $rootdir/scripts/histogram.py 45$rpc_py bdev_enable_histogram aio0 -d 46wait $bdev_perf_pid 47 48$rootdir/build/examples/bdevperf --json $testdir/bdevperf.json -q 128 -o 4096 -w unmap -t 1 49 50sync 51rm -f $testdir/bdevperf.json 52rm -f $testdir/aio.bdev 53trap - SIGINT SIGTERM EXIT 54