[dpdk-dev] [PATCH v3 00/35] mempool: rework memory allocation
Olivier Matz
olivier.matz at 6wind.com
Mon May 23 09:43:28 CEST 2016
Hi Panu, Thomas,
On 05/20/2016 11:09 AM, Thomas Monjalon wrote:
> 2016-05-20 11:42, Panu Matilainen:
>> 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,
>
> I have the same dream, to make sure every developer can run the unit tests
> easily and quickly.
Thanks Panu for the feedback on this, I didn't notice this regression
for a regular user.
The goal of this commit was to do a step forward in the direction
of a working --no-huge: locking the pages in physical memory is
mandatory for most physical drivers. But as described at the end
of http://dpdk.org/ml/archives/dev/2016-May/039229.html , the
--no-huge option is still not working because the physical addresses
are not correct.
So I think it wouldn't be a problem to revert this commit if it breaks
something.
>> 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?
>
> This change was done for mbuf allocation because they are passed to the
> hardware. We should not have any hardware constraint in the unit tests.
> So I'd say it is a requirement for the memory rework. We must be capable
> to allocate some locked pages if required, and some standard pages for
> other usages.
> Please jump in this thread:
> http://dpdk.org/ml/archives/dev/2016-April/037444.html
Yes, I agree, this is something that could be managed in the
memory rework task.
Olivier
More information about the dev
mailing list