[dpdk-dev] [PATCH] vfio: allow to map other memory regions

Wodkowski, PawelX pawelx.wodkowski at intel.com
Wed Jun 28 11:54:32 CEST 2017


> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas at monjalon.net]
> Sent: Monday, June 19, 2017 11:04 PM
> To: Wodkowski, PawelX <pawelx.wodkowski at intel.com>
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] vfio: allow to map other memory regions
> 
> Hi,
> Some comments below
> 
> 24/05/2017 13:17, Pawel Wodkowski:
> > Currently it is not possible to use memory that is not owned by DPDK to
> > perform DMA. This scenarion might be used in vhost applications (like
> > SPDK) where guest send its own memory table. To fill this gap provide
> > API to allow registering arbitrary address in VFIO container.
> >
> > Signed-off-by: Pawel Wodkowski <pawelx.wodkowski at intel.com>
> > ---
> >  lib/librte_eal/linuxapp/eal/Makefile            |   3 +
> >  lib/librte_eal/linuxapp/eal/eal_vfio.c          | 142
> +++++++++++++++++++++---
> >  lib/librte_eal/linuxapp/eal/eal_vfio.h          |  10 ++
> >  lib/librte_eal/linuxapp/eal/include/rte_iommu.h |  78 +++++++++++++
> >  lib/librte_eal/linuxapp/eal/rte_eal_version.map |   8 ++
> >  5 files changed, 224 insertions(+), 17 deletions(-)
> >  create mode 100644 lib/librte_eal/linuxapp/eal/include/rte_iommu.h
> 
> VFIO is not referenced in the doxygen of these functions.
> Could we use this API for something else than VFIO?

This is for any IOMMU hw/module/driver used in host which require special
care about memory regions used for DMA. It is not restricted to VFIO even though
only VFIO is implemented.

> 
> Any API should be declared in common directory, even if it is not
> implemented for FreeBSD (returning -ENOTSUP).

I think those function should be NOP for FreeBSD (like RTE_VFIO_NOIOMMU do)
or be conditionally compiled/included (like it is now). I decide to take second way.
Do you think that I should move rte_iommu.h to common directory and use #ifdef
there?

Pawel


More information about the dev mailing list