mem: fix mempool for --no-huge
authorDamien Millescamps <damien.millescamps@6wind.com>
Fri, 1 Mar 2013 15:10:57 +0000 (16:10 +0100)
committerDavid Marchand <david.marchand@6wind.com>
Wed, 26 Feb 2014 10:07:27 +0000 (11:07 +0100)
commit1896b4ec5e7ad5089fa17120bebf17d5dea8f476
tree7e81783121f2bd297e0d7ce1e2afa6bcea45fc2e
parentc5e9eeca5a67a8272f0fdedcd0afc9b2d22be376
mem: fix mempool for --no-huge

In --no-huge mode, mempool provides objects with their associated
header/trailer fitting in a standard page (usually 4KB).
This means all non-UIO driver should work correctly in this mode,
since UIO drivers allocate ring sizes that cannot fit in a page.

Extend rte_mempool_virt2phy to obtain the correct physical address when
elements of the pool are not on the same physically contiguous memory region.

Reason for this patch is to be able to run on a kernel < 2.6.37 without
the need to patch it, since all kernel below are either bugged or don't
have huge page support at all (< 2.6.28).

Signed-off-by: Damien Millescamps <damien.millescamps@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
lib/librte_eal/linuxapp/eal/eal_memory.c
lib/librte_mempool/rte_mempool.c
lib/librte_mempool/rte_mempool.h