swap: Actually wait for all tasks in a process

The previous attempt to fix this was broken in that it only waited for
at least one task in a process to stop. This change guarantees that all
tasks stop.

BUG=b:331740397
TEST=ui.TaskSwitchCUJ with ArcVmmSwapPolicy turned up to 11

Change-Id: If56648c5c061eb8a33828638fd80867a4fb6c4c7
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5445906
Commit-Queue: Shin Kawamura <kawasin@google.com>
Auto-Submit: David Stevens <stevensd@chromium.org>
Reviewed-by: Shin Kawamura <kawasin@google.com>
1 file changed
tree: 2a675164859b543798411c9a86a9adf39d75cefc
  1. .cargo/
  2. .config/
  3. .devcontainer/
  4. .github/
  5. .vscode/
  6. aarch64/
  7. acpi_tables/
  8. arch/
  9. argh_helpers/
  10. audio_streams_conformance_test/
  11. audio_util/
  12. base/
  13. bit_field/
  14. broker_ipc/
  15. common/
  16. cros_async/
  17. cros_fdt/
  18. cros_tracing/
  19. cros_tracing_types/
  20. crosvm_cli/
  21. crosvm_control/
  22. crosvm_plugin/
  23. devices/
  24. disk/
  25. docs/
  26. e2e_tests/
  27. fuse/
  28. fuzz/
  29. gpu_display/
  30. hypervisor/
  31. infra/
  32. io_uring/
  33. jail/
  34. kernel_cmdline/
  35. kernel_loader/
  36. kvm/
  37. kvm_sys/
  38. libcras_stub/
  39. linux_input_sys/
  40. logo/
  41. media/
  42. metrics/
  43. metrics_events/
  44. net_sys/
  45. net_util/
  46. perfetto/
  47. power_monitor/
  48. prebuilts/
  49. proto_build_tools/
  50. protos/
  51. resources/
  52. riscv64/
  53. rutabaga_gfx/
  54. sandbox/
  55. serde_keyvalue/
  56. src/
  57. swap/
  58. system_api/
  59. tests/
  60. third_party/
  61. tools/
  62. tube_transporter/
  63. usb_sys/
  64. usb_util/
  65. vendor/
  66. vfio_sys/
  67. vhost/
  68. virtio_sys/
  69. vm_control/
  70. vm_memory/
  71. win_audio/
  72. win_util/
  73. x86_64/
  74. .dockerignore
  75. .envrc
  76. .gitattributes
  77. .gitignore
  78. .gitmodules
  79. .rustfmt.toml
  80. ARCHITECTURE.md
  81. Cargo.lock
  82. Cargo.toml
  83. CONTRIBUTING.md
  84. DIR_METADATA
  85. LICENSE
  86. mypy.ini
  87. OWNERS
  88. OWNERS_COUNCIL
  89. PRESUBMIT.cfg
  90. pyproject.toml
  91. README.chromeos.md
  92. README.md
  93. rust-toolchain
README.md

crosvm - The ChromeOS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the ChromeOS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.

crosvm is currently used to run Linux/Android guests on ChromeOS devices.

Logo