[Rust-VMM] pci-driver Rust crate now available

Alberto Faria afaria at redhat.com
Mon Nov 7 07:43:00 UTC 2022


Hi Luka,

Apologies for the delay.

On Sat, Oct 29, 2022 at 4:45 PM Luka Perkov <luka.perkov at sartura.hr> wrote:
> On Sat, Oct 29, 2022 at 12:15 PM Alberto Faria <afaria at redhat.com> wrote:
> > In principle, any PCI(e) device can be controlled using pci-driver. A
> > standard use case would be to build a user-space NVMe driver to get
> > every last bit of performance out of a storage device (think SPDK).
>
> That sounds interesting. Is there a project leveraging this library in
> such a way?

Not yet for NVMe, but we have used it to implement a user-space driver
for virtio-blk PCI devices, which is integrated in libblkio [1].

> > By switching silicon, do you mean actual PCIe switches? If so, no:
> > pci-driver expects functions with a type 0 config space header.
>
> Nope, I mean the network switches, such as the ones here where the
> Linux CPU is connected via PCIe:
>
> https://lwn.net/Articles/829522/
> https://dent.dev/

Then yes, pci-driver could be used to build user-level drivers for
SmartNICs and switching offload PCI devices.

Thanks,
Alberto

[1] https://gitlab.com/libblkio/libblkio




More information about the Rust-vmm mailing list