|
Revision tags: v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01, v24.05-pre, v24.01-rc1, v23.09, v24.01-pre, v23.09-rc1, v23.05, v23.09-pre, v23.01.1, v23.01, v23.05-pre, v23.01-rc1, v22.01.2 |
|
| #
2608d129 |
| 04-Oct-2022 |
Alexey Marchuk <alexeymar@nvidia.com> |
accel: Add crypto operation support
Add functions to submit encrypt/decrypt operations Add RPCS to register and dump crypto keys Software accel module uses isa-l_crypto AEX_XTS functionality
Signed
accel: Add crypto operation support
Add functions to submit encrypt/decrypt operations Add RPCS to register and dump crypto keys Software accel module uses isa-l_crypto AEX_XTS functionality
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: Iecf0e9913edf11ab85171d0fa467a2a62dfff984 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14858 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: <qun.wan@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
| #
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 |
|
| #
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, v22.01, v22.01-rc1 |
|
| #
c9c7c281 |
| 25-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
spelling: test
Part of #2256
* achieve * additionally * against * aliases * already * another * arguments * between * capabilities * comparison * compatibility * configuration * continuing * contro
spelling: test
Part of #2256
* achieve * additionally * against * aliases * already * another * arguments * between * capabilities * comparison * compatibility * configuration * continuing * controlq * cpumask * default * depends * dereferenced * discussed * dissect * driver * environment * everything * excluded * existing * expectation * failed * fails * following * functions * hugepages * identifiers * implicitly * in_capsule * increment * initialization * initiator * integrity * iteration * latencies * libraries * management * namespace * negotiated * negotiation * nonexistent * number * occur * occurred * occurring * offsetting * operations * outstanding * overwhelmed * parameter * parameters * partition * preempts * provisioned * responded * segment * skipped * struct * subsystem * success * successfully * sufficiently * this * threshold * transfer * transferred * unchanged * unexpected * unregistered * useless * utility * value * variable * workload
Change-Id: I21ca7dab4ef575b5767e50aaeabc34314ab13396 Signed-off-by: Josh Soref <jsoref@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10409 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: v21.10, v21.10-rc1, v21.07, v21.07-rc1, v21.04, v21.04-rc1, v21.01.1 |
|
| #
af935f76 |
| 26-Feb-2021 |
Ben Walker <benjamin.walker@intel.com> |
event: Shift subsystem initialization code to a separate library
This is useful for applications even if they elect not to use the SPDK event framework.
This doesn't shift everything in one go - ju
event: Shift subsystem initialization code to a separate library
This is useful for applications even if they elect not to use the SPDK event framework.
This doesn't shift everything in one go - just the subsystem initialization logic. Configuration file loading also needs to move in a separate patch later.
Change-Id: Id419df1045442d416650ed90e5ee78adfdd623d7 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6641 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
| #
f758833e |
| 12-Feb-2021 |
Jacek Kalwas <jacek.kalwas@intel.com> |
build: combine env_dpdk / event_bdev so pkgconfig can de-duplicate deps
- it shows nice feature and usage of pkg-config - it also prevents from duplicate symbols issue for static build in case liste
build: combine env_dpdk / event_bdev so pkgconfig can de-duplicate deps
- it shows nice feature and usage of pkg-config - it also prevents from duplicate symbols issue for static build in case listed libs have a common dependencies
Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com> Change-Id: I1f470d202ea7efe03e354dca472fd50e97bca747 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6406 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: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
|
Revision tags: v21.01, v21.01-rc1, v20.10, v20.10-rc1 |
|
| #
79f9a7f5 |
| 24-Sep-2020 |
Jim Harris <james.r.harris@intel.com> |
build: generate pkg-config files for SPDK
Users can now generate the necessary linker args for their own applications using something like:
PKG_CONFIG_PATH=build/lib/pkgconfig pkg-config --libs spd
build: generate pkg-config files for SPDK
Users can now generate the necessary linker args for their own applications using something like:
PKG_CONFIG_PATH=build/lib/pkgconfig pkg-config --libs spdk_nvme
Dependencies between libraries are included in the generated .pc files, so the user only needs to pass the top-level subsystems or individual SPDK libraries they are using in their application.
Modules will automatically be added to the output if the associated library is specified. For example, specifying "spdk_bdev" will include the libraries not only for spdk_bdev, but also all of the bdev modules.
Users still need to supply the -Wl,--no-as-needed or -Wl,--whole-archive flags. They cannot be added to the .pc files without increasing the length of the argument string by a factor of 15x to 20x.
Modify the test/external_code/hello_world Makefile to use pkg-config to ensure this gets tested at some level in our autotest environment.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ie48a75f11969d5d775d514cf10bcb82d197eabfd Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4371 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
| #
c006a8da |
| 22-Dec-2020 |
Jim Harris <james.r.harris@intel.com> |
test/external_code: use -pthread instead of -lpthread
-pthread is what SPDK in-tree Makefiles use, so use that in the external_code Makefile too. -pthread can be used both on the compilation and li
test/external_code: use -pthread instead of -lpthread
-pthread is what SPDK in-tree Makefiles use, so use that in the external_code Makefile too. -pthread can be used both on the compilation and link stages.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I8ef702b8fbde825a4191d961738ebc605b0aa4c5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5675 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
| #
31e91a83 |
| 21-Dec-2020 |
Jim Harris <james.r.harris@intel.com> |
test/external_code: make spdk_env_dpdk part of DPDK_LIBS
Our examples here show how to link in the DPDK environment into an SPDK application. That includes both spdk_env_dpdk library and the DPDK li
test/external_code: make spdk_env_dpdk part of DPDK_LIBS
Our examples here show how to link in the DPDK environment into an SPDK application. That includes both spdk_env_dpdk library and the DPDK libraries. So put spdk_env_dpdk in the DPDK_LIB variable in the Makefile.
This will also simplify a future patch where we will use pkg-config in this Makefile instead.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I2c389eaa9900dbe5f77ccee536bd4edc0a54cccc Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5673 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
| #
f896aa6f |
| 28-Oct-2020 |
Jim Harris <james.r.harris@intel.com> |
env_dpdk: add rte_rcu library dependency
rte_hash depends on rte_rcu starting in upcoming DPDK 20.11 release. rte_rcu was only added in DPDK 19.05 release, so we need to check if it exists before l
env_dpdk: add rte_rcu library dependency
rte_hash depends on rte_rcu starting in upcoming DPDK 20.11 release. rte_rcu was only added in DPDK 19.05 release, so we need to check if it exists before linking it.
Fixes issue #1661.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I7e343c6f964b03cc62484b57803a3bad00f80288 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4947 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
| #
d792356a |
| 28-Oct-2020 |
Jim Harris <james.r.harris@intel.com> |
test/external_code: use variable to hold DPDK lib list
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ie4a489926695cc56125f0e18796071f7730190f1 Reviewed-on: https://review.spdk.io/g
test/external_code: use variable to hold DPDK lib list
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ie4a489926695cc56125f0e18796071f7730190f1 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4946 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
| #
68493f45 |
| 03-Sep-2020 |
Maciej Szwed <maciej.szwed@intel.com> |
event: Add DPDK based governor
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Ide0ac38497bc500886e26fd219cb120113896966 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4152
event: Add DPDK based governor
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Ide0ac38497bc500886e26fd219cb120113896966 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4152 Tested-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
|
Revision tags: v20.07, v20.07-rc1, v20.04.1, v20.01.2, v20.04, v20.04-rc1 |
|
| #
6b41a086 |
| 23-Mar-2020 |
Darek Stojaczyk <dariusz.stojaczyk@intel.com> |
dpdkbuild: build dpdk with meson+ninja
Makefile support in DPDK was deprecated and will be removed soon, so switch to the officially supported way of building DPDK - with meson and ninja. Two new to
dpdkbuild: build dpdk with meson+ninja
Makefile support in DPDK was deprecated and will be removed soon, so switch to the officially supported way of building DPDK - with meson and ninja. Two new tools. Basically, our Makefiles will invoke meson+ninja for DPDK, no other SPDK components are affected.
Apparently DPDK wanted to move away from an octopus-like config system and the ideology behind meson configuration is simple now: build everything by default. Some PMDs can be explicitly disabled with meson command line, but all libraries (both static and shared versions) and test apps are built unconditionally.
How long does it take to build minimal DPDK with meson? Too much. On my machine half of the total build time is spent on libraries we don't need at all. (I have some hacks up my sleeve to disable building those libraries - see the subsequent patch.) As for the official way of building a minimal DPDK, there was a patch [1] on dpdk mailing list to introduce more specific configuration, but it was rejected:
> We talked about this a few times in the past, and it was actually one > of the design goals to _avoid_ replicating the octopus-like config > system of the makefiles. That's because it makes the test matrix > insanely complicated, not to mention the harm to user friendliness, > among other things. > > If someone doesn't want to use a PMD, they can just avoid installing it > - it's simple enough. > > Sorry, but from me it's a very strong NACK.
Let's not follow that direction, hack the DPDK build system instead.
As for advantages of meson+ninja over Makefiles? I can't find any. It's another build system that does a lot for you with some functions, magic options, and a built-in dependency system. It seems nice if you know the syntax, but it's another component that you need to learn, debug, and possibly find bugs in (there's a lot of github issues open for meson). I would compare it to CMake.
As for changes in this patch: rather that explicitly disabling PMDs we don't need, specify a list of PMDs we do need and disable everything else found in ./dpdk/drivers/*. This way we won't have to disable the new PMDs as they're added to DPDK.
Meson configuration also sets RTE_EAL_PMD_PATH #define to a valid directory with built PMD shared libs. When it's set, DPDK dynamically loads all shared libraries inside. The drivers there depend on DPDK shared libs and fail to load in static SPDK builds, so we disable them altogether by unsetting RTE_EAL_PMD_PATH in the meson-generated config file - just like DPDK Makefiles did. EAL checks for RTE_EAL_PMD_PATH being empty and skips loading any external PMDs then. We do it for both static and shared libs. We specify all PMDs at build time for now, so there's just no need to load them dynamically.
We have three more hacks in our submodule: * disable building dpdk apps by commenting-out a line in dpdk/meson.build * disable building unnecessary libs (build everything that spdk *may* need) * build isa-l compress pmd with `-L[...] -lisal`. DPDK expects to find libisal with pkg-config. We don't want to prepare a pkg-config file, so comment-out a failing check in another meson.build file and provide isa-l through CFLAGS and LDFLAGS.
We also need to make some changes to our test/external_code. First of all, -ldpdk is no more. Meson build generates a pkg-config file with all libs, but we'll switch to it in a separate patch - for now just specify all -lrte_ libs one by one. -Wl,--no-as-needed has to be added to some test cases, otherwise rte_mempool_ring isn't loaded. We don't use any APIs from this library, it only has a static constructor that provides a few callbacks used by rte_mempool_create(). Also, since DPDK now builds both static and shared libraries, we need to add -Wl,-Bstatic to force using static libswhere required. It's only needed for DPDK libs, but we use it for SPDK libs as well since there's no harm.
As for performance: $ ./configure --enable-debug --with-crypto --with-reduce $ time make -j40 -C dpdkbuild all with meson: real 0m8.287s user 1m7.983s sys 0m10.548s
before, with the old DPDK makefiles: real 0m20.232s user 0m55.921s sys 0m16.491s
The subsequent builds are much faster too: $ time make -j40 -C dpdkbuild all meson: real 0m0.876s user 0m0.663s sys 0m0.217s
makefiles: real 0m10.150s user 0m11.740s sys 0m6.772s
[1] http://inbox.dpdk.org/dev/1a07d1cd59d84dce84e56c10fdabf5e5504560a6.camel@debian.org/
Change-Id: Ic65db563014100bafb12e61ee0530cc2ae64401d Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1440 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>
show more ...
|
| #
c8c899f4 |
| 22-Jul-2020 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
dpdk: update submodule to DPDK 20.05
With update to DPDK 20.05 EAL requires rte_telemetry, external make tests were missing specifying this lib.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@inte
dpdk: update submodule to DPDK 20.05
With update to DPDK 20.05 EAL requires rte_telemetry, external make tests were missing specifying this lib.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I9f5eaea46b47da48fc81b4fff0199cd75ff6af78 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3483 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
|
Revision tags: v20.01.1, v20.01 |
|
| #
37bf49b1 |
| 28-Jan-2020 |
Evgeniy Kochetov <evgeniik@mellanox.com> |
sock: Add dependency on socket subsystem to other subsystems
Signed-off-by: Evgeniy Kochetov <evgeniik@mellanox.com> Change-Id: I665760166d54f6156b54735015bd2b586e91c345 Reviewed-on: https://review.
sock: Add dependency on socket subsystem to other subsystems
Signed-off-by: Evgeniy Kochetov <evgeniik@mellanox.com> Change-Id: I665760166d54f6156b54735015bd2b586e91c345 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/616 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI 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.01-rc1 |
|
| #
35093786 |
| 21-Jan-2020 |
Seth Howell <seth.howell@intel.com> |
test/autobuild: verify external code can link to libs
This test helps ensure that nothing about the way we build our shared objects changes in a way that breaks external applications or bdev modules
test/autobuild: verify external code can link to libs
This test helps ensure that nothing about the way we build our shared objects changes in a way that breaks external applications or bdev modules trying to link to SPDK.
Change-Id: I45ac36a2afc873b04eb237f4e633a9d84066737c Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/435 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI
show more ...
|