Re: [RFC]vhost/vhost-net backend for PCI cards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Wed, 2013-02-27 at 11:17 -0800, Ira W. Snyder wrote:
> Hi Nikhil,
> 
> I don't have any code to offer, but may be able to provide some
> suggestions. I work on a system which has a single (x86) host computer,
> and many PowerPC data processing boards, which are connected via PCI.
> This sounds similar to your hardware.
> 
> Our system was developed before vhost existed. I built a (fairly dumb)
> network driver that just transfers packets over PCI using the PowerPC
> DMA controller. It works, however I think a more generic virtio solution
> will work better. A virtio solution will also allow other types of
> devices besides a network interface.
> 
> I have done some studying of rproc/rpmsg/vhost/vringh, and may have some
> suggestions about those pieces of kernel functionality.
> 
> A HW DMA engine is absolutely needed to get good performance over the
> PCI bus. I don't have experience with PCIe.
> 
> You may want to investigate rproc/rpmsg to help do virtio device
> discovery.

> When dealing with virtio, it may be helpful to think of your PCIe card
> as the "host". 

We wanted to support a host-based disk, using virtio-blk on the card
seemed to be a good way to do this, given that the card runs Linux.

also from a performance perspective, which would be better ? [virtio-net
on the card/backend on the host cpu] v/s [virtio-net on the
hostcpu/backend on the card] ?  given that the host cpu is more powerful
than the card cpu.

> In virtio nomenclature, the "host" is in charge of copying data. 
> Your HW DMA engine needs to be controlled by the "host".

In our case, the host driver controls the HW DMA engine (a subset of the
card DMA engine channels are under host control). But you may be 
referring to the case where the host doesn't have access to the card's
DMA engine.

> 
> Your main computer (the computer the PCIe card plugs into) will be a
> virtio "guest" and will run the virtio-net/virtio-console/etc. drivers.
> 
> Several vendors have contacted me privately to ask for the code for my
> (dumb) network-over-PCI driver. A generic solution to this problem will
> definitely find a userbase.
> 
> I look forward to porting the code to run on my PowerPC PCI boards when
> it becomes available. I am able to help review code as well.
> 
> Good luck!
> Ira



_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux