Spdk/lib/bdev
GangCao 868c28cd13 QoS/Bdev: add the RPC support for the bandwidth rate limit
This patch added the support of RPC method to enable,
adjust, disable the bandwidth rate limit on the bdev.

And it can work together with the existing IOPS rate limit.

The RPC method has been consolidated to support both IOPS
and bandwidth rate limits as below:

usage:
rpc.py set_bdev_qos_limit [-h]
                          [--rw_ios_per_sec RW_IOS_PER_SEC]
                          [--rw_mbytes_per_sec RW_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.

Change-Id: I9c03cd635280add01801a81c6a6c02f0cf85bee1
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/416511
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ziye Yang <optimistyzy@gmail.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-10-09 18:26:44 +00:00
..
aio thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
crypto spdk: fix check_format.sh 2018-10-05 16:02:48 +00:00
error bdev_split: add support for bdev_io_wait when no memory to submit 2018-10-04 23:27:13 +00:00
gpt bdev_split: add support for bdev_io_wait when no memory to submit 2018-10-04 23:27:13 +00:00
iscsi iscsi: free lun after bdev_destruct_done returns 2018-09-10 21:08:39 +00:00
lvol lvolstore: Modify vbdev_lvol to use io_unit size instead of page size 2018-09-14 22:46:27 +00:00
malloc bdev/malloc: remove blocklen power of 2 restriction 2018-08-15 17:36:00 +00:00
null thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
nvme mk: don't use '-include spdk/config.h' 2018-10-02 23:13:32 +00:00
passthru vbdev_passthru: add support for bdev_io_wait 2018-09-25 17:56:39 +00:00
pmem thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
raid bdev/raid: raid_bdev_add_base_devices: fix wrong param of spdk_strerror 2018-10-04 21:39:40 +00:00
rbd bdev/rbd: fix memory leak and spdk_io_device_register fail 2018-09-05 19:26:24 +00:00
rpc QoS/Bdev: add the RPC support for the bandwidth rate limit 2018-10-09 18:26:44 +00:00
split bdev_split: add support for bdev_io_wait when no memory to submit 2018-10-04 23:27:13 +00:00
virtio thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
bdev.c QoS/Bdev: add the RPC support for the bandwidth rate limit 2018-10-09 18:26:44 +00:00
Makefile CONFIG: add missing CONFIG_ options 2018-10-04 21:31:42 +00:00
part.c bdev_split: add support for bdev_io_wait when no memory to submit 2018-10-04 23:27:13 +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