You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When serving memfile with hugepages via UFFD, I sometimes get EAGAIN errors that are not resolved by retrying (for cca 200ms—4096 retries with minimal 50µs delay).
I’m not using balloon device, so I think the behavior described here and here should not apply, but our UFFD handler is still getting the repeated EAGAINs, even though this get triggered very randomly.
Expected behaviour
There should be either no EAGAINs or they should be resolved after waiting.
Environment
Firecracker version: v1.10.1
Host and guest kernel versions: 6.8.0-1018-gcp (host), vmlinux-6.1.102 (guest)
Architecture: x86_64
Checks
Have you searched the Firecracker Issues database for similar problems?
Have you read the existing relevant Firecracker documentation?
Are you certain the bug being reported is a Firecracker issue?
The text was updated successfully, but these errors were encountered:
ValentaTomas
changed the title
Constant EAGAIN errors during UFFD handling without balloon device
Repeated EAGAIN errors during UFFD handling without balloon device
Feb 28, 2025
Hey Tomas,
thanks for opening this issue. Do you have a reproducer for the issue you're describing?
I don't remember seeing any such issue in the past or in our testing. At a quick glance, it seems that -EAGAIN on read is triggered when there is nothing to read on the fd (https://elixir.bootlin.com/linux/v6.8.12/source/fs/userfaultfd.c#L1149).
Are you sure there are events to read on the fd?
I had a quick look at the code you linked and I didn't see a check for it after the poll (ie pollFds[0].Revents & unix.POLLIN != 0).
Thanks
Describe the bug
When serving memfile with hugepages via UFFD, I sometimes get
EAGAIN
errors that are not resolved by retrying (for cca 200ms—4096 retries with minimal 50µs delay).I’m not using balloon device, so I think the behavior described here and here should not apply, but our UFFD handler is still getting the repeated EAGAINs, even though this get triggered very randomly.
Expected behaviour
There should be either no EAGAINs or they should be resolved after waiting.
Environment
Checks
The text was updated successfully, but these errors were encountered: