Thread (225 messages) 225 messages, 11 authors, 2018-10-11

Re: [PATCH 00/16] Support externally allocated memory in DPDK

From: Burakov, Anatoly <hidden>
Date: 2018-09-17 13:00:25

On 17-Sep-18 1:16 PM, Shahaf Shuler wrote:
Monday, September 17, 2018 1:07 PM, Burakov, Anatoly:
quoted
Subject: Re: [dpdk-dev] [PATCH 00/16] Support externally allocated memory
in DPDK

On 13-Sep-18 8:44 AM, Shahaf Shuler wrote:
[...]
quoted
quoted
quoted
The responsibility to ensure memory is accessible before using it is
on the shoulders of the user - there is no checking done with regards
to validity of the memory (nor could there be...).
That makes sense. However who should be in-charge of mapping this
memory for dma access?
quoted
The user or internally be the PMD when encounter the first packet or while
traversing the existing mempools?
quoted
Hi Shahaf,

There are two ways this can be solved. The first way is to perform VFIO
mapping automatically on adding/attaching memory. The second is to force
user to do it manually. For now, the latter is chosen because user knows best
if they intend to do DMA on that memory, but i'm open to suggestions.
I agree with that approach, and will add not only if the mempool is for dma or not but also which ports will use this mempool (this can effect on the mapping).
That is perhaps too hardware-specific - this should probably be handled 
inside the driver callbacks.
However I don't think this is generic enough to use only VFIO. As you said, there are some devices not using VFIO for mapping rather some proprietary driver utility.
IMO DPDK should introduce generic and device agnostic APIs to the user.

My suggestion is instead of doing vfio_dma_map that or vfio_dma_unmap that have a generic dma_map(uint8_t port, address, len). Each driver will register with its own mapping callback (can be vfio_dma_map).
It can be outside of this series, just wondering the people opinion on such approach.
I don't disagree. I don't like bus/net/etc drivers doing their own thing 
with regards to mapping, and i would by far prefer generic way to set up 
DMA maps, to which VFIO will be a subscriber.
quoted
There is an issue with some devices and buses (i.e. bus/fslmc) bypassing EAL
VFIO infrastructure and performing their own VFIO/DMA mapping magic, but
solving that problem is outside the scope of this patchset. Those
devices/buses should fix themselves :)

When not using VFIO, it's out of our hands anyway.
Why?
VFIO is not a must requirement for devices in DPDK.
When i say "out of our hands", what i mean to say is, currently as far 
as EAL API is concerned, there is no DMA mapping outside of VFIO.
quoted
--
Thanks,
Anatoly

-- 
Thanks,
Anatoly
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help