Hi, On Thu, Mar 15, 2018 at 03:44:34PM +0300, Andrew Rybchenko wrote:
[...] > > > Aha, you're saying that virtual-contiguous and IOVA-contiguous > > > requirements are different things that it could be usecases where > > > virtual contiguous is important but IOVA-contiguos is not required. > > > It is perfectly fine. > > > As I understand IOVA-contiguous (physical) typically means > > > virtual-contiguous as well. Requirements to have everything > > > virtually contiguous and some blocks physically contiguous are > > > unlikely. So, it may be reduced to either virtual or physical > > > contiguous. If mempool does not care about physical contiguous at > > > all, MEMPOOL_F_NO_PHYS_CONTIG flag should be used and min_chunk_size > > > should mean virtual contiguous requirements. If mempool requires > > > physical contiguous objects, there is *no* MEMPOOL_F_NO_PHYS_CONTIG > > > flag and min_chunk_size means physical contiguous requirements. Just as a side note, from what I understood, having VA="contiguous" and IOVA="don't care" would be helpful for mbuf pools with mellanox drivers because perform better in that case.