-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
nvme: export nvme_configure_[sq|cq] to public
They have been used when creating admin queue and I/O queues in nvme_configure_adminq() and nvme_create_io[sq|cq]() to create an instance of SQ and CQ to be managed in libvfn with ``ctrl->sq[qid]`` and ``ctrl->cq[qid]``. The problem happens when an application handles admin CQ only when an interrupt (e.g., MSI-X) comes with its own CQ handling behavior on top of it. In this case, nvme_create_iosq() and nvme_create_iocq() high-level APIs issue create I/O queue admin command by __admin() where the command is handled in a sync way by reaping the CQ entry right after the command submission. It goes to collision of the CQ between application CQ reaper class and libvfn __admin() callstack. To solve this issue, export nvme_configure_[sq|cq]() to public to let application manages admin command submission for creating queues. Signed-off-by: Minwoo Im <[email protected]>
- Loading branch information
Showing
2 changed files
with
46 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters