1b92d1877SPiotr Pelplinski#!/usr/bin/env bash 2eb53c232Spaul luse# SPDX-License-Identifier: BSD-3-Clause 3eb53c232Spaul luse# Copyright (C) 2018 Intel Corporation 4eb53c232Spaul luse# All rights reserved. 5eb53c232Spaul luse# 6b92d1877SPiotr Pelplinski 7b92d1877SPiotr Pelplinskitestdir=$(readlink -f $(dirname $0)) 8b92d1877SPiotr Pelplinskirootdir=$(readlink -f $testdir/../../..) 9b92d1877SPiotr Pelplinskisource $rootdir/test/common/autotest_common.sh 10b92d1877SPiotr Pelplinski 11b92d1877SPiotr Pelplinskitruncate -s 64M $testdir/aio.bdev 12b92d1877SPiotr Pelplinski 13b7db237dSTomasz Zawadzki$rootdir/test/app/bdev_svc/bdev_svc --wait-for-rpc & 14b92d1877SPiotr Pelplinskibdev_svc_pid=$! 15b92d1877SPiotr Pelplinski 16e4f8ec05Swanghailiangxtrap 'rm -f $testdir/bdevperf.json; rm -f $testdir/aio.bdev; killprocess $bdev_svc_pid; exit 1' SIGINT SIGTERM EXIT 17b92d1877SPiotr Pelplinski 18b92d1877SPiotr Pelplinskiwaitforlisten $bdev_svc_pid 19b7db237dSTomasz Zawadzki# Minimal number of bdev io pool (128) and cache (1) 20*92595a58SKonrad Sztyber$rpc_py iobuf_set_options --small-pool-count 8192 --large-pool-count 1024 21*92595a58SKonrad Sztyber$rpc_py bdev_set_options --bdev-io-pool-size 128 --bdev-io-cache-size 1 22b7db237dSTomasz Zawadzki$rpc_py framework_start_init 23acaa079bSMaciej Wawryk$rpc_py bdev_aio_create $testdir/aio.bdev aio0 4096 24de756853SMaciej Wawryk$rpc_py bdev_lvol_create_lvstore aio0 lvs0 25c57cd922SMaciej Wawryk$rpc_py bdev_lvol_create -l lvs0 lvol0 32 26b7db237dSTomasz Zawadzki$rpc_py save_config > $testdir/bdevperf.json 27b92d1877SPiotr Pelplinski 28b92d1877SPiotr Pelplinskikillprocess $bdev_svc_pid 29b92d1877SPiotr Pelplinski 3029784f35SKrzysztof Karas$rootdir/build/examples/bdevperf --json $testdir/bdevperf.json -q 128 -o 4096 -w write -t 5 -r /var/tmp/spdk.sock & 310656ba94SPiotr Pelplinskibdev_perf_pid=$! 320656ba94SPiotr Pelplinskiwaitforlisten $bdev_perf_pid 33ab6ce828SMaciej Wawryk$rpc_py bdev_enable_histogram aio0 -e 340656ba94SPiotr Pelplinskisleep 2 3511f6b773SMaciej Wawryk$rpc_py bdev_get_histogram aio0 | $rootdir/scripts/histogram.py 36ab6ce828SMaciej Wawryk$rpc_py bdev_enable_histogram aio0 -d 370656ba94SPiotr Pelplinskiwait $bdev_perf_pid 380656ba94SPiotr Pelplinski 3929784f35SKrzysztof Karas$rootdir/build/examples/bdevperf --json $testdir/bdevperf.json -q 128 -o 4096 -w read -t 5 -r /var/tmp/spdk.sock & 400656ba94SPiotr Pelplinskibdev_perf_pid=$! 410656ba94SPiotr Pelplinskiwaitforlisten $bdev_perf_pid 42ab6ce828SMaciej Wawryk$rpc_py bdev_enable_histogram aio0 -e 430656ba94SPiotr Pelplinskisleep 2 4411f6b773SMaciej Wawryk$rpc_py bdev_get_histogram aio0 | $rootdir/scripts/histogram.py 45ab6ce828SMaciej Wawryk$rpc_py bdev_enable_histogram aio0 -d 460656ba94SPiotr Pelplinskiwait $bdev_perf_pid 470656ba94SPiotr Pelplinski 4829784f35SKrzysztof Karas$rootdir/build/examples/bdevperf --json $testdir/bdevperf.json -q 128 -o 4096 -w unmap -t 1 49b92d1877SPiotr Pelplinski 50b92d1877SPiotr Pelplinskisync 51b7db237dSTomasz Zawadzkirm -f $testdir/bdevperf.json 52b7db237dSTomasz Zawadzkirm -f $testdir/aio.bdev 53b92d1877SPiotr Pelplinskitrap - SIGINT SIGTERM EXIT 54