CHANGELOG: Recent updates related with SPDK thread
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I51dfefe7ccba2c359bc22b3efd30139af8f6da27 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1797 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com>
This commit is contained in:
parent
3eb1aa934d
commit
74e5708b14
60
CHANGELOG.md
60
CHANGELOG.md
@ -20,14 +20,31 @@ has been replaced with the word `accel` short for accelerator in preparation for
|
|||||||
capabilities in the future. Additionally, APIs for what was previously called the `memcpy`
|
capabilities in the future. Additionally, APIs for what was previously called the `memcpy`
|
||||||
engine have been renamed to identify the engine as a software accelerator.
|
engine have been renamed to identify the engine as a software accelerator.
|
||||||
|
|
||||||
|
### event
|
||||||
|
|
||||||
|
Reactor now accumulates CPU stats and they are retrieved by the RPC `framework_get_reactors`.
|
||||||
|
|
||||||
|
### iSCSI
|
||||||
|
|
||||||
|
The iSCSI target now creates a lightweight thread per poll group instead of assuming a pool
|
||||||
|
of lightweight threads already exist at start up time. A poll group is a collection of
|
||||||
|
unrelated iSCSI connections. Each poll group is only accessed from the associated
|
||||||
|
lightweight thread.
|
||||||
|
|
||||||
### vmd
|
### vmd
|
||||||
|
|
||||||
A new function, `spdk_vmd_fini`, has been added. It releases all resources acquired by the VMD
|
A new function, `spdk_vmd_fini`, has been added. It releases all resources acquired by the VMD
|
||||||
library through the `spdk_vmd_init` call.
|
library through the `spdk_vmd_init` call.
|
||||||
|
|
||||||
### nvmf
|
### nvmf
|
||||||
|
|
||||||
`spdk_nvmf_poll_group_destroy()` is now asynchronous and accepts a completion callback.
|
`spdk_nvmf_poll_group_destroy()` is now asynchronous and accepts a completion callback.
|
||||||
|
|
||||||
|
The NVMe-oF target now creates a lightweight thread per poll group instead of assuming a pool
|
||||||
|
of lightweight threads already exist at start up time. A poll group is a collection of
|
||||||
|
unrelated NVMe-oF connections. Each poll group is only accessed from the associated
|
||||||
|
lightweight thread.
|
||||||
|
|
||||||
### Miscellaneous
|
### Miscellaneous
|
||||||
|
|
||||||
`--json-ignore-init-errors` command line param has been added to ignore initialization errors
|
`--json-ignore-init-errors` command line param has been added to ignore initialization errors
|
||||||
@ -40,7 +57,7 @@ exact same API.
|
|||||||
|
|
||||||
Support for AES_XTS was added for the QAT polled mode driver (pmd). The create RPC
|
Support for AES_XTS was added for the QAT polled mode driver (pmd). The create RPC
|
||||||
`bdev_crypto_create` has 2 new optional parameters: cipher and key2. Cipher can be either
|
`bdev_crypto_create` has 2 new optional parameters: cipher and key2. Cipher can be either
|
||||||
AES_CBC (default) or AES_XTS. AES_XTS isonly valid when using the QAT polled mode driver.
|
AES_CBC (default) or AES_XTS. AES_XTS is only valid when using the QAT polled mode driver.
|
||||||
The key2 parameter is the second key required for AES_XTS.
|
The key2 parameter is the second key required for AES_XTS.
|
||||||
|
|
||||||
### util
|
### util
|
||||||
@ -48,6 +65,47 @@ The key2 parameter is the second key required for AES_XTS.
|
|||||||
New functions `spdk_sn32_lt` and `spdk_sn32_gt` have been added. They compare two sequence
|
New functions `spdk_sn32_lt` and `spdk_sn32_gt` have been added. They compare two sequence
|
||||||
numbers based on serial number arithmetic.
|
numbers based on serial number arithmetic.
|
||||||
|
|
||||||
|
### rpc
|
||||||
|
|
||||||
|
A new RPC `thread_set_cpumask` has been added to set the cpumask of the thread
|
||||||
|
to the specified value.
|
||||||
|
|
||||||
|
A new RPC `thread_get_pollers` has been added to retrieve pollers of SPDK threads.
|
||||||
|
|
||||||
|
A new RPC `thread_get_io_channels` has been added to retrieve I/O channels of SPDK threads.
|
||||||
|
|
||||||
|
### thread
|
||||||
|
|
||||||
|
A new function `spdk_thread_lib_init_ext` has been added, and the function
|
||||||
|
`spdk_thread_lib_init` has been deprecated. The user of `spdk_thread_lib_init_ext` is
|
||||||
|
expected to implement both functions `spdk_thread_op_fn` and `spdk_thread_op_supported_fn`.
|
||||||
|
`spdk_thread_op_supported_fn` is called to check whether the SPDK thread operation
|
||||||
|
is supported. `spdk_thread_op_fn` is called to execute the SPDK thread operation.
|
||||||
|
Current SPDK operation types are `SPDK_THREAD_OP_NEW` and `SPDK_THREAD_OP_RESCHED`.
|
||||||
|
The operation `SPDK_THREAD_OP_NEW` is called each time a new thread is created.
|
||||||
|
The operation `SPDK_THREAD_OP_RESCHED` is called when SPDK thread needs to be rescheduled.
|
||||||
|
|
||||||
|
An unique ID has been added for each created SPDK thread, it is retrieved by a new function
|
||||||
|
`spdk_thread_get_id`, and the SPDK thread which has the specific ID is got by
|
||||||
|
a new function `spdk_thread_get_by_id`.
|
||||||
|
|
||||||
|
A new function `spdk_thread_cpumask` has been added to set the current thread's cpumask
|
||||||
|
to the specified value. The function requires the operation `SPDK_THREAD_OP_RESCHED`
|
||||||
|
is supported.
|
||||||
|
|
||||||
|
A new function `spdk_poller_register_named` has been added to set arbitrary name to the
|
||||||
|
created poller. If NULL, the name is set to the pointer of the poller function.
|
||||||
|
|
||||||
|
The function `spdk_thread_poll` now measures run time per call correctly on multiple SPDK
|
||||||
|
threads configuration, and a new function `spdk_thread_get_last_tsc` has been added to use together.
|
||||||
|
|
||||||
|
Voluntary termination of SPDK thread has been supported by refining the functions `spdk_thread_exit`
|
||||||
|
and `spdk_thread_poll`.
|
||||||
|
|
||||||
|
### vhost
|
||||||
|
|
||||||
|
Poll groups per session have been replaced by SPDK threads per vhost controller.
|
||||||
|
|
||||||
## v20.01
|
## v20.01
|
||||||
|
|
||||||
### bdev
|
### bdev
|
||||||
|
Loading…
Reference in New Issue
Block a user