-
Notifications
You must be signed in to change notification settings - Fork 25
Increase viona receive queue length #935
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
base: master
Are you sure you want to change the base?
Conversation
This PR bumps the viona receive queue length to be a larger value, matching what can be observed in GCP. One of the pieces here is that we're now allowing a list of virtqueues to be created with different lengths, all of which must be validated to fit the `u16` and power-of-two requirement.
Some testing notes on
Looking at the number of free queue slots when it's delivery time:
It seems an Rx queue size of 2048 will suffice at the current Tx queue length. Confirming errors on these rings are low:
Lets compare dogfood with berlin in this case, using the alpine VMs as an example. dogfood:
berlin:
A bunch of that difference will be due to packet loaning and the new |
This PR bumps the viona receive queue length to be a larger value (8192), matching what can be observed in GCP. One of the pieces here is that we're now allowing a list of virtqueues to be created with different lengths, all of which must be validated to fit the
u16
and power-of-two requirement.We don't necessarily want that particular value at this time, since that's a lot of physically contiguous pages a needed to create the rx virtqueue. But this gives us the tools to investigate Rx and Tx queue lengths separately for #930, ideally on a racklette.