diff options
author | Daniel Verkamp <dverkamp@chromium.org> | 2019-10-30 16:40:12 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-31 19:14:13 +0000 |
commit | 85858f580eada8dd85c8c798ef3e98f18d92dc1e (patch) | |
tree | 86a13553d2420d848f87236b6791ecb01f0e71e3 /devices/src | |
parent | ac0b9b71d142f381d39162a1ac52c7d143700a1b (diff) | |
download | crosvm-85858f580eada8dd85c8c798ef3e98f18d92dc1e.tar crosvm-85858f580eada8dd85c8c798ef3e98f18d92dc1e.tar.gz crosvm-85858f580eada8dd85c8c798ef3e98f18d92dc1e.tar.bz2 crosvm-85858f580eada8dd85c8c798ef3e98f18d92dc1e.tar.lz crosvm-85858f580eada8dd85c8c798ef3e98f18d92dc1e.tar.xz crosvm-85858f580eada8dd85c8c798ef3e98f18d92dc1e.tar.zst crosvm-85858f580eada8dd85c8c798ef3e98f18d92dc1e.zip |
devices: virtio: disable MSI-X for block and net
Temporarily turn off MSI-X support in the block and net devices since it seems this is responsible for some test flakiness that manifests as timeouts/hangs in the ProxyDevice read handler, e.g.: [devices/src/proxy.rs:238] failed read from child device process virtio-pci (virtio-block): failed to receive request or response: Resource temporarily unavailable (os error 11) This is a minimally-invasive change to disable MSI-X without a full revert of the relevant patches by just changing the relevant devices so that they no longer request MSI-X vectors. BUG=chromium:1019986 BUG=chromium:854765 TEST=check /proc/interrupts inside crosvm does not contain "PCI-MSI" Change-Id: Ib37b503e609e2b9e22265370bcfe5804f04057ef Signed-off-by: Daniel Verkamp <dverkamp@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1891643 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Zide Chen <zide.chen@intel.corp-partner.google.com>
Diffstat (limited to 'devices/src')
-rw-r--r-- | devices/src/virtio/block.rs | 5 | ||||
-rw-r--r-- | devices/src/virtio/net.rs | 5 | ||||
-rw-r--r-- | devices/src/virtio/vhost/net.rs | 4 | ||||
-rw-r--r-- | devices/src/virtio/vhost/vsock.rs | 4 |
4 files changed, 0 insertions, 18 deletions
diff --git a/devices/src/virtio/block.rs b/devices/src/virtio/block.rs index 2288849..8e11a29 100644 --- a/devices/src/virtio/block.rs +++ b/devices/src/virtio/block.rs @@ -30,7 +30,6 @@ use super::{ const QUEUE_SIZE: u16 = 256; const QUEUE_SIZES: &[u16] = &[QUEUE_SIZE]; -const NUM_MSIX_VECTORS: u16 = 2; const SECTOR_SHIFT: u8 = 9; const SECTOR_SIZE: u64 = 0x01 << SECTOR_SHIFT; const MAX_DISCARD_SECTORS: u32 = u32::MAX; @@ -742,10 +741,6 @@ impl VirtioDevice for Block { TYPE_BLOCK } - fn msix_vectors(&self) -> u16 { - NUM_MSIX_VECTORS - } - fn queue_max_sizes(&self) -> &[u16] { QUEUE_SIZES } diff --git a/devices/src/virtio/net.rs b/devices/src/virtio/net.rs index abbaa98..740a1d8 100644 --- a/devices/src/virtio/net.rs +++ b/devices/src/virtio/net.rs @@ -30,7 +30,6 @@ const MAX_BUFFER_SIZE: usize = 65562; const QUEUE_SIZE: u16 = 256; const NUM_QUEUES: usize = 2; const QUEUE_SIZES: &[u16] = &[QUEUE_SIZE, QUEUE_SIZE]; -const NUM_MSIX_VECTORS: u16 = NUM_QUEUES as u16; #[derive(Debug)] pub enum NetError { @@ -457,10 +456,6 @@ where TYPE_NET } - fn msix_vectors(&self) -> u16 { - NUM_MSIX_VECTORS - } - fn queue_max_sizes(&self) -> &[u16] { QUEUE_SIZES } diff --git a/devices/src/virtio/vhost/net.rs b/devices/src/virtio/vhost/net.rs index 6bfc52a..c07623d 100644 --- a/devices/src/virtio/vhost/net.rs +++ b/devices/src/virtio/vhost/net.rs @@ -154,10 +154,6 @@ where TYPE_NET } - fn msix_vectors(&self) -> u16 { - NUM_MSIX_VECTORS - } - fn queue_max_sizes(&self) -> &[u16] { QUEUE_SIZES } diff --git a/devices/src/virtio/vhost/vsock.rs b/devices/src/virtio/vhost/vsock.rs index b4101eb..6dc0fbb 100644 --- a/devices/src/virtio/vhost/vsock.rs +++ b/devices/src/virtio/vhost/vsock.rs @@ -116,10 +116,6 @@ impl VirtioDevice for Vsock { TYPE_VSOCK } - fn msix_vectors(&self) -> u16 { - NUM_MSIX_VECTORS - } - fn queue_max_sizes(&self) -> &[u16] { QUEUE_SIZES } |