* [dpdk-dev] DPDK and ASLR
@ 2015-06-12 22:53 Assaad, Sami (Sami)
2015-06-15 10:21 ` Bruce Richardson
0 siblings, 1 reply; 2+ messages in thread
From: Assaad, Sami (Sami) @ 2015-06-12 22:53 UTC (permalink / raw)
To: dev
When I operate a DPDK based application, the EAL always reports the following:
EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
EAL: This may cause issues with mapping memory into secondary processes.
Our application is DPDK client/server based and runs properly.
My questions are:
* Is this warning of any importance?
* Should ASLR be disabled?
* Does ASLR affect DPDK performance?
_________________________________________________________________________________
Issue Update: 7. Re: How do you setup a VM in Promiscuous Mode using PCI
Pass-Through (SR-IOV)? (Qiu, Michael)
The problem I had was due to the fact that RMRR was used by the HOST for the HP 10G NIC card; which prevented me from performing a PCI Pass-Through.
HP provided a BIOS and NIC Firmware update to resolve this. It is to note that an Intel NIC having an 82599 Ethernet Controller did not generate the RMRR issue!
Best Regards,
Sami Assaad.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dpdk-dev] DPDK and ASLR
2015-06-12 22:53 [dpdk-dev] DPDK and ASLR Assaad, Sami (Sami)
@ 2015-06-15 10:21 ` Bruce Richardson
0 siblings, 0 replies; 2+ messages in thread
From: Bruce Richardson @ 2015-06-15 10:21 UTC (permalink / raw)
To: Assaad, Sami (Sami); +Cc: dev
On Fri, Jun 12, 2015 at 10:53:58PM +0000, Assaad, Sami (Sami) wrote:
> When I operate a DPDK based application, the EAL always reports the following:
> EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
> EAL: This may cause issues with mapping memory into secondary processes.
>
> Our application is DPDK client/server based and runs properly.
>
> My questions are:
>
> * Is this warning of any importance?
Yes, it's there for a reason. With ASLR, the position of the hugepage (and other)
memory in your DPDK primary process virtual address space will move about from
one run to another, and the same with the secondary process. Because of this,
you may occasionally get instances where your application fails to run because
an essential piece of memory is mapped at address X in the primary, while something
else is mapped at address X in the secondary process. How frequently, if ever,
this happens will vary from application to application.
If ASLR is disabled, the memory mappings created in the primary and secondary
processes will be identical and repeatable from one run to another, so you can
know that if a set of processes starts once, it will start a second time. With
ASLR enabled, that guarantee cannot be made.
>
> * Should ASLR be disabled?
>
That is a questions we can't answer for you. ASLR is a security feature in the OS
so you should be aware of the implications of disabling it. However, if you need
absolute guarantees of repeatabiltiy of mappings from one multi-process run to
another, the only way get that - that I am aware of - is to disable ASLR. If an
occasional random failure at startup is ok, then ASLR can safely be left on.
> * Does ASLR affect DPDK performance?
No, it only affects the repeatability of memory mappings at DPDK start-up.
Hope this clarifies things.
/Bruce
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-06-15 10:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-12 22:53 [dpdk-dev] DPDK and ASLR Assaad, Sami (Sami)
2015-06-15 10:21 ` Bruce Richardson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).