+11
−0
+29
−0
+3
−0
+127
−1
+2
−0
Loading
Create spdk_fd_group within spdk_nvme_poll_group, which manages interrupt events for all the file descriptors of spdk_nvme_qpair that are part of this poll group. Two new APIs have been introduced to manage this fd_group 1). spdk_nvme_poll_group_get_fd() Fetches the internal epoll file descriptor of the poll group. 2). spdk_nvme_poll_group_wait() Collectively waits for interrupt events on all the I/O queue pair file descriptors managed by the poll group. When an interrupt event gets generated, it processes any outstanding completions on the I/O queue pair with interrupts. These interrupt events are registered at the the time of I/O queue pair creation. The nvme_poll_group_connect_qpair() has been modified. Based on the poll group interrupt support, this now registers an event source for the file descriptor of queue pair to the internal epoll file descriptor of the poll group. Similarly, the nvme_poll_group_disconnect_qpair() unregisters the event source for file descriptor of the queue pair from the internal epoll file descriptor of the poll group. Additional checks are in place to prevent mixing of interrupts enabled and interrupts disabled I/O queue pairs. The poll group interrupt support capability is set by the first I/O queue pair added to it. Change-Id: If40f1ea82051ae598590f5a23ab9ed58bcb4af09 Signed-off-by:Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25080 Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by:
Jim Harris <jim.harris@samsung.com>