Spdk/doc
GangCao e28e247954 RPC/Bdev: display the per channel IO statistics for required Bdev
Add a new parameter "-c" to display the per channel IO statistics
for required Bdev

./scripts/rpc.py bdev_get_iostat -b Malloc0 -h
usage: rpc.py [options] bdev_get_iostat [-h] [-b NAME] [-c]

optional arguments:
  -h, --help            show this help message and exit
  -b NAME, --name NAME  Name of the Blockdev. Example: Nvme0n1
  -c, --per-channel     Display per channel IO stats for specified device

This could give more intuitive information on each channel's processing
of the IOs with the associated thread on the same Bdev.

Please also be aware that the IO statistics are collected from SPDK
thread's related channel's information. So that it is more relating
to the SPDK thread. And in the dynamic scheduling case, different
SPDK thread could be running on the same Core.

In this case, any seperate channel's IO statistics are returned to
the RPC call and if needed, further parse of the data is needed to
get the per Core information although usually there is one thread
per Core.

On the other hand, user could run the framework_get_reactors RPC
method to get the relationship of the thread and CPU Cores so as
to get the precise information of IO runnings on each thread and
each Core for the same Bdev.

Change-Id: I39d6a2c9faa868e3c1d7fd0fb6e7c020df982585
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13011
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-10-28 06:51:19 +00:00
..
img spdk_top: update spdk_top docs for spdk.io 2021-03-08 10:48:47 +00:00
.gitignore doc: add output directory to .gitignore 2018-06-19 07:15:50 +00:00
about.md Fix Markdown MD026 linter warnings - trailing punctuation in header 2020-02-17 10:07:21 +00:00
accel_fw.md doc/accel_fw: beautify two paragraph bash style 2022-10-05 10:23:55 +00:00
applications.md trace: update trace help inside SPDK target 2022-09-27 19:41:17 +00:00
bdev_module.md doc: remove mentions of legacy config 2020-10-22 17:08:41 +00:00
bdev_pg.md bdev: Add spdk_for_each_bdev/bdev_leaf for clean up and further improvements 2022-04-05 07:30:47 +00:00
bdev.md bdev/daos: add resize rpc call 2022-10-21 07:19:17 +00:00
bdevperf.md doc: cleanup bdevperf.py 2022-06-20 09:56:52 +00:00
blob.md doc/blob: replace htmlonly graphic with ASCII art 2022-02-02 08:25:02 +00:00
blobfs.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
ci_tools.md doc: Add page describing OS distros used by the CI 2021-09-20 10:48:56 +00:00
compression.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
concepts.md doc: Add concept page on submitting I/O to an NVMe device 2019-05-09 04:33:19 +00:00
concurrency.md markdownlint: enable rule MD046 2021-09-08 21:53:48 +00:00
containers.md doc/container: display spdk-docker-suite in doc 2022-03-09 08:01:38 +00:00
distributions.md doc/distributions: update doc according to the recent changes 2022-10-13 07:51:32 +00:00
Doxyfile doc/nvmf: nvmf multipath documentation 2022-08-29 10:50:42 +00:00
driver_modules.md doc: add IDXD docs and changelog entry 2020-04-23 15:48:32 +00:00
event.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
footer.html doc: simplify HTML header and stylesheet 2017-04-28 13:13:48 -07:00
ftl.md FTL: Update documentation 2022-09-20 19:24:26 +00:00
gdb_macros.md spelling: doc 2021-11-30 09:05:19 +00:00
general.md doc: added scheduler framework documentation 2021-01-29 18:21:13 +00:00
getting_started.md doc: user --recursive in directions for cloning SPDK repo 2022-10-14 08:35:38 +00:00
header.html doc: Remove mobile responsiveness 2018-12-10 15:56:50 +00:00
idxd.md doc/idxd: update idxd docs regarding configs 2022-05-23 19:51:23 +00:00
index.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
intro.md deprecation: add a file to gather all deprecation notices 2021-04-26 06:55:03 +00:00
ioat.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
iscsi.md spelling: doc 2021-11-30 09:05:19 +00:00
jsonrpc_proxy.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
jsonrpc.md RPC/Bdev: display the per channel IO statistics for required Bdev 2022-10-28 06:51:19 +00:00
libraries.md spelling: doc 2021-11-30 09:05:19 +00:00
lvol.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
Makefile doc/Makefile: include mk/spdk.common.mk 2018-06-19 17:29:06 +00:00
memory.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
misc.md doc/rpms: add reference to rpms doc page 2021-06-22 23:47:52 +00:00
notify.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
nvme_multipath.md doc/nvme_multipath: Suggest transport_ack_timeout for fast error detection 2022-09-21 07:52:44 +00:00
nvme_spec.md doc: correct explanation of NVMe SQ command submission 2021-01-25 12:52:08 +00:00
nvme.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
nvmf_multipath_howto.md doc: user --recursive in directions for cloning SPDK repo 2022-10-14 08:35:38 +00:00
nvmf_tgt_pg.md lib/nvmf: remove deprecated API 2021-03-18 14:43:08 +00:00
nvmf_tracing.md doc/nvmf_tracing: update some nvmf_trace lines according the latest codes 2022-09-09 12:58:21 +00:00
nvmf.md doc: user --recursive in directions for cloning SPDK repo 2022-10-14 08:35:38 +00:00
overview.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
peer_2_peer.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
performance_reports.md doc: SPDK NVMe Bdev 22.09 Performance Report 2022-10-28 06:16:00 +00:00
pkgconfig.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
porting.md markdownlint: enable rule MD046 2021-09-08 21:53:48 +00:00
prog_guides.md doc/notify: add missing links about notify 2019-05-07 06:11:45 +00:00
README.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
rpm.md doc/rpm: Add information about new functionality 2022-01-05 09:24:59 +00:00
scheduler.md scheduler.md: update static scheduler description 2022-10-21 07:33:06 +00:00
shfmt.md doc/shfmt: Add note about minimal version of Bash 2021-11-10 23:11:41 +00:00
sma.md doc: describe storage management agent 2022-05-20 09:16:54 +00:00
spdk_top.md markdownlint: enable rule MD032 2021-08-26 19:27:22 +00:00
spdkcli.md doc: cleanup spdkcli.py 2022-06-20 09:56:52 +00:00
ssd_internals.md doc: Rename directory_structure.md to overview.md 2019-05-09 04:33:19 +00:00
stylesheet.css doc: Remove mobile responsiveness 2018-12-10 15:56:50 +00:00
system_configuration.md spelling: doc 2021-11-30 09:05:19 +00:00
template_pg.md spelling: doc 2021-11-30 09:05:19 +00:00
tools.md test: remove spdk/nvme-cli references 2021-01-04 16:28:01 +00:00
two.min.js doc: Add license header to two.js source 2018-08-06 16:27:58 +00:00
usdt.md doc/usdt: update build section 2022-08-29 10:50:20 +00:00
user_guides.md doc: describe storage management agent 2022-05-20 09:16:54 +00:00
userspace.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
vagrant.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
vhost_processing.md doc/vhost: update Vhost-user link and terminology 2022-08-16 07:21:00 +00:00
vhost.md doc/vhost: remove vhost-nvme description 2021-12-23 08:33:24 +00:00
virtio.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
vmd.md vmd: rename enable_vmd RPC to vmd_enable 2022-09-01 08:48:32 +00:00

SPDK Documentation

The current version of the SPDK documentation can be found online at http://www.spdk.io/doc/

Building the Documentation

To convert the documentation into HTML run make in the doc directory. The output will be located in doc/output/html. Before running make ensure all pre-requisites are installed. See Installing Prerequisites for more details.