firecracker-microvm / firecracker-microvm/firecracker
Investigate epoll performance when IO ratelimiting is in effect
Open
Priority: Low
Status: Parked
Type: Enhancement
- Dominant language
- Rust
- Stars
- 36.7k
- Forks
- 2.6k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 58
Description
When IO rate limiting is in effect, requests don't get serviced for a while (by design). This translates to the FD(s) in epoll not being *drained* for a while. During this time the epoll loop spams the Firecracker IO thread with events that are simply ignored down the line.
All that context switching incurs a performance penalty that we could eliminate by temporarily deregistering the rate-limited FD(s) from epoll while limiting is in effect.
We need to investigate whether de-registering and re-registering the FD(s) is overall more or less expensive than the spam of useless context switching.
Contributor guide
Assessment
This issue has not been assessed yet.