140eaaa0 | 05-Jul-2018 |
Jim Harris <james.r.harris@intel.com> |
bdev: submit queued IO after disabling QoS
There's no reason to abort IO that have been queued due to QoS limits, when QoS is switched from enabled to disabled. Submit them to the bdev instead.
Fi
bdev: submit queued IO after disabling QoS
There's no reason to abort IO that have been queued due to QoS limits, when QoS is switched from enabled to disabled. Submit them to the bdev instead.
Fixes issue #357.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: If5eafc53418ac686120e1d6a1da884b42cef845e
Reviewed-on: https://review.gerrithub.io/418128 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Seth Howell <seth.howell5141@gmail.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
5dcd6f63 | 29-Jun-2018 |
Ben Walker <benjamin.walker@intel.com> |
test: Move poller test to the thread unit test
This is the more appropriate location for this test
Change-Id: If556b365975f5658a55924aeb7122186961972bd Signed-off-by: Ben Walker <benjamin.walker@in
test: Move poller test to the thread unit test
This is the more appropriate location for this test
Change-Id: If556b365975f5658a55924aeb7122186961972bd Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/417365 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
2fac05e9 | 29-Jun-2018 |
Ben Walker <benjamin.walker@intel.com> |
test: Fix inaccurate mock of poller behavior
This exposes that one of the tests was not expecting the correct behavior, so also fix that.
Change-Id: Idb73b3ea74950b2e6f959a40e5740375cb76b8c7 Signed
test: Fix inaccurate mock of poller behavior
This exposes that one of the tests was not expecting the correct behavior, so also fix that.
Change-Id: Idb73b3ea74950b2e6f959a40e5740375cb76b8c7 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/417364 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
86947c89 | 21-Jun-2018 |
Seth Howell <seth.howell@intel.com> |
bdev: encapsulate private members of spdk_bdev
Change-Id: Ica5abcfe5f9b73217e2d91c33c2cd418e061cf96 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/416458
bdev: encapsulate private members of spdk_bdev
Change-Id: Ica5abcfe5f9b73217e2d91c33c2cd418e061cf96 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/416458 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
e550391d | 20-Jun-2018 |
Seth Howell <seth.howell@intel.com> |
bdev: move link to spdk_bdev_io internal struct
I missed this one in the initial series.
Change-Id: Id4dc7574a04cd964455852f1a00084b65ab989b3 Signed-off-by: Seth Howell <seth.howell@intel.com> Revi
bdev: move link to spdk_bdev_io internal struct
I missed this one in the initial series.
Change-Id: Id4dc7574a04cd964455852f1a00084b65ab989b3 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/416253 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
9f583911 | 11-Jun-2018 |
Jim Harris <james.r.harris@intel.com> |
bdev: add INI config file options for bdev_io parameters
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I10bd5cab8789b8cf4d8fd9cb848cede8372be45e
Reviewed-on: https://review.gerrit
bdev: add INI config file options for bdev_io parameters
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I10bd5cab8789b8cf4d8fd9cb848cede8372be45e
Reviewed-on: https://review.gerrithub.io/414712 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
34de1542 | 11-Jun-2018 |
Jim Harris <james.r.harris@intel.com> |
test/bdev: use DEFINE_STUB for spdk_conf_* stubs
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I2165bdb1c2dc08d790aa6dc63a8367c7a1a3bc4d
Reviewed-on: https://review.gerrithub.io/4
test/bdev: use DEFINE_STUB for spdk_conf_* stubs
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I2165bdb1c2dc08d790aa6dc63a8367c7a1a3bc4d
Reviewed-on: https://review.gerrithub.io/414711 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
7191c4bd | 05-Jun-2018 |
GangCao <gang.cao@intel.com> |
bdev/qos: add the bandwidth rate limit control
This patch is to add the core control policy for the bandwidth rate limit (max bytes per second). Change the existing functions for a common name and s
bdev/qos: add the bandwidth rate limit control
This patch is to add the core control policy for the bandwidth rate limit (max bytes per second). Change the existing functions for a common name and specially handle the case when IOPS and bandwidth rate limiting are both enabled.
Change-Id: I9f4565958d472559ef6d8bea52b1fe2a5f3c8969 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.gerrithub.io/413821 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
8da7772a | 04-Jun-2018 |
GangCao <gang.cao@intel.com> |
bdev/qos: add the configuration parse of bandwidth rate limiting
To support the bandwidth rate limiting besides the IOPS rate limiting, this patch is to add the support of the configuration parse. T
bdev/qos: add the configuration parse of bandwidth rate limiting
To support the bandwidth rate limiting besides the IOPS rate limiting, this patch is to add the support of the configuration parse. The format will be as following to have a 10 (10M) on the Malloc0 bdev. The default unit is in MB.
Limit_BWPS Malloc0 10
Change-Id: I62d70391ccad7804e6673ec56a3ed1cb0a4fbbd4 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.gerrithub.io/413652 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
aac1f5f9 | 06-Apr-2018 |
Ben Walker <benjamin.walker@intel.com> |
bdev: Make the QoS channel use a regular channel
This makes a number of things much simpler and eliminates the need for upcoming proposed reset handling.
Change-Id: I23a6badd0873f6dcf38ba1e55bf18d8
bdev: Make the QoS channel use a regular channel
This makes a number of things much simpler and eliminates the need for upcoming proposed reset handling.
Change-Id: I23a6badd0873f6dcf38ba1e55bf18d846c2843df Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/407357 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
cc8bb51b | 04-May-2018 |
Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> |
bdev: rename bdev_module_channel to bdev_shared_resource
It doesn't represent an io_channel, so lets rename it to something less confusing.
Change-Id: I730eb0ff0eb7737a59c190812a25b327ccd8fc14 Sugg
bdev: rename bdev_module_channel to bdev_shared_resource
It doesn't represent an io_channel, so lets rename it to something less confusing.
Change-Id: I730eb0ff0eb7737a59c190812a25b327ccd8fc14 Suggested-by: Ben Walker <benjamin.walker@intel.com> Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/409998 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
bfb73837 | 04-May-2018 |
Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> |
ut/bdev_mt: add test case for ENOMEM handling with multiple io targets
Bdev layer has been recently refactored to share internal module channels for *all* bdevs of the same bdev module. This makes u
ut/bdev_mt: add test case for ENOMEM handling with multiple io targets
Bdev layer has been recently refactored to share internal module channels for *all* bdevs of the same bdev module. This makes us return ENOMEM for I/O of one bdev if another bdev of the same module (nvme, split, etc) is entirely saturated. This is not the behavior we want, as these bdevs may not have anything in common.
This `issue` has been fixed just now, but to prevent it coming back again lets add a unit test for it.
This test case creates two bdevs using two separate io_devices and checks if ENOMEM handling is somehow common for these two. It must not be.
Change-Id: Ic32ef4b4347b8856d4b9f91107e6f188ad67978e Suggested-by: Ben Walker <benjamin.walker@intel.com> Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/409997 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
fa68a0fd | 24-Apr-2018 |
Ben Walker <benjamin.walker@intel.com> |
bdev: Make QoS structure a separate allocation
Future changes will rely on the ability to atomically swap this data structure out.
Change-Id: I77b93252df63155692271b5665cc040cb83a33d0 Signed-off-by
bdev: Make QoS structure a separate allocation
Future changes will rely on the ability to atomically swap this data structure out.
Change-Id: I77b93252df63155692271b5665cc040cb83a33d0 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/409224 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
e18d2b76 | 27-Apr-2018 |
Ben Walker <benjamin.walker@intel.com> |
bdev/qos: Add unit tests for spdk_bdev_set_qos_limit_iops
These won't cover race conditions across threads, but at least we have something to test the behavior.
Change-Id: I8e620d2076fe7a3d95df668f
bdev/qos: Add unit tests for spdk_bdev_set_qos_limit_iops
These won't cover race conditions across threads, but at least we have something to test the behavior.
Change-Id: I8e620d2076fe7a3d95df668fda4bee49b6d0afa7 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/409343 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
7a8c3095 | 10-Apr-2018 |
Ben Walker <benjamin.walker@intel.com> |
bdev: Move QoS parameters into separate struct
The QoS parameters are only used from the QoS thread, so gather them together in a struct pointed to by the bdev.
Change-Id: I91005f1d00205217a189d1eb
bdev: Move QoS parameters into separate struct
The QoS parameters are only used from the QoS thread, so gather them together in a struct pointed to by the bdev.
Change-Id: I91005f1d00205217a189d1ebacdb55782814f247 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/407356 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
2e1dbc45 | 10-Apr-2018 |
Ben Walker <benjamin.walker@intel.com> |
bdev: Fix race condition when testing whether QoS is enabled
When testing whether QoS is enabled, the code previously checked mutable values in the bdev itself. Instead, it needs to check the flag i
bdev: Fix race condition when testing whether QoS is enabled
When testing whether QoS is enabled, the code previously checked mutable values in the bdev itself. Instead, it needs to check the flag in the channel.
Right now, QoS can only be configured statically when the bdev is created. This means that no channels will exist prior to QoS being turned on, which simplifies setting the per-channel flag (only need to set it when a channel is created).
Change-Id: I59e56c64c18c262cc2a7f71a6dde8329edb35db7 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/407354 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: GangCao <gang.cao@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
d859e3cc | 11-Apr-2018 |
Ben Walker <benjamin.walker@intel.com> |
bdev: Remove implementation assumptions from QoS unit test
This will allow a bit of internal refactoring to occur without breaking the unit test.
Change-Id: Id7da6b14e9cd4cab5fc4dc004b5858dbbb34bc3
bdev: Remove implementation assumptions from QoS unit test
This will allow a bit of internal refactoring to occur without breaking the unit test.
Change-Id: Id7da6b14e9cd4cab5fc4dc004b5858dbbb34bc3a Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/407366 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: GangCao <gang.cao@intel.com>
show more ...
|
a4a497d5 | 10-Apr-2018 |
paul luse <paul.e.luse@intel.com> |
bdev: add new optional bdev i/f entry point
Add new optional bdev module interface function, init_complete, to notify bdev modules when the bdev subsystem initialization is complete. Useful for virt
bdev: add new optional bdev i/f entry point
Add new optional bdev module interface function, init_complete, to notify bdev modules when the bdev subsystem initialization is complete. Useful for virtual bdevs that require notification that the set of initialization examine() calls is complete.
Change-Id: I0997fb5749d430f2fd3a40172ec8a1d5caa96964 Signed-off-by: paul luse <paul.e.luse@intel.com> Reviewed-on: https://review.gerrithub.io/407222 Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
ce6a7cd8 | 04-Apr-2018 |
Seth Howell <seth.howell@intel.com> |
test/bdev/mt free unregistered bdevs after polling.
This unit test operated under the assumption that one could immediately free a bdev after calling spdk_bdev_unregister. This assumption is broken
test/bdev/mt free unregistered bdevs after polling.
This unit test operated under the assumption that one could immediately free a bdev after calling spdk_bdev_unregister. This assumption is broken when we moved the actual destroy call to an asynchronous callback to spdk_io_device_unregister.
Change-Id: I92d34f7e2e2993bfe9391f9bb72e08128dec74f4 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/406429 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
61e8486c | 28-Dec-2017 |
GangCao <gang.cao@intel.com> |
bdev/qos: add the QoS setting in conf file
For application like vhost/iSCSI target/NVMe-oF target/etc, a new section as below can be added for the QoS rate limiting.
[QoS] Limit_IOPS Malloc0 1000
bdev/qos: add the QoS setting in conf file
For application like vhost/iSCSI target/NVMe-oF target/etc, a new section as below can be added for the QoS rate limiting.
[QoS] Limit_IOPS Malloc0 100000 Limit_IOPS Nvme0n1 500000
Also added a sample change at test/lib/bdev/bdev.conf.in
Change-Id: I7c7d951fbe1352ca2571f135c657bc4fa43b56c7 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.gerrithub.io/393221 Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
310f324e | 28-Dec-2017 |
GangCao <gang.cao@intel.com> |
bdev/qos: add the support to reset QoS bdev channel
As there is no I/O channel associated with the QoS bdev channel, add the specific functions to handle the reset operation on the QoS bdev channel.
bdev/qos: add the support to reset QoS bdev channel
As there is no I/O channel associated with the QoS bdev channel, add the specific functions to handle the reset operation on the QoS bdev channel. The reset operation will be conducted on the QoS thread.
Related UT code on QoS with reset operation was also included.
Change-Id: Ibba68ddb132fa926fec6327829157b43ac806713 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.gerrithub.io/393181 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
899eb5f1 | 22-Mar-2018 |
Seth Howell <seth.howell@intel.com> |
test: move ut_multithread.c to common/lib
Change-Id: Ied7da08503b52470dbb8bb77eee1a711f41e7f28 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/404977 Test
test: move ut_multithread.c to common/lib
Change-Id: Ied7da08503b52470dbb8bb77eee1a711f41e7f28 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/404977 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
c9fb57a2 | 22-Mar-2018 |
Seth Howell <seth.howell@intel.com> |
test: move test_env.c under test/common/lib
This file is accessed by files in multiple directories under test.
Change-Id: I634481fb58eab5c097aaece5289f88e531954fcb Signed-off-by: Seth Howell <seth.
test: move test_env.c under test/common/lib
This file is accessed by files in multiple directories under test.
Change-Id: I634481fb58eab5c097aaece5289f88e531954fcb Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/404976 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
5ffa5c00 | 22-Feb-2018 |
Pawel Wodkowski <pawelx.wodkowski@intel.com> |
bdev: introduce 'get_bdevs_config' RPC call
Write information needed to recreate each bdev.
Change-Id: I3d2b24fd4aaa8b98ec558d864cc28b55a899452f Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@int
bdev: introduce 'get_bdevs_config' RPC call
Write information needed to recreate each bdev.
Change-Id: I3d2b24fd4aaa8b98ec558d864cc28b55a899452f Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Reviewed-on: https://review.gerrithub.io/401217 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
d4ef1338 | 09-Mar-2018 |
Daniel Verkamp <daniel.verkamp@intel.com> |
bdev: make QoS channel management thread safe
We must hold bdev->mutex around all QoS channel manipulations, not just channel_count; otherwise, there are race conditions.
Change-Id: I6183aef83f4d57
bdev: make QoS channel management thread safe
We must hold bdev->mutex around all QoS channel manipulations, not just channel_count; otherwise, there are race conditions.
Change-Id: I6183aef83f4d5789bded426a1832e3faaa688363 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/403367 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|