On 10/28/19 5:07 PM, Olivier Matz wrote:
On Wed, Aug 07, 2019 at 06:21:58PM +0300, Andrew Rybchenko wrote:
On 7/19/19 4:38 PM, Olivier Matz wrote:
When using iova contiguous memory and objets smaller than page size,
ensure that objects are not located across several pages.
It looks like as an attempt to make exception a generic rule and
I think it is not a good idea.

mempool has a notion of IOVA contiguous/non-contiguous objects
depending if PA or VA. rte_mempool_op_populate_default() gets
a memory chunk which is contiguous in VA and, if iova is not bad,
IOVA-contiguous. The patch always enforces page boundaries even
if it is not required. For example, if memory chunk is IOVA_PA
contiguous, the patch could result in holes and extra memory usage
Yes, it may increase memory usage, but the amount should be limited.
On the other hand, the new patchset provides enhancements that will
reduce the memory consumption.

More importantly, it will fix the KNI + IOVA=VA issue. I also wonder if
this problem couldn't happen in case IOVA=PA. Are there any guarantees
that on all architectures a PA-contiguous in always VA-contiguous in the
kernel?

I have no idea. The question is really interesting.
I hope it is true, otherwise we're in trouble since it is
assumed in the code as far as know.

Reply via email to