14/05/2018 18:06, Anatoly Burakov: > Currently, populate_virt will check if mempool is already populated. > This will cause inability to reserve multi-chunk mempools if > contiguous memory is not a hard requirement, because if allocating > all-contiguous memory fails, mempool will retry with virtual addresses > and will call populate_virt. It seems that the original code never > anticipated more than one non-physically contiguous area. > > Fix it by removing the check in populate virt. populate_anon() function > calls populate_virt() also, and it can be reasonably inferred that it is > expecting that virtual area is not already populated. Even though a > similar check is already in place there, also add the check that was > part of populate_virt() just in case. > > Fixes: aab4f62d6c1c ("mempool: support no hugepage mode")
If it is really the root cause, you need to add Cc: sta...@dpdk.org. > Cc: olivier.m...@6wind.com > > Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> This patch looks sensible. It will wait some review, so it is a candidate for -rc4.