mempool: fix creation with Xen dom0
authorOlivier Matz <olivier.matz@6wind.com>
Mon, 11 Jul 2016 10:20:28 +0000 (12:20 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 11 Jul 2016 17:10:09 +0000 (19:10 +0200)
Restore the use of 2M hugepages when using Xen Dom0 that was
dropped during mempool rework.

Fixes: c042ba20674a ("mempool: rework support of Xen dom0")

Reported-by: Huilong Xu <huilongx.xu@intel.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_mempool/rte_mempool.c

index d78d02b..6ec0906 100644 (file)
@@ -524,7 +524,11 @@ rte_mempool_populate_default(struct rte_mempool *mp)
        if (mp->nb_mem_chunks != 0)
                return -EEXIST;
 
-       if (rte_eal_has_hugepages()) {
+       if (rte_xen_dom0_supported()) {
+               pg_sz = RTE_PGSIZE_2M;
+               pg_shift = rte_bsf32(pg_sz);
+               align = pg_sz;
+       } else if (rte_eal_has_hugepages()) {
                pg_shift = 0; /* not needed, zone is physically contiguous */
                pg_sz = 0;
                align = RTE_CACHE_LINE_SIZE;