|
Revision tags: v25.01-rc1, v24.09, v25.01-pre, v24.09-rc1 |
|
| #
a6867721 |
| 23-Jul-2024 |
Krzysztof Karas <krzysztof.karas@intel.com> |
lib/idxd: add DIX generate
Add spdk_idxd_submit_dix_generate() function to submit DIX generate operation to DSA. Additionally, enable support for this operation in accel_dsa module.
Change-Id: I99e
lib/idxd: add DIX generate
Add spdk_idxd_submit_dix_generate() function to submit DIX generate operation to DSA. Additionally, enable support for this operation in accel_dsa module.
Change-Id: I99e7c6d0441599fbac092e059ed6394882c51fb9 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Signed-off-by: Slawomir Ptak <slawomir.ptak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24312 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01 |
|
| #
355312bf |
| 26-Jan-2024 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
so_ver: increase all major versions after SPDK 24.01
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to preve
so_ver: increase all major versions after SPDK 24.01
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to prevent scenario where two versions exists with matching versions, but conflicting ABI. Ex. Next SPDK release adds an API call increasing the minor version, then LTS needs just a subset of those additions.
Increasing major so version after LTS, allows the future releases to update versions as needed. Yet allowing LTS to increase minor version separately.
This patch: - increases SO_VER by 1 for all components - resets SO_MINOR to 0 for all components
Due to patch below being introduced after v24.01 code freeze, bdev lib version should not be increased: 61623c5ca9 bdev: add spdk_bdev_io padding in place of io_submit_ch
Short reference to how the versions were changed: MAX=$(git grep "SO_VER := " | cut -d" " -f 3 | sort -ubnr | head -1) for((i=$MAX;i>0;i-=1)); do find . -name "Makefile" -exec \ sed -i -e "s/SO_VER := $i\$/SO_VER := $(($i+1))/g" {} +; done find . -name "Makefile" -exec \ sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I0166d6be6c17bbbf985d48b5dfcb36f1d4af1b48 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21582 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: v24.05-pre, v24.01-rc1 |
|
| #
3cac0518 |
| 28-Nov-2023 |
Krzysztof Sprzaczkowski <krzysztof.sprzaczkowski@intel.com> |
module/accel: Prevent double RPC call causes app crash (dsa_scan_accel_module)
Prevent double RPC call causes app crash for dsa_scan_accel_module
The RPC dsa_scan_accel_module method may be perform
module/accel: Prevent double RPC call causes app crash (dsa_scan_accel_module)
Prevent double RPC call causes app crash for dsa_scan_accel_module
The RPC dsa_scan_accel_module method may be performed to use the DSA Module. It should be called before starting the framework, but only the first call should take effect, next calls should provide relevant information for a user. In this fix will be an RPC error code with information that 'the operation is already in progress'.
Fixes issue #3174
Change-Id: I4dcf75afcf0987b68a03722a10fefb3a67ccd02d Signed-off-by: Krzysztof Sprzaczkowski <krzysztof.sprzaczkowski@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20786 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot
show more ...
|
|
Revision tags: v23.09, v24.01-pre, v23.09-rc1, v23.05, v23.09-pre, v23.01.1, v23.01 |
|
| #
3359bf34 |
| 23-Jan-2023 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
so_ver: increase all major versions
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to prevent scenario where
so_ver: increase all major versions
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to prevent scenario where two versions exists with matching versions, but conflicting ABI. Ex. Next SPDK release adds an API call increasing the minor version, then LTS needs just a subset of those additions.
Increasing major so version after LTS, allows the future releases to update versions as needed. Yet allowing LTS to increase minor version separately.
Disabled test for increasing SO version without ABI change, as that is goal of this patch. This check shall be removed with SPDK 23.05 release. Looks like this was left over from prior LTS, to avoid that make sure it is only skipped when running against v23.01.x as latest release.
This patch: - increases SO_VER by 1 for all components - resets SO_MINOR to 0 for all components - removes suppressions for ABI tests
Short reference to how the versions were changed: MAX=$(git grep "SO_VER := " | cut -d" " -f 3 | sort -ubnr | head -1) for((i=$MAX;i>0;i-=1)); do find . -name "Makefile" -exec \ sed -i -e "s/SO_VER := $i\$/SO_VER := $(($i+1))/g" {} +; done find . -name "Makefile" -exec \ sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +
Change-Id: I3e5681802c0a5ac6d7d652a18896997cd07cc8bf Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16419 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: v23.05-pre, v23.01-rc1, v22.01.2 |
|
| #
a6dbe372 |
| 01-Nov-2022 |
paul luse <paul.e.luse@intel.com> |
update Intel copyright notices
per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices.
git log --follow -C90% --format=%ad --date defa
update Intel copyright notices
per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices.
git log --follow -C90% --format=%ad --date default <file> | tail -1
and then pull just the 4 digit year from the result.
Intel copyrights were not added to files where Intel either had no contribution ot the contribution lacked substance (ie license header updates, formatting changes, etc). Contribution date used "--follow -C95%" to get the most accurate date.
Note that several files in this patch didn't end the license/(c) block with a blank comment line so these were added as the vast majority of files do have this last blank line. Simply there for consistency.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: Id5b7ce4f658fe87132f14139ead58d6e285c04d4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15192 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
|
Revision tags: v22.09, v23.01-pre, v22.09-rc1 |
|
| #
850cd900 |
| 22-Sep-2022 |
paul luse <paul.e.luse@intel.com> |
accel/idxd/iaa: Convert to use iovecs
In prep for upcoming iovec based compression/decompression patches.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: I413493f764bead9e56266e488b74f
accel/idxd/iaa: Convert to use iovecs
In prep for upcoming iovec based compression/decompression patches.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: I413493f764bead9e56266e488b74f8bca979e225 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14633 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
488570eb |
| 03-Jun-2022 |
Jim Harris <james.r.harris@intel.com> |
Replace most BSD 3-clause license text with SPDX identifier.
Many open source projects have moved to using SPDX identifiers to specify license information, reducing the amount of boilerplate code in
Replace most BSD 3-clause license text with SPDX identifier.
Many open source projects have moved to using SPDX identifiers to specify license information, reducing the amount of boilerplate code in every source file. This patch replaces the bulk of SPDK .c, .cpp and Makefiles with the BSD-3-Clause identifier.
Almost all of these files share the exact same license text, and this patch only modifies the files that contain the most common license text. There can be slight variations because the third clause contains company names - most say "Intel Corporation", but there are instances for Nvidia, Samsung, Eideticom and even "the copyright holder".
Used a bash script to automate replacement of the license text with SPDX identifier which is checked into scripts/spdx.sh.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Iaa88ab5e92ea471691dc298cfe41ebfb5d169780 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12904 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Dong Yi <dongx.yi@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: <qun.wan@intel.com>
show more ...
|
|
Revision tags: v22.05, v22.09-pre, v22.05-rc1, v22.01.1 |
|
| #
047c067c |
| 31-Jan-2022 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
so_ver: increase all major versions
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to prevent scenario where
so_ver: increase all major versions
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to prevent scenario where two versions exists with matching versions, but conflicting ABI. Ex. Next SPDK release adds an API call increasing the minor version, then LTS needs just a subset of those additions.
Increasing major so version after LTS, allows the future releases to update versions as needed. Yet allowing LTS to increase minor version separately.
Disabled test for increasing SO version without ABI change, as that is goal of this patch. This check shall be removed with SPDK 22.05 release.
This patch: - increases SO_VER by 1 for all components - resets SO_MINOR to 0 for all components - removes suppressions for ABI tests
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Id1a5358882dc496faa5b0b5c9a63b326c378c551 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11361 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
|
Revision tags: v22.01, v22.01-rc1 |
|
| #
fe705480 |
| 16-Nov-2021 |
Ben Walker <benjamin.walker@intel.com> |
idxd: Add support for vectored copy operations
Change-Id: Icb650129488b3cea76cf9082c02667f5b13b5ab4 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c
idxd: Add support for vectored copy operations
Change-Id: Icb650129488b3cea76cf9082c02667f5b13b5ab4 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10286 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
|
Revision tags: v21.10, v21.10-rc1, v21.07 |
|
| #
e5a19b3e |
| 23-Jul-2021 |
paul luse <paul.e.luse@intel.com> |
lib/idxd: replace bit arrays with lists
The bit arrays were used for dynamic flow control in a previous implementation. They are no longer needed as flow control is now static and managed solely in
lib/idxd: replace bit arrays with lists
The bit arrays were used for dynamic flow control in a previous implementation. They are no longer needed as flow control is now static and managed solely in the idxd plug in module. Use simple lists of descriptors and completion records instead.
This is a simpler implementation and will allow for some future clean up of structures as well.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: I8c4cce12e88ac5416e3fe29a416487759214ec9f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8922 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ziye Yang <ziye.yang@intel.com>
show more ...
|
|
Revision tags: v21.07-rc1, v21.04, v21.04-rc1 |
|
| #
2ed914f8 |
| 31-Mar-2021 |
Ziye Yang <ziye.yang@intel.com> |
idxd: Add the kernel idxd support
This patch is used to add the kernel idxd support.
Without this patch, we can use userspace idxd driver under accel_engine library (module/accel/idxd/accel_engine)
idxd: Add the kernel idxd support
This patch is used to add the kernel idxd support.
Without this patch, we can use userspace idxd driver under accel_engine library (module/accel/idxd/accel_engine). With this patch, we can also kernel idxd driver under the accel_engine library.
Our approach is implementing a wrapper library to use IDXD device by leveraging the kernel DSA driver in SPDK idxd library (lib/idxd).
Then users can leverage the RPC later to configure how to use the DSA device by user space driver or kernel driver.
In this patch, our approach is to use the idxd-config library to export the WQs (Working Queues) exported by the kernel.
Signed-off-by: Ziye Yang <ziye.yang@intel.com> Change-Id: I3a25a4fe0327bd626bf6883dfbe54437d3209e51 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7331 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
| #
cf41deae |
| 07-May-2021 |
Ziye Yang <ziye.yang@intel.com> |
idxd: update the major so version for libspdk_idxd
Change-Id: I6ad71a65244526e99a36920c630096cc9739d94d Signed-off-by: Ziye Yang <ziye.yang@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/sp
idxd: update the major so version for libspdk_idxd
Change-Id: I6ad71a65244526e99a36920c630096cc9739d94d Signed-off-by: Ziye Yang <ziye.yang@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7809 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
| #
20698a4a |
| 13-Apr-2021 |
Ziye Yang <ziye.yang@intel.com> |
idxd: Split the idxd library into common and user space part.
Purpose: This patch is used to prepare to add the kernel idxd support later.
Signed-off-by: Ziye Yang <ziye.yang@intel.com> Change-Id:
idxd: Split the idxd library into common and user space part.
Purpose: This patch is used to prepare to add the kernel idxd support later.
Signed-off-by: Ziye Yang <ziye.yang@intel.com> Change-Id: If89665f95d622c7342ab75050664158ec6fc615a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7330 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com>
show more ...
|
|
Revision tags: v21.01.1, v21.01, v21.01-rc1 |
|
| #
8a1a8450 |
| 09-Jan-2021 |
paul luse <paul.e.luse@intel.com> |
idxd: simplification in re-balancing channels
For flow control reasons we have to resize the bit arrays we use to manage flow as channels come and go. However since channels are assigned to devices
idxd: simplification in re-balancing channels
For flow control reasons we have to resize the bit arrays we use to manage flow as channels come and go. However since channels are assigned to devices, until the channel count reaches the device count there's no sharing so no resize of the array is needed. So, when we use a device for the first time there's no need to run through the rest of the channels and re-balance.
Same thing is done on destruction. The code to free idxd specific resources was moved from the rebalance function to the idxd put channel function which is a much more logical place for it as well.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: Ib4df163286906f413dd6429dc6833af7b68e208c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5846 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
|
Revision tags: v20.10, v20.10-rc1 |
|
| #
33eac886 |
| 03-Aug-2020 |
paul luse <paul.e.luse@intel.com> |
lib/idxd: refactor batching for increased performance
And to eliminate an artificial constraint on # of user descriptors. The main idea here was to move from a single ring that covered all user desc
lib/idxd: refactor batching for increased performance
And to eliminate an artificial constraint on # of user descriptors. The main idea here was to move from a single ring that covered all user descriptors to a pre-allocated ring per pre-allocated batch.
In addition, the other major change here is in how we poll for completions. We used to poll the batch rings then the main ring. Now when commands are prepared their completion address is added to a per channel list and the poller simply runs through that list not caring which ring the completion address belongs too. This simplifies the completion logic considerably and will avoid polling locations that can't potentially have a completion.
Some minor rework was included as well, mainly getting rid of the ring_ctrl struct as it didn't serve much of a purpose anyway and with how things are setup now its easier to read with all the elements in the channel struct.
Also, a change that came in while this was WIP needed a few fixes to function correctly. Addressed those and moved them to a helper function so we have one point of control for xlations.
Added support for NOP in cases where a batch is submitted with only 1 descriptor.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: Ie201b28118823100e908e0d1b08e7c10bb8fa9e7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3654 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: Ben Walker <benjamin.walker@intel.com>
show more ...
|
|
Revision tags: v20.07, v20.07-rc1, v20.04.1, v20.01.2 |
|
| #
d18e6320 |
| 10-May-2020 |
Seth Howell <seth.howell@intel.com> |
mk/lib: add a check that major and minor version is set for libs.
Also, while we are here, consolidate setting SO_SUFFIX to one spot.
Previously, it was possible for a library to slip through witho
mk/lib: add a check that major and minor version is set for libs.
Also, while we are here, consolidate setting SO_SUFFIX to one spot.
Previously, it was possible for a library to slip through without an SO version.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I4db5fa5839502d266c6259892e5719b05134518c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2361 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
| #
f6dcd815 |
| 06-May-2020 |
Seth Howell <seth.howell@intel.com> |
lib/idxd: add a map file.
While we are here, give the library an so suffix which was missed when the library was initially created.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I68
lib/idxd: add a map file.
While we are here, give the library an so suffix which was missed when the library was initially created.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I68929127bf672c0f2f7153f9716882d03151480e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2209 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
|
Revision tags: v20.04, v20.04-rc1 |
|
| #
e58e9fbd |
| 10-Apr-2020 |
paul luse <paul.e.luse@intel.com> |
lib/idxd: add low level idxd library
Module, etc., will follow. Notes:
* IDXD is an Intel silicon feature available in future Intel CPUs. Initial development is being done on a simulator. Once HW i
lib/idxd: add low level idxd library
Module, etc., will follow. Notes:
* IDXD is an Intel silicon feature available in future Intel CPUs. Initial development is being done on a simulator. Once HW is available and the code fully tested the experimental label will be lifted. Spec can be found here: https://software.intel.com/en-us/download/intel-data-streaming-accelerator-preliminary-architecture-specification
* The current implementation will only work with VFIO.
* DSA has a number of engines that can be grouped based on application need such as type of memory being served or QoS. Engines are processing units and are assigned to groups. Work queues are on device structures that act as front-end groups for queueing descriptors. Full details on what is configurable & how will come in later doc patches.
* There is a finite number of work queue slots that are divided amongst the number of desired work queues in some fashion (ie evenly).
* SW (outside of the idxd lib) is required to manage flow control, to not over-run the work queues.This is provided in the accel plug-in module. The upper layers use public API to manage this.
* Work queue submissions are done with a 64 byte atomic instruction
* The design here creates a set of descriptor rings per channel that match the size of the work queues. Then, an spdk_bit_array is used to make sure we don't overrun a queue. If there are not slots available, the operation is put on a linked list to be retried later from the poller.
* As we need to support any number of channels (we can't limit ourselves to the number of work queues) we need to dynamically size/resize our per channel descriptor rings based on the number of current channels. This is done from upper layers via public API into the lib.
* As channels are created, the total number of work queue slots is divided across the channels evenly. Same thing when they are destroyed, remaining channels with see the ring sizes increase. This is done from upper layers via public API into the lib.
* The sim has 64 total work queue entries (WQE) that get dolled out to the work queues (WQ) evenly.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: I899bbeda3cef3db05bea4197b8757e89dddb579d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1809 Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Vitaliy Mysak <vitaliy.mysak@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|