[dpdk-dev] [PATCH v5 0/2] Balanced allocation of hugepages
Thomas Monjalon
thomas at monjalon.net
Tue Jun 20 16:35:28 CEST 2017
20/06/2017 15:58, Ilya Maximets:
> On 20.06.2017 16:07, Thomas Monjalon wrote:
> > 19/06/2017 13:10, Hemant Agrawal:
> >>>>> On Thu, Jun 08, 2017 at 02:21:58PM +0300, Ilya Maximets wrote:
> >>>>>> So, there are 2 option:
> >>>>>>
> >>>>>> 1. Return back config option RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES
> >>>>>> from the first version of the patch and disable it by default.
> >>>>>>
> >>>>>> 2. Keep patch as it is now and make everyone install libnuma
> >>>>>> for successful build.
> >>>
> >> +1 for option 1
> >> It will be a issue and undesired dependency for SoCs, not supporting
> >> NUMA architecture.
> >>
> >> It can be added to the config, who desired to use it by default.
> >
> > Yes I agree, it cannot be a dependency for architectures which
> > do not support NUMA.
> > Please can we rework the patch so that only one node is assumed
> > if NUMA is disabled for the architecture?
>
> We're still don't have dynamic build time configuration system.
> To make get/set_mempolicy work we need to include <numaif.h>
> and have libnuma for successful linkage.
> This means that the only option to not have libnuma as dependency
> is to return back configuration option RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES
> as it was in the first version of the patch.
>
> There is, actually, the third option (besides 2 already described):
>
> 3. Return back config option RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES
> from the first version of the patch and *enable* it by default.
> In this case anyone who doesn't want to have libnuma as dependency
> will be able to disable the config option manually.
>
> Thomas, what do you think? Bruce? Sergio?
It should be enabled on x86 and ppc, and disabled in other
default configurations (ARM for now).
> P.S. We're always able to implement syscall wrappers by hands without any
> external dependencies, but I don't think it's a good decision.
I agree to use libnuma instead of re-inventing the wheel.
Let's just make it optional at build time and fallback on one node
if disabled.
More information about the dev
mailing list