Page MenuHomeFreeBSD

iflib: add support for admin completion queues
ClosedPublic

Authored by ar_semihalf.com on Feb 16 2021, 5:26 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 5, 11:32 AM
Unknown Object (File)
Fri, Apr 5, 10:58 AM
Unknown Object (File)
Feb 2 2024, 6:57 AM
Unknown Object (File)
Jan 31 2024, 2:17 AM
Unknown Object (File)
Jan 31 2024, 2:17 AM
Unknown Object (File)
Jan 31 2024, 2:17 AM
Unknown Object (File)
Jan 31 2024, 2:05 AM
Unknown Object (File)
Jan 13 2024, 10:31 AM
Subscribers

Details

Summary

For interfaces with admin completion queues, introduce a new devmethod
IFDI_ADMIN_COMPLETION_HANDLE and a corresponding flag IFLIB_HAS_ADMINCQ.

This provides an option for handling any admin cq logic, which cannot be
run from an interrupt context.

Said method is called from within iflib's admin task, making it safe to
sleep.

Submitted by: Artur Rojek <ar@semihalf.com>
Obtained from: Semihalf
Sponsored by: Amazon, Inc.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ar_semihalf.com retitled this revision from iflib: add a new devmethod: IFDI_ADMIN_REQUEST_HANDLE to iflib: add support for admin completion queues.
ar_semihalf.com edited the summary of this revision. (Show Details)

Reconsider turning the devmethod into an admin completion queue specific handler, which both reduces the scope of the call and makes the usecase more obvious.

To clarify on the usecase in the Amazon ENA driver, we need to handle any admin completion queues, not just asynchronous event ones, in a sleep safe context.

It’s in a non performance critical path with no side effects if not used, so worst case it’s not useful to other consumers.

This revision was not accepted when it landed; it landed in state Needs Review.Mar 2 2021, 11:41 PM
This revision was automatically updated to reflect the committed changes.