[dpdk-dev] Memory Pinning.

Alex Markuze alex at weka.io
Mon Jun 30 12:00:52 CEST 2014


Hi, Guys.
I have several newbie questions about the DPDK design I was hoping some one
could answer.

Both in the RX and TX flow, the Buffer Memory must be pinned and not
swappable.
In RDMA, memory is explicitly registered and made pinned (to the limit
defined @ /etc/security/limits.conf) .With regular sockets/kernel driver
the NIC DMA's the buffer from/to the kernel which are by definition un
swappable.

So I'm guessing that at least the TX/RX buffers are mapped to kernel space.

My questions are 1. How are the buffers made unswappable ? Are they shared
with the kernel 2. When and Which buffers are mapped/unmapped to the kernel
space. 3. When are the buffers DMA mapped and by whom?

And another "bonus" Question. On TX flow I didn't find a way to receive a
send completion.
So how Can I know when its safe to modify the sent buffers (besides of
waiting for the ring buffer to complete a full circle)?


Thanks.
Alex.


More information about the dev mailing list