diff options
author | Chuanxiao Dong <chuanxiao.dong@intel.com> | 2020-03-21 09:15:16 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-25 17:41:42 +0000 |
commit | 45a94bedaea17d8ae95e860b8a4beb2e465c187e (patch) | |
tree | 4662c616cbd5231504bb960fde8c66d5cc4082f0 /devices/src/pci/mod.rs | |
parent | 57b8201eeb75d9b2cbf424fa7a91d6738fe8610c (diff) | |
download | crosvm-45a94bedaea17d8ae95e860b8a4beb2e465c187e.tar crosvm-45a94bedaea17d8ae95e860b8a4beb2e465c187e.tar.gz crosvm-45a94bedaea17d8ae95e860b8a4beb2e465c187e.tar.bz2 crosvm-45a94bedaea17d8ae95e860b8a4beb2e465c187e.tar.lz crosvm-45a94bedaea17d8ae95e860b8a4beb2e465c187e.tar.xz crosvm-45a94bedaea17d8ae95e860b8a4beb2e465c187e.tar.zst crosvm-45a94bedaea17d8ae95e860b8a4beb2e465c187e.zip |
vhost-net: implement direct msix irq fd
The current vhost-net msix irq injection flow is from vhost-kernel to crosvm vhost-net, then to the KVM for irq injection. It still need crosvm vhost-net to trigger irq, which is because the set_vring_call is not directly using the msix irq fd. To optimize this flow to be from vhost-kernel to KVM directly, need: 1. if the msix is enabled and unmasked, use the misx irq fd for the vring_call directly so that all the misx injection can directly to KVM from vhost-kernel. 2. if the msix is disabled or masked, use the indirect vhost_interrupt fd to let the crosvm to control the irq injection. BUG=None TEST=cargo test -p devices TEST=start crosvm with vhost-net, and run the iperf3 on the network without any issue Change-Id: Idb3427f69f23b728305ed63d88973156a03e7c6b Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2046452 Reviewed-by: Stephen Barber <smbarber@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'devices/src/pci/mod.rs')
-rw-r--r-- | devices/src/pci/mod.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/devices/src/pci/mod.rs b/devices/src/pci/mod.rs index 8c5380e..b9ebc19 100644 --- a/devices/src/pci/mod.rs +++ b/devices/src/pci/mod.rs @@ -15,7 +15,7 @@ mod pci_root; mod vfio_pci; pub use self::ac97::{Ac97Backend, Ac97Dev, Ac97Parameters}; -pub use self::msix::{MsixCap, MsixConfig}; +pub use self::msix::{MsixCap, MsixConfig, MsixStatus}; pub use self::pci_configuration::{ PciBarConfiguration, PciBarPrefetchable, PciBarRegionType, PciCapability, PciCapabilityID, PciClassCode, PciConfiguration, PciHeaderType, PciProgrammingInterface, PciSerialBusSubClass, |