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

Xueming(Steven) Li xuemingl at mellanox.com
Wed Jan 3 10:37:00 CET 2018


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