|
Revision tags: v25.01-rc1, v24.09 |
|
| #
bbce7a87 |
| 25-Sep-2024 |
Jim Harris <jim.harris@samsung.com> |
event: move struct spdk_lw_thread to internal header
This does not need to be exposed through public API.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I7f2f1bf5d47e9b0ded011a4f3f83
event: move struct spdk_lw_thread to internal header
This does not need to be exposed through public API.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I7f2f1bf5d47e9b0ded011a4f3f832320b106b3ec Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25032 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.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 ...
|
| #
82c46626 |
| 27-Sep-2024 |
Anisa Su <anisa.su@samsung.com> |
lib/event: implement scheduler trace events
Change-Id: I284b54b6a92aa330b5a95700101a928b9d83d46f Signed-off-by: Anisa Su <anisa.su@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk
lib/event: implement scheduler trace events
Change-Id: I284b54b6a92aa330b5a95700101a928b9d83d46f Signed-off-by: Anisa Su <anisa.su@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24873 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: v25.01-pre, v24.09-rc1 |
|
| #
11ff66fe |
| 24-Jul-2024 |
syeon.shin <syeon.shin@samsung.com> |
lib/event: Modify spdk_reactor_set_interrupt_mode() to be called from scheduling reactor
The previous behavior of spdk_reactor_set_interrupt_mode() returning an error when called from a non-app_thre
lib/event: Modify spdk_reactor_set_interrupt_mode() to be called from scheduling reactor
The previous behavior of spdk_reactor_set_interrupt_mode() returning an error when called from a non-app_thread context has been changed to return an error when called from a non-scheduling reactor context. As a result, spdk_reactor_set_interrupt_mode() must now be executed from a scheduling core rather than an app thread. Modifications have been made to address instances where this requirement was not met.
There is no issue when the app thread operates on the scheduling core, but if it runs on a different core, changing the interrupt mode will result in an error stating that it can only be modified on the scheduling core. This could cause scheduling operations to malfunction. To address this, modifications have been made.
Change-Id: I1f73c84191f5cab877a29405756f106cfb410932 Signed-off-by: syeon.shin <syeon.shin@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24324 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
|
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 |
|
| #
a67da4e6 |
| 12-Feb-2023 |
Ziv Hirsch <zivhirsch13@gmail.com> |
thread: use spdk_thread_get_app_thread instead of _spdk_get_app_thread
Signed-off-by: Ziv Hirsch <zivhirsch13@gmail.com> Change-Id: I68754dcd9c87e9f9a595f134de345d42e7d09e70 Reviewed-on: https://rev
thread: use spdk_thread_get_app_thread instead of _spdk_get_app_thread
Signed-off-by: Ziv Hirsch <zivhirsch13@gmail.com> Change-Id: I68754dcd9c87e9f9a595f134de345d42e7d09e70 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16783 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
|
Revision tags: v23.01, 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 |
|
| #
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 |
|
| #
a71cd521 |
| 13-Feb-2022 |
Alexis Lescouet <alexis.lescouet@nutanix.com> |
event: Add a user option to change the size of spdk_msg_mempool
The spdk_msg_mempool structure has a fixed size, which is not flexible enough. The size of the memory allocation can now be changed in
event: Add a user option to change the size of spdk_msg_mempool
The spdk_msg_mempool structure has a fixed size, which is not flexible enough. The size of the memory allocation can now be changed in the options given to the spdk_app_start function.
Signed-off-by: Alexis Lescouet <alexis.lescouet@nutanix.com> Change-Id: I1d6524ab8cf23f69f553aedb0f5b0cdc9dde374b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11635 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: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
|
Revision tags: v22.01, v22.01-rc1 |
|
| #
0c1fcc77 |
| 25-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
spelling: include
Part of #2256
* accelerator * access * acknowledge * address * adrfam * aggregation * allocated * appearance * associated * asynchronously * authority * available * callback * com
spelling: include
Part of #2256
* accelerator * access * acknowledge * address * adrfam * aggregation * allocated * appearance * associated * asynchronously * authority * available * callback * compare * construct * controller * course * definitions * deinitialize * descriptor * destroy * device * efficiently * elasticity * failure * frequency * function * hdgst * implementation * indefinitely * initialization * initialize * initiator * interrupt * malicious * management * milliseconds * namespace * negative * notification * obtained * otherwise * passed * positive * request * responded * semantics * sequence * should * specified * structure * subsystem * successful * synchronously * transport
Change-Id: I808876a3b4b2dc56f95cfc42bc88336cfeec4288 Signed-off-by: Josh Soref <jsoref@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10404 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> 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: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
|
Revision tags: v21.10, v21.10-rc1 |
|
| #
a86e40f3 |
| 06-Aug-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
scheduler: create public API and subsystem for scheduler/governor
This patch moves schedueler and governor related API from the internal event.h to public scheduler.h.
With this it is possible to c
scheduler: create public API and subsystem for scheduler/governor
This patch moves schedueler and governor related API from the internal event.h to public scheduler.h.
With this it is possible to create subsystem responsible for handling the schedulers. Three schedulers and a governor were moved to scheduler modules from event framework.
This will allow next patch to add JSON RPC configuration to the whole subsystem. Along with easier addition of other schedulers.
Removed debug logs from gscheduler, as they serve little purpose.
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I98ca1ea4fb281beb71941656444267842a8875b7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6995 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: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
|
Revision tags: v21.07, v21.07-rc1 |
|
| #
ece94716 |
| 20-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: cleanup and document governor API
This patch cleans up the header file, structures and parameters of governor API. While documenting the functionality.
- made governor name const - renam
lib/event: cleanup and document governor API
This patch cleans up the header file, structures and parameters of governor API. While documenting the functionality.
- made governor name const - renamed _spdk_governor_list_add() to _spdk_governor_register()
This is preparation to making this API public.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Ie394109c839dead0e7ade946f95be8105b00e674 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8843 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@gmail.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
| #
a86c94b3 |
| 20-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: cleanup and document scheduler API
This patch cleans up the header file, structures and parameters of scheduler API. While documenting the functionality.
- made scheduler name const - re
lib/event: cleanup and document scheduler API
This patch cleans up the header file, structures and parameters of scheduler API. While documenting the functionality.
- made scheduler name const - removed typedefs for schedueler callbacks - balance() now accepts uint32_t for array size instead of an int - removed unused _spdk_lw_thread_set_core() - renamed _spdk_scheduler_period_set() to _spdk_scheduler_set_period() - renamed _spdk_scheduler_period_get() to _spdk_scheduler_get_period() - renamed _spdk_scheduler_list_add() to _spdk_scheduler_register()
This is preparation to making this API public.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Ia7b6b6a5eafb052ac275db6c04113a8ad442383f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8842 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@gmail.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
| #
4c5246c9 |
| 15-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: add governor structure name in SPDK_GOVERNOR_REGISTER macro
Registering multiple governors would fail due to them having the same name. Only saved by the fact that right now, there is onl
lib/event: add governor structure name in SPDK_GOVERNOR_REGISTER macro
Registering multiple governors would fail due to them having the same name. Only saved by the fact that right now, there is only one governor registered in this fashion.
Fix it by adding name of the governor structure passed to the function name.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Ic7a206da2c8f5dc1e72e41629bccf989c030f182 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8792 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@gmail.com>
show more ...
|
| #
d6c4f8cf |
| 15-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: refactor _spdk_scheduler_set()
By default g_scheduler is now NULL. It can be set either by event framework or RPC. To keep RPC consistent, the 'static' scheduler was kept.
All access to
lib/event: refactor _spdk_scheduler_set()
By default g_scheduler is now NULL. It can be set either by event framework or RPC. To keep RPC consistent, the 'static' scheduler was kept.
All access to the g_scheduler is done via _spdk_scheduler_get(). Access to its members is done to balance, get name for RPC and through _spdk_scheduler_set(). All of them happen on scheduling reactor and don't pose race condition when changing scheduler. There is no need to delay init/deinit of scheduler via g_new_scheduler. This variable was removed and all that happens in _spdk_scheduler_set().
To unset and deinitialize current scheduler, _spdk_scheduler_set(NULL) has to be called. This results in moving scheduler deinitalization to that call too.
Every spdk_scheduler callback is now mandatory.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I1fed766989de9bcaeb7e82b490c1275f3572d77d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8811 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@gmail.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
| #
2e394521 |
| 15-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: refactor _spdk_governor_set()
By default g_governor is now NULL. It can be set either by event framework or schedulers directly.
Dynamic_scheduler and gscheduler specifically want to use
lib/event: refactor _spdk_governor_set()
By default g_governor is now NULL. It can be set either by event framework or schedulers directly.
Dynamic_scheduler and gscheduler specifically want to use the dpdk_governor, so their initialization now sets it explicitly.
To unset and deinitialize current governor, _spdk_governor_set(NULL) has to be called. This results in moving governor deinitalization to that call too.
The "default" governor has been removed.
Every spdk_governor callback is now mandatory.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Ibf76bd28bfbb159416026996fa217bb3325a3d31 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8810 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@gmail.com>
show more ...
|
| #
5bf2973e |
| 13-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: remove per core init/deinit API from governor
There is no explicit need for the spdk governors initialization to occur on per core basis.
This implementation detail for dpdk_governor is
lib/event: remove per core init/deinit API from governor
There is no explicit need for the spdk governors initialization to occur on per core basis.
This implementation detail for dpdk_governor is now hidden in the init/deinit calls. There is no recourse when failing deinit for a certain core, so ignore the return code. Changed return type for deinit in governor and scheduler to void.
While here modified the callbacks for scheduler to no longer require passing currently selected governor as an argument.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I7f0b7a09aa7f5d12ae47fca25186faeedac31a95 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8791 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@gmail.com>
show more ...
|
| #
8e649e83 |
| 13-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: remove get/enable/disable turbo API from governor
In rte_power all that enabling/disabling turbo does is allows for additional entry in frequency array for particular core.
Instead of ex
lib/event: remove get/enable/disable turbo API from governor
In rte_power all that enabling/disabling turbo does is allows for additional entry in frequency array for particular core.
Instead of exposing this API through spdk governor, just make sure that dpdk_governor enables turbo by default.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I994b326a57c01889bccea26635753c56637259d2 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8789 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
| #
12fcf7e1 |
| 13-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: remove get/set_core_freqs API from governor
Those calls went unused, in favor or much more useful up/down/min/max variants.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Cha
lib/event: remove get/set_core_freqs API from governor
Those calls went unused, in favor or much more useful up/down/min/max variants.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I432896196a1a6edfc6799c8658df49567f73d457 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8788 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
| #
7bf66ff5 |
| 13-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: remove fields from spdk_governor_capabilities
The spdk_governor_capabilities added lots of capabilities which went unused, suposedly to mark which callbacks a governor had implemented.
T
lib/event: remove fields from spdk_governor_capabilities
The spdk_governor_capabilities added lots of capabilities which went unused, suposedly to mark which callbacks a governor had implemented.
This made little sense, since capabilities are per core and not implmenting this APIs made little sense. With this patch spdk_governor_capabilities is brought in line with rte_power_core_capabilities.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I85296fce2999cb41957162b63ee13d86a0be919f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8787 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: v21.04, v21.04-rc1 |
|
| #
ae74e70e |
| 16-Apr-2021 |
Krzysztof Karas <krzysztof.karas@intel.com> |
lib/event: remove _spdk_scheduler_disable()
Remove _spdk_scheduler_disable() to avoid confusion as there is no spdk_scheduler_enable function. Since spdk_scheduler_disable sets scheduler period to 0
lib/event: remove _spdk_scheduler_disable()
Remove _spdk_scheduler_disable() to avoid confusion as there is no spdk_scheduler_enable function. Since spdk_scheduler_disable sets scheduler period to 0, use spdk_scheduler_period_set(0) instead.
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I4f1390a635f80e8b92775aa4be2e37f5b95467f8 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7448 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot
show more ...
|
| #
cff96883 |
| 08-Jul-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: remove is_scheduling flag from reactor
There is only one g_scheduling_reactor (main core), the is_scheduling flag for it is used to block starting new gather_metrics before previous one i
lib/event: remove is_scheduling flag from reactor
There is only one g_scheduling_reactor (main core), the is_scheduling flag for it is used to block starting new gather_metrics before previous one is finished.
Meanwhile is_scheduling flag on other reactors was used to block destroying lw_threads while scheduling happens. It was only needed because scheduler interacted with the same lw_thread pointers as each reactor. Previous patch removed this dependency, instead spdk_thread ids is used. If an spdk_thread is destroyed, while scheduling _threads_reschedule_thread() handles it.
It is no longer required to block destruction of lw_threads based on this flag.
Instead of using the main core reactor flag, a g_scheduling_in_progress is introduced.
Removed _spdk_get_scheduling_reactor() and instead shared the value of g_scheduling_in_progress between reactor.c and app.c.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Ica57326a552477add522174cc3e96b3bab918350 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8732 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
b74b6133 |
| 11-Jun-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: remove scheduler dependency on lw_thread
Removing dependency on schedulers to directly modify lw_thread field structures will help making schedulers truly plugable.
Instead of using lw_t
lib/event: remove scheduler dependency on lw_thread
Removing dependency on schedulers to directly modify lw_thread field structures will help making schedulers truly plugable.
Instead of using lw_thread, new structure is created that holds copy of stats and refer to the thread by spdk_thread id.
As an added benefit of not changing lw_thread directly, we won't run into issue of balancing function changing it while other reactor removes and frees it.
In the future an API will be added for scheduler to call in order to move the thread directly. Rather than for event framework to rely on modified core_info/thread_info structure.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I8f85bb8dc080fd13b78b07ee9ef8e8be7051659b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8411 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
5e4fbe73 |
| 24-May-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: remove pending_threads_count from core_info
This field was only used to keep track of number of threads that will be present on a core after scheduler moves.
It was used only internally
lib/event: remove pending_threads_count from core_info
This field was only used to keep track of number of threads that will be present on a core after scheduler moves.
It was used only internally within scheduler_dynamic. Event framework has no need to keep such field in core_info.
Instead added field in cores_stats internal to scheduler_dynamic.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I3ce74d4a25eac81e58da8705a1c4553730fc1e57 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8049 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
abbfa1a5 |
| 24-May-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: calculate reactor tsc from last scheduling period
This patch expands spdk_scheduler_core_info with two new fields that will contain core stats only from last scheduling period.
This will
lib/event: calculate reactor tsc from last scheduling period
This patch expands spdk_scheduler_core_info with two new fields that will contain core stats only from last scheduling period.
This will make sure that schedulers do not have to keep track and calculate this value on their own.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I3aa7dfa6a60c1d14d95a0e684e84c2e83f0a4496 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8048 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
e837ba3b |
| 24-May-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: rename core_busy/idle_tsc to total_busy/idle_tsc
Renamed core_busy_tsc and core_idle_tsc to better describe that they contain particular core stats for its whole lifetime.
Signed-off-by:
lib/event: rename core_busy/idle_tsc to total_busy/idle_tsc
Renamed core_busy_tsc and core_idle_tsc to better describe that they contain particular core stats for its whole lifetime.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I6f16b2b0a162aad8fbaf18f549fc50a2372b920b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8047 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
| #
902c9e4d |
| 24-May-2021 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
lib/event: remove new_lcore from lw_thread
There is no need to keep new_lcore field.
lcore value is enough to determine the target core. Meanwhile _threads_reschedule() can see if the target core m
lib/event: remove new_lcore from lw_thread
There is no need to keep new_lcore field.
lcore value is enough to determine the target core. Meanwhile _threads_reschedule() can see if the target core matches the one from core_info.
Removed _spdk_lw_thread_set_core() since it did not serve much purpose.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I82c7cfebf1107b4a55b2af9b891052084a788907 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8046 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|