[dpdk-dev] [RFC] eal/memory: introducing an option to set iova as va

Jerin Jacob jerin.jacob at caviumnetworks.com
Tue Jun 6 12:41:55 CEST 2017


-----Original Message-----
> Date: Tue, 6 Jun 2017 12:13:08 +0200
> From: Gaëtan Rivet <gaetan.rivet at 6wind.com>
> To: Bruce Richardson <bruce.richardson at intel.com>
> Cc: santosh <santosh.shukla at caviumnetworks.com>, thomas at monjalon.net,
>  dev at dpdk.org, jerin.jacob at caviumnetworks.com, hemant.agrawal at nxp.com
> Subject: Re: [dpdk-dev] [RFC] eal/memory: introducing an option to set iova
>  as va
> User-Agent: Mutt/1.5.23 (2014-03-12)
> 
> > 
> > That sounds a more complete solution. However, it's probably a lot of
> > work to implement. :-)
> > 
> > I also wonder if we want to simplify things a little and disallow
> > mixed-mode operation i.e. all devices have to use UIO or all use VFIO?
> > Would that help to allow simplification or other options. Having a whole
> > new bus type seems strange for this. Can each bus just report whether
> > it's members require physical addresses. Then the EAL can manage a
> > single flag to report whether we are using VA or PA?
> > 
> 
> Implementing this at a bus level requires all buses to have drivers
> iterators, which are currently not exposed, or force all buses to
> actively report drivers capabilities upon successful probing. The former
> is a sizeable evolution while the latter leads to having duplicated code
> in all bus->probe() implementation, which seems unsound.
> 
> I may be mistaken, but is this iova mode not currently limited to
> VFIO? Should this API be made generic for all buses or is it only
> relevant to the PCI bus?
> 
> If it can stay specific to the PCI bus, then it should simplify greatly
> the implementation.

It not PCI bus specific. We can have VFIO platform bus too. NXP bus is a
VFIO platform bus. I think, This will help NXP bus as well as currently
they are using #ifdef scheme to select PA vs VA.



More information about the dev mailing list