Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nvme: export nvme_configure_[sq|cq] to public #27

Closed
wants to merge 1 commit into from

Conversation

minwooim
Copy link
Collaborator

These two functions configure libvfn queue instance attribute members along with doorbell. They have been inside of nvme_configure_adminq() and nvme_create_iosq|cq APIs where NVMe admin command is actually issued to the admin submission queue and CQE of the command is reaped in the same context by polling in __admin().

However, in case application enabled interrupt for the admin completion queue with vector == 0 and application handles the interrupt in the user-space, CQ entry should not be directly reaped by libvfn, instead application should awake and reap the cq entry once the interrupt comes.

To let application handles cq entries for the admin completion queue by themselves, this patch exported them to public APIs so that application can configure the sq/cq instances in libvfn and issue the admin command and handles the completion properly.

These two functions configure libvfn queue instance attribute members
along with doorbell.  They have been inside of nvme_configure_adminq()
and nvme_create_io[sq|cq]() APIs where NVMe admin command is actually
issued to the admin submission queue and CQE of the command is reaped in
the same context by polling in __admin().

However, in case application enabled interrupt for the admin completion
queue with vector == 0 and application handles the interrupt in the
user-space, CQ entry should not be directly reaped by libvfn, instead
application should awake and reap the cq entry once the interrupt comes.

To let application handles cq entries for the admin completion queue by
themselves, this patch exported them to public APIs so that application
can configure the sq/cq instances in libvfn and issue the admin command
and handles the completion properly.

Signed-off-by: Minwoo Im <[email protected]>
@minwooim minwooim requested a review from birkelund November 22, 2024 10:27
@minwooim
Copy link
Collaborator Author

minwooim commented Dec 3, 2024

Close this PR since the following CMB-related patches are going to change the exported APIs prototypes again.

@minwooim minwooim closed this Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant