[dpdk-dev] [PATCH] mem: warn if address hint is not respected

Jonas Pfefferle pepperjo at japf.ch
Wed Jan 3 10:55:09 CET 2018


I don't believe that it would work since you cannot assume that mmap 
addresses will just increase. Especially with ASLR anything can 
happen. I don't understand why you want to get rid of --base-virtaddr 
I think it is a valid solution for the problem.

  On Wed, 3 Jan 2018 09:37:00 +0000
  "Xueming(Steven) Li" <xuemingl at mellanox.com> wrote:
> So the idea of item 3 might sound and lead to seldom usage of 
>'--base-virtaddress'.
> Reserve an address hole big enough before hugepage almost cost 
>nothing.
> 
>> -----Original Message-----
>> From: Jonas Pfefferle [mailto:pepperjo at japf.ch]
>> Sent: Wednesday, January 3, 2018 5:22 PM
>> To: Xueming(Steven) Li <xuemingl at mellanox.com>; Burakov, Anatoly
>> <anatoly.burakov at intel.com>
>> Cc: dev at dpdk.org; jianfeng.tan at intel.com; Thomas Monjalon
>> <thomas at monjalon.net>
>> Subject: Re: [dpdk-dev] [PATCH] mem: warn if address hint is not 
>>respected
>> 
>> Hi Xueming,
>> 
>> Correct --base-virtaddr was introduced for that purpose. There are
>> multiple reasons why the address layout of the secondary process 
>>might
>> look different: reasons you mentioned in 2), ASLR etc. I believe 
>>there is
>> no way to avoid this in real world use cases. The reason for this
>> particular patch is that the address hint (--base-virtaddr) is 
>>sometimes
>> not respected and the kernel falls back to just reserving any 
>>address it
>> can find to satisfy the mapping (see discussion on the patch), i.e.
>> effectively rendering --base-virtaddr useless.
>> 
>> Regards,
>> Jonas (new email address)
>> 
>> 
>>   On Tue, 26 Dec 2017 15:56:10 +0000
>>   "Xueming(Steven) Li" <xuemingl at mellanox.com> wrote:
>> > Hi Jonas,
>> >
>> > Seems you are trying to use --base-virtaddr to resolve address
>> >conflicts  in secondary, I'm wondering how this happened and how to
>> >avoid it:
>> > 1. what's your hugepage side? Hugepage mmap is size aligned, maybe 
>>1G
>> >works?
>> > 2. is there more libs loaded in secondary process or memory usage
>> >before  EAL init?
>> > 3. Since address allocated in one direction, I'm thinking to 
>>reserve a
>> >larger "hop" address space as MAP_ANONYMOUS, allocate hugepage, 
>>then
>> >release  "hop". That essentially reserve an address space big 
>>enough
>> >for secondary,  and most important the hop size is easy to estimate
>> >than --base-virtaddr.
>> >
>> > Thanks,
>> > Xueming(Steven)
>> >
>> >> -----Original Message-----
>> >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jonas
>> >>Pfefferle1
>> >> Sent: Wednesday, November 8, 2017 7:52 PM
>> >> To: Burakov, Anatoly <anatoly.burakov at intel.com>
>> >> Cc: dev at dpdk.org; jianfeng.tan at intel.com; Thomas Monjalon
>> >><thomas at monjalon.net>
>> >> Subject: Re: [dpdk-dev] [PATCH] mem: warn if address hint is not
>> >>respected
>> >>
>> >> "Burakov, Anatoly" <anatoly.burakov at intel.com> wrote on 
>>11/07/2017
>> >> 02:54:24
>> >> PM:
>> >>
>> >> > From: "Burakov, Anatoly" <anatoly.burakov at intel.com>
>> >> > To: Thomas Monjalon <thomas at monjalon.net>
>> >> > Cc: dev at dpdk.org, Jonas Pfefferle <jpf at zurich.ibm.com>,
>> >> jianfeng.tan at intel.com
>> >> > Date: 11/07/2017 02:54 PM
>> >> > Subject: Re: [dpdk-dev] [PATCH] mem: warn if address hint is 
>>not
>> >> respected
>> >> >
>> >> > On 06-Nov-17 8:26 PM, Thomas Monjalon wrote:
>> >> > > 31/10/2017 10:08, Jonas Pfefferle:
>> >> > >> Print a warning if the --base-virtaddr hint is not respected
>> >>since
>> >> > >> this might lead to problems when mapping memory in the
>> >>secondary
>> >> > >> process.
>> >> > >>
>> >> > >> Signed-off-by: Jonas Pfefferle <jpf at zurich.ibm.com>
>> >> > >
>> >> > > Anatoly, please review this patch.
>> >> > > It does not seem to fix something, so it is candidate for 
>>18.02.
>> >> > >
>> >> >
>> >> > For some reason my Thunderbird ate the original email, so i'll
>> >>reply
>> >> > to this one.
>> >> >
>> >> > One nitpick would be that we're calling get_virtual_area many
>> >>times
>> >> > and it would probably be a good idea to make pagesize static 
>>and
>> >>call
>> >> > sysconf only once. Otherwise,
>> >>
>> >> We should address this in a separate patch and introduce a 
>>pagesize
>> >>function for everyone to use. sysconf is used like this all over 
>>the
>> >>place.
>> >>
>> >> >
>> >> > Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
>> >> >
>> >> > --
>> >> > Thanks,
>> >> > Anatoly
>> >> >
> 



More information about the dev mailing list