| 7219bd1a | 14-Nov-2024 |
Ankit Kumar <ankit.kumar@samsung.com> |
thread: use extended version of fd group add
As the message file descriptor of thread is of type eventfd, we can set fd type in the event handler opts and use SPDK_FD_GROUP_ADD_EXT. This way we don'
thread: use extended version of fd group add
As the message file descriptor of thread is of type eventfd, we can set fd type in the event handler opts and use SPDK_FD_GROUP_ADD_EXT. This way we don't need to read the msg fd, which will be done during the fd group wait.
Set msg_fd to -1 if fd group creation fails, to prevent wrong cleaup during thread_interrupt_destroy call.
Change-Id: I2b64ad09bb368484a81781e4805ecbf8fc8cb02c Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25432 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 969b360d | 01-Nov-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
thread: fd_group-based interrupts
It's now possible to register an interrupt for a whole fd_group. The advantage of doing this over registering an interrupt using fd_group's fd is that the fd_group
thread: fd_group-based interrupts
It's now possible to register an interrupt for a whole fd_group. The advantage of doing this over registering an interrupt using fd_group's fd is that the fd_group is nested in thread's fd_group, so spdk_fd_group_wait() on thread's fd_group will trigger events of the registered fd_group.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I1b2e4e9ea0b5dc2a8ba5e7ab7366fe1c412167f5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25466 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com>
show more ...
|
| 851f166e | 01-Nov-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
thread: move interrupt allocation to a function
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I71cd8fbfb0e7dfb6836d716ab420b3af45b3d2d3 Reviewed-on: https://review.spdk.io/gerr
thread: move interrupt allocation to a function
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I71cd8fbfb0e7dfb6836d716ab420b3af45b3d2d3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25465 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-by: Ben Walker <ben@nvidia.com>
show more ...
|
| 98eca6fa | 22-Jan-2024 |
Alexey Marchuk <alexeymar@nvidia.com> |
lib/thread: Add API to register a post poller handler
This patch aims to improve doorbell management. SPDK pollers are executed one after other, there is no way to controll its execution time. In a
lib/thread: Add API to register a post poller handler
This patch aims to improve doorbell management. SPDK pollers are executed one after other, there is no way to controll its execution time. In a case when some application has 3 active pollers where each poller represents a HW queue (e.g. nvmf_tgt with nvme_tcp backend and accel module), time interval between 2 poller invokations might be much more than average request latency. That makes doorbells managment more complicated bcs the rule of thumb is to submit a batch of commands to a HW and typical design is to ring doorbells once per poller invokation to flush any tasks submitted by other pollers. With this approach (flush once per poll) HW stalls for significant amount of time. The best solution would be to flush requests to the HW once a batch of requests is in the submission queue. But that is another poller which submits work to the queue, e.g. nvmf_tgt reaps a new request and submits it do bdev and bdev submits crypto task. That is done in the context of nvmf_tgt poller but task is eventually submitted to HW in the context of accel poller. We need a mechanism to notify accel module that nvmf_tgt finishes a batch in order to flush submission queue. But we can go in another direction - code in accel module may ask nvmf_tgt poller to flush doorbells once it submits the last request in the batch. With some abstraction we can achieve it by introducing generic API which registers a one-shot callback which a poller calls once it exits its routine task. In that case accel module can register a callback to flush SQ if a new request is submitted. This patch adds such API It allows to ring doorbels (and in the future to flush sockets) in more optimal way and significantly improve performance in highly loaded applications.
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: I026cf931f6e56bfbb66422738a90f71525516bf7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24703 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
| 3f50defd | 25-Sep-2024 |
Ankit Kumar <ankit.kumar@samsung.com> |
thread: Extended options for spdk_interrupt_register
Added a new API spdk_interrupt_register_ext(), which is an extension of spdk_interrupt_register() and accepts an extended options for event handl
thread: Extended options for spdk_interrupt_register
Added a new API spdk_interrupt_register_ext(), which is an extension of spdk_interrupt_register() and accepts an extended options for event handler i.e. spdk_event_handler_opts.
Change-Id: Ic20e5e9647127546eb8299a411e6181131c6f128 Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25079 Community-CI: Mellanox Build Bot 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: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| cab1decc | 13-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: add NUMA node support to spdk_iobuf_put()
For the default numa-disabled case, just always free the buffer to node 0. Otherwise use spdk_mem_get_numa_id() to find the numa_id based on the buf
thread: add NUMA node support to spdk_iobuf_put()
For the default numa-disabled case, just always free the buffer to node 0. Otherwise use spdk_mem_get_numa_id() to find the numa_id based on the buffer pointer.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ibcb6d8dc83c5e9a6a01aac9732728c62fa4c0719 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24557 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
| 0f99ab2f | 15-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: allocate iobuf memory based on numa_id
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I861d3683799862b0288f6b26a75ce140648f3168 Reviewed-on: https://review.spdk.io/gerrit/c/sp
thread: allocate iobuf memory based on numa_id
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I861d3683799862b0288f6b26a75ce140648f3168 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24580 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
| 2ef611c1 | 12-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: update all iobuf non-get/put functions for multiple NUMA nodes
We add a custom IOBUF_FOREACH_SOCKET_ID() iterator, so that when NUMA is disabled, it will only use node 0 for all operations.
thread: update all iobuf non-get/put functions for multiple NUMA nodes
We add a custom IOBUF_FOREACH_SOCKET_ID() iterator, so that when NUMA is disabled, it will only use node 0 for all operations.
But the get/put functions still only use NUMA node 0. Upcoming patches will add the APIs and implementation to choose a NUMA node to allocate from.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ic863d483432ad2f059c7facccf69b820bcad828a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24542 Reviewed-by: Ben Walker <ben@nvidia.com> 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: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
| b60ae8d6 | 13-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: create helper functions for iobuf_channel_init/free and abort
We break up the init process into two steps per node - init and populate. init returns void because it cannot fail. This prepare
thread: create helper functions for iobuf_channel_init/free and abort
We break up the init process into two steps per node - init and populate. init returns void because it cannot fail. This prepares for init'ing all channel_nodes first, before we populate them. This will make it easier to unwind when there is an allocation failure, because we can safely iterate all of the nodes, since they have all been initialized, even if they weren't populated.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I9dc02a63aed8131316465f0441557864582468c7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24541 Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Ben Walker <ben@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 24d8985c | 13-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: make spdk_iobuf_entry_abort() find its entry in the STAILQ
This prepares for upcoming changes where we will have multiple queues to search, one per NUMA-node. We won't know which NUMA-node's
thread: make spdk_iobuf_entry_abort() find its entry in the STAILQ
This prepares for upcoming changes where we will have multiple queues to search, one per NUMA-node. We won't know which NUMA-node's queue the entry will be found on.
We could theoretically store the numa_id in the spdk_iobuf_entry, but that increases its size and requires other changes in existing structures that include it. Since this is a very uncommon operation, walking the STAILQs is fine.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I645fc6d2dab815ff70163932e0e8a45953780113 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24540 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Alliswell <hisunzhenliang@outlook.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| 42d1bd28 | 12-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: add enable_numa parameter to iobuf_set_options RPC
This parameter does not yet actually enable per-NUMA node iobuf buffer pools. It only checks that the application was built with support fo
thread: add enable_numa parameter to iobuf_set_options RPC
This parameter does not yet actually enable per-NUMA node iobuf buffer pools. It only checks that the application was built with support for the number of NUMA nodes reported by the system.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I1b9d11ccb8f6914280874a40754c51625d21645d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24539 Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
| 081f8add | 12-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
config: add SPDK_CONFIG_MAX_NUMA_NODES
By default, to minimize impact to existing use cases, iobuf will be configured to only support a single set of buffer pools, as it is today. Users who want to
config: add SPDK_CONFIG_MAX_NUMA_NODES
By default, to minimize impact to existing use cases, iobuf will be configured to only support a single set of buffer pools, as it is today. Users who want to enable support for per-NUMA node buffer pools will need to specify --max-numa-nodes parameter to the configure script.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I8c7cd1a921e538bdb8e3af84ba27a23b5294d776 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24538 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| f1900e4d | 19-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: convert iobuf nodes to 1-sized arrays
This is just a step towards supporting a bigger array, 1 element per NUMA node.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: If235aa91
thread: convert iobuf nodes to 1-sized arrays
This is just a step towards supporting a bigger array, 1 element per NUMA node.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: If235aa9120965921cda6291043169a5c55ceb144 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24520 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| 904d7e5f | 19-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: add helper functions for init/free of iobuf_node
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Id28e82a66b8fe669321593c8f88ccbbe44b19a95 Reviewed-on: https://review.spdk.io/g
thread: add helper functions for init/free of iobuf_node
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Id28e82a66b8fe669321593c8f88ccbbe44b19a95 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24519 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
| 848323db | 13-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: add struct iobuf_channel_node
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ic27fc9fba8424976f72b611aa74f4acfec8dfb62 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+
thread: add struct iobuf_channel_node
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ic27fc9fba8424976f72b611aa74f4acfec8dfb62 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24537 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
| 4b7fdec4 | 18-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: add struct iobuf_node
iobuf_node represents a pool of buffers allocated from a NUMA node's memory. Currently only one NUMA node is supported, but this will be extended in future patches to s
thread: add struct iobuf_node
iobuf_node represents a pool of buffers allocated from a NUMA node's memory. Currently only one NUMA node is supported, but this will be extended in future patches to support multiple NUMA nodes when configured.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I7fdcf79aa57e555b3d35164c2097becfef6f8a71 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24518 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
| eba178bf | 19-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: add spdk_iobuf_node_cache
We also rename spdk_iobuf_pool to spdk_iobuf_pool_cache.
This makes it more clear that the iobuf_channel has a cache of buffers per NUMA node. Currently there is o
thread: add spdk_iobuf_node_cache
We also rename spdk_iobuf_pool to spdk_iobuf_pool_cache.
This makes it more clear that the iobuf_channel has a cache of buffers per NUMA node. Currently there is only one node, but future changes will extend this to support multiple NUMA nodes when configured.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Id403a089a0de943bd3717e40aba156cbb2368cab Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24517 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| f2017d2e | 18-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: rearrange spdk_iobuf_initialize()
Put all of the opts setup first, followed by the iobuf setup. This prepares for some future changes.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Cha
thread: rearrange spdk_iobuf_initialize()
Put all of the opts setup first, followed by the iobuf setup. This prepares for some future changes.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I13c7a17c6e9e9c7f8e35d333cbaa02f31b7cb9d3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24516 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| b82fd48a | 19-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: remove pool parameter from spdk_iobuf_for_each_entry
We always want to iterate across the entire iobuf_channel, so just make the iterator do exactly that, rather than requiring the caller to
thread: remove pool parameter from spdk_iobuf_for_each_entry
We always want to iterate across the entire iobuf_channel, so just make the iterator do exactly that, rather than requiring the caller to have to iterate both of the pools itself.
This both simplifies the calling logic, and prepares for upcoming changes which will support multiple NUMA node caches in one channel.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ieed144671e7ee7cb4d7b7b28e803ea3cae641fee Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24515 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
| fa6aec49 | 20-Sep-2024 |
Anisa Su <anisa.su@samsung.com> |
lib/thread: register thread owner type for scheduler trace events
Change-Id: I0074148ab2a151e38a17fe8cb770fd3ef19ec543 Signed-off-by: Anisa Su <anisa.su@samsung.com> Reviewed-on: https://review.spdk
lib/thread: register thread owner type for scheduler trace events
Change-Id: I0074148ab2a151e38a17fe8cb770fd3ef19ec543 Signed-off-by: Anisa Su <anisa.su@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25067 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
| 0eae0106 | 06-Sep-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: do not define fn in SPDK_TRACE_REGISTER_FN
Newer lcov try to detect issues with function definitions, and throw warnings if function definitions have overlapping lines. Since SPDK_TRACE_REGIS
trace: do not define fn in SPDK_TRACE_REGISTER_FN
Newer lcov try to detect issues with function definitions, and throw warnings if function definitions have overlapping lines. Since SPDK_TRACE_REGISTER_FN defines both the constructor function and the trace function, it treats this as an overlap.
Note this is the only one of our REGISTER functions in SPDK that effectively defines two functions in the same macro.
So change the macro so that the user actually defines the trace function instead.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ib9d0d1af7674c5ff9b65c12c1e4a5b05e6e110f5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24836 Reviewed-by: Michal Berger <michal.berger@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
| 5c782a70 | 22-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: allow users to pass NULL fn_ptr when registering interrupt
There are a lot of cases where the set_interrupt_mode callback function is not needed for callers of spdk_poller_register_interrupt
thread: allow users to pass NULL fn_ptr when registering interrupt
There are a lot of cases where the set_interrupt_mode callback function is not needed for callers of spdk_poller_register_interrupt(). Today, we force all callers to pass a function pointer, which in most cases does nothing. So relax this restriction to simplify calling code.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ib4064722c4dbd9366363a86a0ba7ccb5640cd1f9 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24626 Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 072f3706 | 22-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: remove pointless ->set_intr_cb_fn check
poller_set_interrupt_mode() only can be called when spdk_interrupt_mode_is_enabled() is true. But when spdk_interrupt_mode_is_enabled() is true, we al
thread: remove pointless ->set_intr_cb_fn check
poller_set_interrupt_mode() only can be called when spdk_interrupt_mode_is_enabled() is true. But when spdk_interrupt_mode_is_enabled() is true, we also know that all pollers will have their set_intr_cb_fn set:
- spdk_poller_register() will set a default ->set_intr_cb_fn when spdk_interrupt_mode_is_enabled() == true - if spdk_poller_register_interrupt() is later called on that poller, it must specify a ->set_intr_cb_fn
So checking poller->set_intr_cb_fn in poller_set_interrupt_mode() is pointless, it will always be set.
If we want to have warnings for cases where interrupt mode is enabled, but there are busy pollers that haven't been registered for interrupts, we need some other mechanism. Remove this mechanism that seemed to be trying to do this, but clearly doesn't.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I033f31269e896a7c6b22a8c065b229e289510271 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24625 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Boris Glimcher <Boris.Glimcher@emc.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Krzysztof Goreczny <krzysztof.goreczny@dell.com>
show more ...
|
| 186b109d | 20-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
env: add SPDK_ENV_NUMA_ID_ANY and replace socket_id with numa_id
We will try to avoid further proliferation of "SOCKET_ID" to refer to a NUMA socket ID moving forward, and just use "NUMA_ID" to avoi
env: add SPDK_ENV_NUMA_ID_ANY and replace socket_id with numa_id
We will try to avoid further proliferation of "SOCKET_ID" to refer to a NUMA socket ID moving forward, and just use "NUMA_ID" to avoid confusion with TCP sockets.
Change all of the existing in-tree SPDK_ENV_SOCKET_ID_ANY uses to SPDK_ENV_NUMA_ID_ANY, but keep the old #define around, at least for now. Also change all 'socket_id' parameters to 'numa_id'.
We still have spdk_env_get_socket_id(), we will need to keep this but next patch will add spdk_env_get_numa_id().
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Idc31c29e32b708c24d88f9c6fecaf9a99e34ba1e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24607 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
| 34edd9f1 | 10-Jul-2024 |
Kamil Godzwon <kamilx.godzwon@intel.com> |
general: fix misspells and typos
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+
general: fix misspells and typos
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24120 Community-CI: Mellanox Build Bot Reviewed-by: Karol Latecki <karol.latecki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|