From 2871adf3248962047cf4f867da533bf362c5e0b9 Mon Sep 17 00:00:00 2001 From: wangbojing Date: Tue, 6 Aug 2024 14:35:59 +0000 Subject: [PATCH] add zv2404fs.c and fio --- Makefile | 14 +++++++++++ fio_script/bdev.fio | 18 ++++++++++++++ fio_script/io_uring.fio | 19 ++++++++++++++ fio_script/kingfs | Bin 0 -> 16384 bytes fio_script/libaio.fio | 19 ++++++++++++++ fio_script/nvme.fio | 18 ++++++++++++++ fio_script/psync.fio | 20 +++++++++++++++ fio_script/zvfs.json | 35 ++++++++++++++++++++++++++ zv2404fs.c | 54 ++++++++++++++++++++++++++++++++++++++++ 9 files changed, 197 insertions(+) create mode 100755 Makefile create mode 100755 fio_script/bdev.fio create mode 100755 fio_script/io_uring.fio create mode 100755 fio_script/kingfs create mode 100755 fio_script/libaio.fio create mode 100755 fio_script/nvme.fio create mode 100755 fio_script/psync.fio create mode 100755 fio_script/zvfs.json create mode 100755 zv2404fs.c diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..e721362 --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: BSD-3-Clause +# + +SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..) +include $(SPDK_ROOT_DIR)/mk/spdk.common.mk +include $(SPDK_ROOT_DIR)/mk/spdk.modules.mk + +APP = zvfs + +C_SRCS := zv2404fs.c + +SPDK_LIB_LIST = $(ALL_MODULES_LIST) event event_bdev + +include $(SPDK_ROOT_DIR)/mk/spdk.app.mk diff --git a/fio_script/bdev.fio b/fio_script/bdev.fio new file mode 100755 index 0000000..9e03025 --- /dev/null +++ b/fio_script/bdev.fio @@ -0,0 +1,18 @@ +[global] +ioengine=spdk_bdev +spdk_json_conf=/home/king/share/zvfs/fio_script/zvfs.json +thread=1 +direct=1 +time_based +runtime=10 +rw=randwrite +bs=16K +zonemode=zbd +max_open_zones=8 +initial_zone_reset=1 +zone_append=1 +iodepth=64 + +[test] +filename=Zone0 +numjobs=1 diff --git a/fio_script/io_uring.fio b/fio_script/io_uring.fio new file mode 100755 index 0000000..7211056 --- /dev/null +++ b/fio_script/io_uring.fio @@ -0,0 +1,19 @@ +[global] +thread=1 +group_reporting=1 +direct=1 +verify=0 +time_based=1 +runtime=10 +bs=16K +size=16384 +iodepth=64 +rw=randwrite +filename=kingfs +ioengine=io_uring + +[test] +stonewall +description="variable bs" +bs=16K + diff --git a/fio_script/kingfs b/fio_script/kingfs new file mode 100755 index 0000000000000000000000000000000000000000..56af6585d699adbfd45d50ee716972026091fa19 GIT binary patch literal 16384 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 M^EZzjo+X3-5142eBLDyZ literal 0 HcmV?d00001 diff --git a/fio_script/libaio.fio b/fio_script/libaio.fio new file mode 100755 index 0000000..09de1d7 --- /dev/null +++ b/fio_script/libaio.fio @@ -0,0 +1,19 @@ +[global] +thread=1 +group_reporting=1 +direct=1 +verify=0 +time_based=1 +runtime=10 +bs=16K +size=16384 +iodepth=64 +rw=randwrite +filename=kingfs +ioengine=libaio + +[test] +stonewall +description="variable bs" +bs=16K + diff --git a/fio_script/nvme.fio b/fio_script/nvme.fio new file mode 100755 index 0000000..fd119a3 --- /dev/null +++ b/fio_script/nvme.fio @@ -0,0 +1,18 @@ +[global] +thread=1 +group_reporting=1 +direct=1 +verify=0 +time_based=1 +ramp_time=10 +runtime=10 +bs=16K +size=16384 +iodepth=64 +rw=randwrite +ioengine=spdk + +[test] +numjobs=1 +filename=trtype=PCIe traddr=0000.03.00.0 ns=1 +bs=16k diff --git a/fio_script/psync.fio b/fio_script/psync.fio new file mode 100755 index 0000000..13618e7 --- /dev/null +++ b/fio_script/psync.fio @@ -0,0 +1,20 @@ + +[global] +thread=1 +group_reporting=1 +direct=1 +verify=0 +time_based=1 +runtime=10 +bs=16K +size=16384 +iodepth=64 +rw=randwrite +filename=kingfs +ioengine=psync + +[test] +stonewall +description="variable bs" +bs=16K + diff --git a/fio_script/zvfs.json b/fio_script/zvfs.json new file mode 100755 index 0000000..be22443 --- /dev/null +++ b/fio_script/zvfs.json @@ -0,0 +1,35 @@ +{ + "subsystems": [ + { + "subsystem": "bdev", + "config": [ + { + "method": "bdev_nvme_attach_controller", + "params": + { + "trtype": "PCIe", + "name":"Nvme0", + "traddr":"0000:03:00.0" + } + }, + { + "method": "bdev_malloc_create", + "params": { + "name": "Malloc0", + "num_blocks": 2097152, + "block_size": 512 + } + }, + { + "method": "bdev_zone_block_create", + "params": { + "base_bdev": "Malloc0", + "name": "Zone0", + "zone_capacity": 262144, + "optimal_open_zones": 8 + } + } + ] + } + ] +} diff --git a/zv2404fs.c b/zv2404fs.c new file mode 100755 index 0000000..fe90aad --- /dev/null +++ b/zv2404fs.c @@ -0,0 +1,54 @@ + + +#include + +#include +#include +#include +#include + + +void zv2404_spdk_bdev_event_cb(enum spdk_bdev_event_type type, struct spdk_bdev *bdev, + void *event_ctx) { + + printf("zv2404_spdk_bdev_event_cb\n"); + +} + + + + +static void zv2404fs_entry(void *ctx) { + + + struct spdk_bs_dev *bs_dev = NULL; + + int rc = spdk_bdev_create_bs_dev_ext("Malloc0", zv2404_spdk_bdev_event_cb, NULL, &bs_dev); + if (rc != 0) { + spdk_app_stop(0); + } + + + + printf("zv2404fs_entry\n"); + +} + + +int main(int argc, char *argv[]) { + + if (argc != 2) return -1; + + struct spdk_app_opts opts = {}; + + spdk_app_opts_init(&opts, sizeof(opts)); + opts.name = "zv2404fs"; + opts.json_config_file = argv[1]; + + spdk_app_start(&opts, zv2404fs_entry, NULL); + + printf("hello spdk\n"); + +} + +