On 05/19/2016 03:47 PM, Thomas Monjalon wrote: > 2016-05-18 13:04, Olivier Matz: >> This series is a rework of mempool. For those who don't want to read >> all the cover letter, here is a sumary: >> >> - it is not possible to allocate large mempools if there is not enough >> contiguous memory, this series solves this issue >> - introduce new APIs with less arguments: "create, populate, obj_init" >> - allow to free a mempool >> - split code in smaller functions, will ease the introduction of ext_handler >> - remove test-pmd anonymous mempool creation >> - remove most of dom0-specific mempool code >> - opens the door for a eal_memory rework: we probably don't need large >> contiguous memory area anymore, working with pages would work. >> >> This breaks the ABI as it was indicated in the deprecation for 16.04. >> The API stays almost the same, no modification is needed in examples app >> or in test-pmd. Only kni and mellanox drivers are slightly modified. > > Applied with a small change you sent me to fix mlx build in the middle of the > patchset > and update the removed Xen files in MAINTAINERS file. > > Thanks for the big rework! >
Just noticed this series "breaks" --no-huge as a regular user, commit 593a084afc2b to be exact: mmap(NULL, 4194304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_LOCKED, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) write(1, "EAL: rte_eal_hugepage_init: mmap"..., 76EAL: rte_eal_hugepage_init: mmap() failed: Resource temporarily unavailable "Breaks" in quotes because I guess it always was broken (as the non-locked pages might not be in physical memory) and because its possible to adjust resourse limits to allow the operation to succeed. If you're root, that is. I was just looking into making the test-suite runnable by a regular user with no special privileges, primarily to make it possible to run the testsuite as part of rpm package builds (in %check), and no special setup or extra privileges can be assumed there. Such tests are of course of limited coverage but still better than nothing, and --no-huge was my ticket there. Talk about bad timing :) It'd be fine to have limited subset of tests to run when non-privileged but since this one lives inside rte_eal_init() it practically prevents everything, unless I'm missing some other magic switch or such. Thoughts? - Panu -