diff options
author | Jakub Staron <jstaron@google.com> | 2019-04-24 10:55:25 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-06-05 07:28:54 +0000 |
commit | a3411eaac1ad3d51d5282d1462d6764ad539ce13 (patch) | |
tree | 7a9898280f1cd8c78dcdfac6893189ed42419d76 /arch | |
parent | 127453d7eccdb6a903d0855fabb8f0935be90882 (diff) | |
download | crosvm-a3411eaac1ad3d51d5282d1462d6764ad539ce13.tar crosvm-a3411eaac1ad3d51d5282d1462d6764ad539ce13.tar.gz crosvm-a3411eaac1ad3d51d5282d1462d6764ad539ce13.tar.bz2 crosvm-a3411eaac1ad3d51d5282d1462d6764ad539ce13.tar.lz crosvm-a3411eaac1ad3d51d5282d1462d6764ad539ce13.tar.xz crosvm-a3411eaac1ad3d51d5282d1462d6764ad539ce13.tar.zst crosvm-a3411eaac1ad3d51d5282d1462d6764ad539ce13.zip |
crosvm: virtio-pmem device
Adds support for virtio-pmem device as an alternative for virtio-blk. Exposing disk image to guest as virtio-blk device results in both guest and host independently caching the disk I/O. Using virtio-pmem device allows to mount disk image as direct access (DAX) in the guest and thus bypass the guest cache. This will reduce memory foodprint of the VMs. BUG=None TEST=cargo test TEST=Boot patched termina kernel in crosvm; mount virtio-pmem device as DAX and run xfstests. Change-Id: I935fc8fc7527f79e5169f07ec7927e4ea4fa6027 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1605517 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Zach Reizner <zachr@chromium.org> Commit-Queue: Jakub StaroĊ <jstaron@google.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/src/lib.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/src/lib.rs b/arch/src/lib.rs index 91e7ee4..71e4327 100644 --- a/arch/src/lib.rs +++ b/arch/src/lib.rs @@ -83,7 +83,12 @@ pub trait LinuxArch { create_devices: F, ) -> Result<RunnableLinuxVm, Self::Error> where - F: FnOnce(&GuestMemory, &EventFd) -> Result<Vec<(Box<dyn PciDevice>, Option<Minijail>)>, E>, + F: FnOnce( + &GuestMemory, + &mut Vm, + &mut SystemAllocator, + &EventFd, + ) -> Result<Vec<(Box<dyn PciDevice>, Option<Minijail>)>, E>, E: StdError + 'static; } |