xref: /spdk/test/blobstore/blob_io_wait/blob_io_wait.sh (revision 9e06b192f4d1610dbb2fca97e06e2e844d49a623)
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