mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-25 05:03:05 +00:00
ce03437d56
When running plugin tests it's not uncommon to see: vcpu 0 has internal error Though the tests don't actually fail on this problem. This seems to occur as a side effect of the plugin_vcpu_pause.c calling crosvm_destory_memory() before the test VM has actually finished running. The main thread will call read() on the 'kill' eventfd 5 times for: init, pause, unpause, unpause, kill The vcpu thread will call write() on the eventfd up to 8 times: init, pause #1, unpause #1, pause #2, unpause #2, pause #3, unpause #3, kill The main thread's third pause request might occur before the second pause request has been processed, in which case the vcpu thread will only be paused twice (thus there will only be 6 calls to write()). Given the unpredictable # of events I've opted to split the init/pause/unpause events to a separate eventfd and keep the 'kill' eventfd solely for its intended purpose. BUG=None TEST=ran ./build_test several times and observed no failures in the pause plugin test. Change-Id: Ie0817a4419ae6199fcc5c53496360b2bd81556e3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2012788 Reviewed-by: Matt Delco <delco@chromium.org> Commit-Queue: Matt Delco <delco@chromium.org> Tested-by: Matt Delco <delco@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> |
||
---|---|---|
.. | ||
boot.rs | ||
mini_plugin_template.c | ||
plugin.policy | ||
plugin_adder.c | ||
plugin_async_write.c | ||
plugin_dirty_log.c | ||
plugin_extensions.c | ||
plugin_hint.c | ||
plugin_ioevent.c | ||
plugin_irqfd.c | ||
plugin_msr_index_list.c | ||
plugin_net_config.c | ||
plugin_supported_cpuid.c | ||
plugin_vcpu_pause.c | ||
plugin_vm_state.c | ||
plugins.rs | ||
vfs_crypto.c |