No description
Find a file
Takaya Saeki 303c285b7f cros_async: Move --async-executor to run/device/devices subcommands
Currently, --async-executor option to switch the backend of
cros_async::Executor is a global option of crosvm main command. This is
because --async-executor is an option to switch the async runtime
backend engine of cros_async crate for a whole crosvm.

However, in practice, only run, device, and devices subcommands have the
motivation to switch the backends for the performance. Other subcommands
may or may not use async functions, but it's unlikely they want to
switch the backends. So, it makes sense to make --async-executor an
option of those three subcommands, not of the global option. Also, it
allows us to switch --async-executor in arvm_dev.conf, which overrides
the options for `crosvm run` command, and to control the async executor
by the coming configuration file feature.

Thus, this commit moves the --async-executor option from the global
command to the run, device, and devices subcommands. This is a breaking
change, but it is unlikely to have many users using this relatively new
option. Takayas also confirmed there's no usage on codesearch.

BUG=b:251289312
TEST=confirmed `crosvm --log-level debug run --async-executor ...`
switches the executor with additional debug log in the coming CL.
TEST=confirmed `crosvm --log-level debug device --async-executor ...`
switches the executor with additional debug log in the coming CL.
TEST=confirmed `crosvm --log-level debug devices --async-executor ...`
switches the executor with additional debug log in the coming CL.
TEST=./tools/dev_container ./tools/presubmit

Change-Id: Ia25f2d0b296b8d73f31d71c362e5f90678166d96
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4005473
Auto-Submit: Takaya Saeki <takayas@chromium.org>
Commit-Queue: Takaya Saeki <takayas@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org>
2022-11-08 06:29:20 +00:00
.cargo health-check: Add check for newline at ends of files 2022-08-18 00:17:04 +00:00
.devcontainer dev_container: Fix vscode integration 2022-09-14 00:16:38 +00:00
.github Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
.vscode Document feature flags and introduce new feature sets 2022-10-14 20:31:19 +00:00
aarch64 aarch64: provide initial vcpu regs via vcpu_init 2022-11-02 18:08:46 +00:00
acpi_tables acpi: Add More AML objects 2022-10-11 13:32:01 +00:00
anti_tamper Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
arch crosvm: Fix windows clippy warnings 2022-11-03 18:36:29 +00:00
argh_helpers Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
base base: unix: find active pages in a file 2022-11-07 06:27:47 +00:00
bit_field Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
broker_ipc crash-report: Build with feature crash-report 2022-09-28 14:45:00 +00:00
common tree-wide: use LFS variants of libc functions 2022-11-02 22:20:18 +00:00
crash_report crash_report: Update Cargo.toml dependency for windows cfg. 2022-10-11 16:54:37 +00:00
cros_async cros_async: Move --async-executor to run/device/devices subcommands 2022-11-08 06:29:20 +00:00
cros_fdt arch: split fdt code into its own crate 2022-10-19 17:43:19 +00:00
cros_tracing tracing: rename tracing to cros_tracing. 2022-10-17 20:49:16 +00:00
crosvm-fuzz crosvm-fuzz: update call to BlockAsync::new 2022-10-28 17:38:26 +00:00
crosvm_cli devices: add err code for disk image open failed. 2022-10-20 20:27:58 +00:00
crosvm_control Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
crosvm_plugin Remove plugin-render-server feature 2022-10-14 20:31:19 +00:00
devices crosvm: Enable default features on windows. 2022-11-07 23:03:25 +00:00
disk crosvm: Enable default features on windows. 2022-11-07 23:03:25 +00:00
docs/book docs: book: update references to deprecated disk and network options 2022-11-03 20:32:43 +00:00
e2e_tests e2e_tests: vsock: use a random cid for a guest 2022-11-08 04:26:47 +00:00
fuse Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
gpu_display crosvm: Fix windows clippy warnings 2022-11-03 18:36:29 +00:00
hypervisor Move hypervisor::kvm tests to integration tests 2022-11-03 23:19:11 +00:00
infra Roll recipe dependencies (trivial). 2022-11-07 23:14:35 +00:00
io_uring cros_async: fix io at current file pos for io_uring 2022-09-30 20:32:02 +00:00
kernel_cmdline Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
kernel_loader cargo doc: fix warnings 2022-10-06 20:23:59 +00:00
kvm tree-wide: use LFS variants of libc functions 2022-11-02 22:20:18 +00:00
kvm_sys tree-wide: use LFS variants of libc functions 2022-11-02 22:20:18 +00:00
libcras_stub tree-wide: apply cargo fmt --nightly 2022-10-03 21:39:26 +00:00
linux_input_sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
logo README: Use PNG logo image 2021-10-29 01:56:23 +00:00
media media: cros-codecs: do not export module local types 2022-11-07 10:58:03 +00:00
metrics crosvm: Fix windows clippy warnings 2022-11-03 18:36:29 +00:00
net_sys tree-wide: use "crosvm" capitalization everywhere 2022-10-07 01:10:12 +00:00
net_util net_util: Extract integration_test 2022-11-03 23:29:15 +00:00
power_monitor power_monitor: Enable feature in all-linux 2022-09-20 21:06:47 +00:00
prebuilts test_runner: Add separate cargo target dir for each platform 2022-10-31 21:33:33 +00:00
protos protos: delete unused test helper function 2022-11-07 22:12:32 +00:00
qcow_utils qcow_utils: add qcow feature to Cargo.toml 2022-11-04 08:27:03 +00:00
resources resources: reject unknown fields when deserializing AddressRange 2022-10-24 02:56:12 +00:00
rutabaga_gfx rutabaga_gfx: set render_server_fd to None without virgl_renderer_next 2022-11-03 22:22:42 +00:00
sandbox Reformat all files with nightly 2022-10-31 21:33:33 +00:00
seccomp Generate constants.json offline 2022-11-02 00:13:08 +00:00
serde_keyvalue serde_keyvalue: allow parsing of inner structs 2022-10-26 17:41:37 +00:00
src cros_async: Move --async-executor to run/device/devices subcommands 2022-11-08 06:29:20 +00:00
system_api Fix compilation with vtpm enabled 2022-09-29 17:17:21 +00:00
tests Document feature flags and introduce new feature sets 2022-10-14 20:31:19 +00:00
third_party devices: vhost-user: add protocol flag for shmem 2022-10-21 01:09:07 +00:00
tools crosvm: Enable default features on windows. 2022-11-07 23:03:25 +00:00
tpm2 Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tpm2-sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tube_transporter base: cross platform Event API 2022-10-19 20:17:42 +00:00
usb_sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
usb_util Replace common/assertions with static_assertions 2022-10-31 21:33:33 +00:00
vfio_sys vfio_pci: add support for runtime power management 2022-10-10 10:56:05 +00:00
vhost vhost: Move tests into an integration test 2022-11-04 06:49:36 +00:00
virtio_sys bindgen: update bindings to Linux 5.15 2022-09-14 22:09:30 +00:00
vm_control Reformat all files with nightly 2022-10-31 21:33:33 +00:00
vm_memory aarch64: Don't include pVM firmware region in memory size calculation. 2022-10-12 17:42:33 +00:00
win_audio win_audio: Change Activate audio interface completion event to be unnamed 2022-11-03 00:14:20 +00:00
win_util crosvm: move enum ProcessType to win_util. 2022-09-21 19:28:49 +00:00
x86_64 x86_64: Extract integration tests 2022-11-03 22:47:21 +00:00
.dockerignore add docker supported builds and tests 2019-05-15 13:36:19 -07:00
.gitignore Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
.gitmodules health-check: Add infra checks 2022-08-18 00:17:04 +00:00
.rustfmt.toml rustfmt, win_util: update to 2021 edition 2022-05-31 23:35:02 +00:00
ARCHITECTURE.md Rename integration_tests to e2e_tests 2022-11-03 22:49:39 +00:00
build.rs build.rs: find compile_seccomp_policy via which 2022-11-02 20:18:42 +00:00
Cargo.lock e2e_tests: vsock: use a random cid for a guest 2022-11-08 04:26:47 +00:00
Cargo.toml crosvm: Enable default features on windows. 2022-11-07 23:03:25 +00:00
CONTRIBUTING.md CONTRIBUTING: Add a section about commit messages' format 2022-10-19 06:22:42 +00:00
DIR_METADATA DIR_METADATA: Add public buganizer component 2022-09-21 17:43:59 +00:00
LICENSE Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
mypy.ini Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
OWNERS Add rizhang@ to OWNERS 2022-08-17 01:14:13 +00:00
PRESUBMIT.cfg Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
pyproject.toml Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
README.chromeos.md crosvm: update book and doc links to crosvm.dev 2022-07-29 22:54:01 +00:00
README.md docs: Replace crbug link with issuetracker.google.com 2022-10-18 06:22:41 +00:00
rust-toolchain dev_container: Upgrade to debian bookworm 2022-09-14 22:32:36 +00:00

crosvm - The Chrome OS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linuxs 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 Chrome OS platform. Compared to QEMU, crosvm doesnt 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 Chrome OS devices.

Logo