Skip to content

Virtio-net: raise interrupt for TX queue used descriptors #1436

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

Closed
sandreim opened this issue Nov 26, 2019 · 1 comment
Closed

Virtio-net: raise interrupt for TX queue used descriptors #1436

sandreim opened this issue Nov 26, 2019 · 1 comment
Assignees
Labels
Priority: High Indicates than an issue or pull request should be resolved ahead of issues or pull requests labelled Type: Bug Indicates an unexpected problem or unintended behavior

Comments

@sandreim
Copy link
Contributor

sandreim commented Nov 26, 2019

This is a regression dating back to this PR: #413.

If the TX queue becomes full the guest would not be able to enqueue any TX packets until an RX from the tap device will raise the interrupt and the guest will inspect both RX/TX queue status.
The issue impacts the workloads where the TX:RX ratio is highly skewed towards TX, for example sending large bursts of traffic without doing much RX.

Before merging a fix benchmarking is needed to understand the performance implications of raising additional irqs.

TODO:

  • Implement irq raising for used descriptors (TX)
  • Performance benchmark
  • Integration test
@sandreim sandreim added Type: Bug Indicates an unexpected problem or unintended behavior Feature: IO Virtualization Priority: High Indicates than an issue or pull request should be resolved ahead of issues or pull requests labelled labels Nov 26, 2019
@sandreim sandreim changed the title Virtio-net: raise interrupt for used descriptors on tx queue Virtio-net: raise interrupt for TX queue used descriptors Nov 26, 2019
@sandreim sandreim self-assigned this Nov 26, 2019
sandreim added a commit to sandreim/firecracker that referenced this issue Dec 3, 2019
Add a unit test for this regression: firecracker-microvm#1436.

Signed-off-by: Andrei Sandu <[email protected]>
sandreim added a commit to sandreim/firecracker that referenced this issue Dec 4, 2019
Add a unit test for this regression: firecracker-microvm#1436.

Signed-off-by: Andrei Sandu <[email protected]>
sandreim added a commit that referenced this issue Dec 4, 2019
Add a unit test for this regression: #1436.

Signed-off-by: Andrei Sandu <[email protected]>
@sandreim
Copy link
Contributor Author

sandreim commented Dec 4, 2019

Fixed in PR #1444

@sandreim sandreim closed this as completed Dec 4, 2019
iulianbarbu pushed a commit to iulianbarbu/firecracker that referenced this issue Mar 18, 2020
Add a unit test for this regression: firecracker-microvm#1436.

Signed-off-by: Andrei Sandu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: High Indicates than an issue or pull request should be resolved ahead of issues or pull requests labelled Type: Bug Indicates an unexpected problem or unintended behavior
Projects
None yet
Development

No branches or pull requests

1 participant