[dpdk-dev] [PATCH v3] eal: add error check for core options

O Mahony, Billy billy.o.mahony at intel.com
Thu Feb 22 11:10:00 CET 2018


> > +.. Note::
> > +    At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can be
> used.
> > +
> > +

Hi Marko,

I always found the n different way to specify cores perplexing. I always suspected they were mutually exclusive but that was far from clear from the docs and it never was important enough to me to try out the various options. Taking the time to add clear documentation makes everyone's work more efficient and less frustrating. 

So thank you and keep up the good work :)

Billy. 

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson
> Sent: Friday, February 2, 2018 3:33 PM
> To: Kovacevic, Marko <marko.kovacevic at intel.com>
> Cc: dev at dpdk.org; Burakov, Anatoly <anatoly.burakov at intel.com>; Varghese,
> Vipin <vipin.varghese at intel.com>; stable at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3] eal: add error check for core options
> 
> On Fri, Feb 02, 2018 at 02:51:28PM +0000, Marko Kovacevic wrote:
> > Error information on current core usage list, mask or map were
> > incomplete. Added states to differentiate core usage and to inform
> > user.
> >
> > Signed-off-by: Marko Kovacevic <marko.kovacevic at intel.com>
> > Reviewed-by: Anatoly Burakov <anatoly.burakov at intel.com>
> Acked-by: Bruce Richardson <bruce.richardson at intel.com>
> 
> This is fine as-is - one comment below for future consideration.
> >
> > ---
> >
> > V3:
> >  - Changed to reflect the coding guidelines - Bruce
> >  - update the documentation for better clarity - Bruce
> >  - Added back the reviewer information - Anatoly
> >
> > V2:
> >  - Cleaned up the logging for error cases - Anatoly
> > ---
> >  doc/guides/testpmd_app_ug/run_app.rst      |  4 ++++
> >  lib/librte_eal/common/eal_common_options.c | 36
> > +++++++++++++++++++++++++++---
> >  2 files changed, 37 insertions(+), 3 deletions(-)
> >
> > diff --git a/doc/guides/testpmd_app_ug/run_app.rst
> > b/doc/guides/testpmd_app_ug/run_app.rst
> > index 46da1df..85e725f 100644
> > --- a/doc/guides/testpmd_app_ug/run_app.rst
> > +++ b/doc/guides/testpmd_app_ug/run_app.rst
> > @@ -62,6 +62,10 @@ See the DPDK Getting Started Guides for more
> information on these options.
> >      The grouping ``()`` can be omitted for single element group.
> >      The ``@`` can be omitted if cpus and lcores have the same value.
> >
> > +.. Note::
> > +    At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can be
> used.
> > +
> > +
> >  *   ``--master-lcore ID``
> >
> >      Core ID that is used as master.
> > diff --git a/lib/librte_eal/common/eal_common_options.c
> > b/lib/librte_eal/common/eal_common_options.c
> > index b6d2762..66f0868 100644
> > --- a/lib/librte_eal/common/eal_common_options.c
> > +++ b/lib/librte_eal/common/eal_common_options.c
> > @@ -57,6 +57,9 @@
> >  #include "eal_filesystem.h"
> >
> >  #define BITS_PER_HEX 4
> > +#define LCORE_OPT_LST 1
> > +#define LCORE_OPT_MSK 2
> > +#define LCORE_OPT_MAP 3
> >
> >  const char
> >  eal_short_options[] =
> > @@ -1028,7 +1031,16 @@ eal_parse_common_option(int opt, const char
> *optarg,
> >  			RTE_LOG(ERR, EAL, "invalid coremask\n");
> >  			return -1;
> >  		}
> > -		core_parsed = 1;
> > +
> > +		if (core_parsed) {
> > +			RTE_LOG(ERR, EAL, "Option -c is ignored, because (%s)
> is set!\n",
> > +				(core_parsed == LCORE_OPT_LST) ? "-l" :
> > +				(core_parsed == LCORE_OPT_MAP) ? "--lcore" :
> > +				"-c");
> 
> This block is repeated in slightly different forms 3 times. It should probably be
> replaced using a function or macro to return the appropriate string based on
> core_parsed value.
> 
> Thanks,
> /Bruce


More information about the dev mailing list