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

Support virtqueue creation(enablement) after DRIVER_OK stage #177

Open
paravmellanox opened this issue Sep 11, 2023 · 0 comments
Open

Support virtqueue creation(enablement) after DRIVER_OK stage #177

paravmellanox opened this issue Sep 11, 2023 · 0 comments

Comments

@paravmellanox
Copy link
Contributor

paravmellanox commented Sep 11, 2023

Currently, a virtqueue must be enabled before driver has set the
DRIVER_OK status bit.

spec citation to section "Driver Requirements: Device Initialization"

"Perform device-specific setup, including discovery of virtqueues
for the device, optional per-bus setup, reading and possibly writing
the deviceâs virtio configuration space, and population of virtqueues."

This implies that a virtqueue must be enabled before reaching the
DRIVER_OK stage. There was no explicit mention about ability to
enable the virtqueue after DRIVER_OK stage.

In following use cases, creating a virtqueue after DRIVER_OK phase is
desired.

Use cases:

  1. Dynamically create aq when administrative commands to be used.
  2. Dynamically create the net device tx/rxq when device is
    opened when deploying for a container.
    In a container, number of virtqueues to be used may be <= max queues.
  3. Dynamically create flow filter queues of netdevice when
    ARFS or ethtool filters are enabled as listed in [1].
  4. Dynamically create rtc functionality related read virtqueue only
    when net device when time stamping to be used.
  5. When XDP program is set, one can create additional XDP specific
    queues without affecting existing queues.

Solution:
https://lists.oasis-open.org/archives/virtio-comment/202310/msg00183.html
Patches link for automation:
https://lore.kernel.org/virtio-comment/[email protected]/T/#t

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

No branches or pull requests

1 participant