[dpdk-dev] [PATCH v3] examples/qos_sched: fix bad bit shift operation
Dumitrescu, Cristian
cristian.dumitrescu at intel.com
Tue May 10 19:25:09 CEST 2016
> -----Original Message-----
> From: Mrozowicz, SlawomirX
> Sent: Tuesday, May 10, 2016 1:21 PM
> To: Dumitrescu, Cristian <cristian.dumitrescu at intel.com>
> Cc: dev at dpdk.org; Singh, Jasvinder <jasvinder.singh at intel.com>;
> Mrozowicz, SlawomirX <slawomirx.mrozowicz at intel.com>
> Subject: [PATCH v3] examples/qos_sched: fix bad bit shift operation
>
> Fix issue reported by Coverity.
>
> Coverity ID 30690: Bad bit shift operation
> large_shift: In expression 1ULL << i, left shifting by more than 63 bits
> has undefined behavior. The shift amount, i, is as much as 127.
>
> Fixes: de3cfa2c9823 ("sched: initial import")
>
> Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
> ---
> examples/qos_sched/args.c | 4 ++--
> examples/qos_sched/main.h | 3 ++-
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c
> index 3e7fd08..354372d 100644
> --- a/examples/qos_sched/args.c
> +++ b/examples/qos_sched/args.c
> @@ -123,7 +123,7 @@ app_eal_core_mask(void)
> uint64_t cm = 0;
> struct rte_config *cfg = rte_eal_get_configuration();
>
> - for (i = 0; i < RTE_MAX_LCORE; i++) {
> + for (i = 0; i < APP_MAX_LCORE; i++) {
> if (cfg->lcore_role[i] == ROLE_RTE)
> cm |= (1ULL << i);
> }
> @@ -142,7 +142,7 @@ app_cpu_core_count(void)
> char path[PATH_MAX];
> uint32_t ncores = 0;
>
> - for(i = 0; i < RTE_MAX_LCORE; i++) {
> + for (i = 0; i < APP_MAX_LCORE; i++) {
> len = snprintf(path, sizeof(path), SYS_CPU_DIR, i);
> if (len <= 0 || (unsigned)len >= sizeof(path))
> continue;
> diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
> index 82aa0fa..e0517d1 100644
> --- a/examples/qos_sched/main.h
> +++ b/examples/qos_sched/main.h
> @@ -68,7 +68,8 @@ extern "C" {
>
> #define BURST_TX_DRAIN_US 100
>
> -#define MAX_DATA_STREAMS (RTE_MAX_LCORE/2)
> +#define APP_MAX_LCORE 64
Please allow this parameter to be configured from Makefile:
#ifndef APP_MAX_LCORE
#define APP_MAX_LCORE 64
#endif
> +#define MAX_DATA_STREAMS (APP_MAX_LCORE/2)
> #define MAX_SCHED_SUBPORTS 8
> #define MAX_SCHED_PIPES 4096
>
> --
> 1.9.1
Yep, looks good. Thanks, Slawomir!
Regards,
Cristian
More information about the dev
mailing list