[dpdk-dev] [PATCH] eal: default to one memory channel if not specified
Bruce Richardson
bruce.richardson at intel.com
Wed Oct 14 15:05:00 CEST 2015
On Wed, Oct 14, 2015 at 03:04:43PM +0300, Panu Matilainen wrote:
> On 10/14/2015 02:45 PM, David Marchand wrote:
> >Hello Panu,
> >
> >On Wed, Oct 14, 2015 at 12:22 PM, Panu Matilainen <pmatilai at redhat.com
> ><mailto:pmatilai at redhat.com>> wrote:
> >
> > Obtaining the correct value, especially from a running system, can
> > be anything from difficult to plain impossible. Since the value is
> > merely an optimization and does not affect functionality otherwise,
> > its pointless to force such a guess on users initially, such things
> > belong to performance tuning phase.
> >
> > Signed-off-by: Panu Matilainen <pmatilai at redhat.com
> > <mailto:pmatilai at redhat.com>>
> > ---
> > lib/librte_eal/common/eal_common_options.c | 10 ++--------
> > 1 file changed, 2 insertions(+), 8 deletions(-)
> >
> > diff --git a/lib/librte_eal/common/eal_common_options.c
> > b/lib/librte_eal/common/eal_common_options.c
> > index 1f459ac..28f10a2 100644
> > --- a/lib/librte_eal/common/eal_common_options.c
> > +++ b/lib/librte_eal/common/eal_common_options.c
> > @@ -104,7 +104,7 @@ eal_reset_internal_config(struct internal_config
> > *internal_cfg)
> >
> > internal_cfg->memory = 0;
> > internal_cfg->force_nrank = 0;
> > - internal_cfg->force_nchannel = 0;
> > + internal_cfg->force_nchannel = 1;
> >
> >
> >Well, not too sure about this default value.
> >
> >- mempool code is already checking for the 0 value.
>
> Yeah, I noticed it already handles the zero case.
>
> >- API already tells for rte_memory_get_nchannel() :
> > * @return
> > * The number of memory channels on the system. The value is 0 if
> >unknown
> > * or not the same on all devices.
>
> ...but missed this one, and thought it'd be "safer" to return some non-zero
> value since callers might be expecting it to be a valid -n value.
>
> >
> >So, I would let it 0.
>
> Right, so just drop the default value, reword commit message accordingly and
> resend. Will do unless there are other objections.
>
> - Panu -
I was going to suggest using 4 as the default value, since the channel spreading
should work as designed on systems with either 1, 2 or 4 active channels.
However, given the zero-check inside the mempool code, maybe the default should
be set there instead of in the EAL. [I just don't think the default should be 1.]
Anyone else any other thoughts on this?
/Bruce
More information about the dev
mailing list