Spdk/lib/bdev
GangCao 05b43152b2 QoS/Bdev: add RPC support for Read/Write separate bandwidth limits
This patch adds the RPC support for the Read/Write separate
bandwidth limit controls. The basic usage as following:

usage:
rpc.py set_bdev_qos_limit [-h] [--rw_ios_per_sec RW_IOS_PER_SEC]
                               [--rw_mbytes_per_sec RW_MBYTES_PER_SEC]
                               [--r_mbytes_per_sec R_MBYTES_PER_SEC]
                               [--w_mbytes_per_sec W_MBYTES_PER_SEC]
                               name

positional arguments:
  name       Blockdev name to set QoS. Example: Malloc0

optional arguments:
  -h, --help show this help message and exit
  --rw_ios_per_sec RW_IOS_PER_SEC
             R/W IOs per second limit (>=10000, example: 20000).
             0 means unlimited.
  --rw_mbytes_per_sec RW_MBYTES_PER_SEC
             R/W megabytes per second limit (>=10, example: 100).
             0 means unlimited.
  --r_mbytes_per_sec R_MBYTES_PER_SEC
             Read megabytes per second limit (>=10, example: 100).
             0 means unlimited.
  --w_mbytes_per_sec W_MBYTES_PER_SEC
             Write megabytes per second limit (>=10, example: 100).
             0 means unlimited.

Change-Id: I822ec4814d21adff9826ce03a6af3783b1b98f44
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/c/417650
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-01-22 23:21:43 +00:00
..
aio bdev_aio: enable double buffering on write path 2018-11-12 21:56:24 +00:00
crypto bdev/crypto: Set QAT alignment requirement 2019-01-18 09:49:13 +00:00
error bdev/error: remove an unnecessary "enabled" flag 2019-01-15 16:43:20 +00:00
gpt bdev/gpt: examine my_lba in primary header 2019-01-14 21:26:46 +00:00
iscsi bdev: Use not C++ style comments // but C-style comments /* */ 2018-10-31 22:01:47 +00:00
lvol lvol: make unique_id an array 2019-01-22 19:45:15 +00:00
malloc Make: Add deps for each shared obj individually 2018-10-09 21:45:26 +00:00
null thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
nvme nvme_rdma: Add source addr info to RPC 2018-12-20 17:31:43 +00:00
passthru bdev/passthru: unregister IO device in vbdev destruct callback 2018-11-16 07:47:55 +00:00
pmem pmem: print logs on debug build 2018-12-05 15:20:07 +00:00
raid bdev/raid: raid_bdev_add_base_device: fix wrong param in log 2018-11-02 22:19:02 +00:00
rbd bdev/rbd: full control over client configuration 2018-12-05 17:49:57 +00:00
rpc QoS/Bdev: add RPC support for Read/Write separate bandwidth limits 2019-01-22 23:21:43 +00:00
split bdev/split: use per-base split tailq 2018-11-28 22:51:30 +00:00
virtio bdev/virtio_blk: add unmap feature support 2019-01-12 03:15:37 +00:00
bdev.c QoS/Bdev: add the Read/Write separate bandwidth rate limits 2019-01-22 23:21:43 +00:00
Makefile CONFIG: add missing CONFIG_ options 2018-10-04 21:31:42 +00:00
part.c bdev/part: use spdk_bdev_part_base instead of spdk_bdev as an API param 2018-11-28 22:51:30 +00:00
scsi_nvme.c bdev: move error union to internal spdk_bdev_io struct 2018-06-26 20:04:07 +00:00
vtune.c mk: don't use '-include spdk/config.h' 2018-10-02 23:13:32 +00:00