diff options
author | Chirantan Ekbote <chirantan@chromium.org> | 2019-11-15 14:25:36 +0900 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-11-22 05:54:03 +0000 |
commit | 6576091e5623bb64af7076672b4ec4e42923ef3c (patch) | |
tree | ddaaeabb0e3359cd8536270939520b71c2c25b8a /seccomp | |
parent | 220605a5fd03d7181d55b59d6bd147c86a4c8bc0 (diff) | |
download | crosvm-6576091e5623bb64af7076672b4ec4e42923ef3c.tar crosvm-6576091e5623bb64af7076672b4ec4e42923ef3c.tar.gz crosvm-6576091e5623bb64af7076672b4ec4e42923ef3c.tar.bz2 crosvm-6576091e5623bb64af7076672b4ec4e42923ef3c.tar.lz crosvm-6576091e5623bb64af7076672b4ec4e42923ef3c.tar.xz crosvm-6576091e5623bb64af7076672b4ec4e42923ef3c.tar.zst crosvm-6576091e5623bb64af7076672b4ec4e42923ef3c.zip |
devices: fs: Only resample interrupts on one thread
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>
Diffstat (limited to 'seccomp')
0 files changed, 0 insertions, 0 deletions