-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Ratelimiter: Very high CPU usage when ratelimiter is throttling guest RX. #1439
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
Comments
Hi @sandreim could you give some more context to this problem? |
Hi @pyrito, The issue happens when the net device does not read all the the packets from the TAP device waiting for the limiter to replenish it's budget. When that happens the epoll loop will continuously fire the RX_TAP_EVENT until all packets will be read. There is already some code that unregisters the epoll event when there are no more free RX buffers but that does not cover the case when we stop processing the tap RX due to limiter budget. |
Hi @sandreim I was wondering if you could explain what you meant by two of your suggested fixes?
Thank you for your time! |
@andreeaflorescu , yes that would be greatly appreciated! If there are any issues of easy difficulty that we could tackle within a week or so (with a proof of concept) that would be much appreciated. Thanks! |
When rate limiting is enabled and the guest is receiving a lot of traffic that triggers throttling the emulation thread will use 100% CPU.
There are 2 possible approaches here:
The text was updated successfully, but these errors were encountered: