mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 02:25:23 +00:00
6576091e56
Having more than one thread watch the interrupt resample event meant that the threads would race to acknowledge the event: if thread B called epoll_wait after thread A got a readable event for the resample eventfd but before thread A called `read()` on the eventfd, then thread B would also get a readable event for that eventfd. Both threads would then attempt to acknowledge the event but only one would succeed. This would leave the other thread blocked on the `read()` call until the resample event became readable again. Fix this by having only one worker watch the resample event. BUG=b:136128319 TEST=`tast run vm.Virtiofs` on kevin Change-Id: I5cd781a9c79ac718207a944433ea20a967735237 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1923568 Tested-by: Chirantan Ekbote <chirantan@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Chirantan Ekbote <chirantan@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |