DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals
@ 2021-03-09 23:44 Tyler Retzlaff
  2021-03-12 12:51 ` Burakov, Anatoly
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Tyler Retzlaff @ 2021-03-09 23:44 UTC (permalink / raw)
  To: dev; +Cc: anatoly.burakov, david.hunt

use ~0ULL instead of -1ULL to avoid contridctory application of '-' sign
to integer literal where the desired type is unsigned.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 lib/librte_eal/common/eal_common_fbarray.c | 12 ++++++------
 lib/librte_power/rte_power_pmd_mgmt.c      |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_fbarray.c b/lib/librte_eal/common/eal_common_fbarray.c
index 592ec5859..82d271725 100644
--- a/lib/librte_eal/common/eal_common_fbarray.c
+++ b/lib/librte_eal/common/eal_common_fbarray.c
@@ -138,7 +138,7 @@ find_next_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 	 */
 	last = MASK_LEN_TO_IDX(arr->len);
 	last_mod = MASK_LEN_TO_MOD(arr->len);
-	last_msk = ~(-1ULL << last_mod);
+	last_msk = ~(~0ULL << last_mod);
 
 	for (msk_idx = first; msk_idx < msk->n_masks; msk_idx++) {
 		uint64_t cur_msk, lookahead_msk;
@@ -398,8 +398,8 @@ find_prev_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 	first_mod = MASK_LEN_TO_MOD(start);
 	/* we're going backwards, so mask must start from the top */
 	ignore_msk = first_mod == MASK_ALIGN - 1 ?
-				-1ULL : /* prevent overflow */
-				~(-1ULL << (first_mod + 1));
+				~0ULL : /* prevent overflow */
+				~(~0ULL << (first_mod + 1));
 
 	/* go backwards, include zero */
 	msk_idx = first;
@@ -513,7 +513,7 @@ find_prev_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 				 * no runs in the space we've lookbehind-scanned
 				 * as well, so skip that on next iteration.
 				 */
-				ignore_msk = -1ULL << need;
+				ignore_msk = ~0ULL << need;
 				msk_idx = lookbehind_idx;
 				break;
 			}
@@ -560,8 +560,8 @@ find_prev(const struct rte_fbarray *arr, unsigned int start, bool used)
 	first_mod = MASK_LEN_TO_MOD(start);
 	/* we're going backwards, so mask must start from the top */
 	ignore_msk = first_mod == MASK_ALIGN - 1 ?
-				-1ULL : /* prevent overflow */
-				~(-1ULL << (first_mod + 1));
+				~0ULL : /* prevent overflow */
+				~(~0ULL << (first_mod + 1));
 
 	/* go backwards, include zero */
 	idx = first;
diff --git a/lib/librte_power/rte_power_pmd_mgmt.c b/lib/librte_power/rte_power_pmd_mgmt.c
index 454ef7091..579f10e4b 100644
--- a/lib/librte_power/rte_power_pmd_mgmt.c
+++ b/lib/librte_power/rte_power_pmd_mgmt.c
@@ -111,7 +111,7 @@ clb_umwait(uint16_t port_id, uint16_t qidx, struct rte_mbuf **pkts __rte_unused,
 				ret = rte_eth_get_monitor_addr(port_id, qidx,
 						&pmc);
 				if (ret == 0)
-					rte_power_monitor(&pmc, -1ULL);
+					rte_power_monitor(&pmc, ~0ULL);
 			}
 			q_conf->umwait_in_progress = false;
 
-- 
2.30.0.vfs.0.2


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals
  2021-03-09 23:44 [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals Tyler Retzlaff
@ 2021-03-12 12:51 ` Burakov, Anatoly
  2021-03-12 17:05   ` Tyler Retzlaff
  2021-03-15 15:36 ` [dpdk-dev] [PATCH v2] eal, power: use UINT64_MAX instead of -1ULL Tyler Retzlaff
  2021-03-16  0:13 ` [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX Tyler Retzlaff
  2 siblings, 1 reply; 12+ messages in thread
From: Burakov, Anatoly @ 2021-03-12 12:51 UTC (permalink / raw)
  To: Tyler Retzlaff, dev; +Cc: david.hunt

On 09-Mar-21 11:44 PM, Tyler Retzlaff wrote:
> use ~0ULL instead of -1ULL to avoid contridctory application of '-' sign
> to integer literal where the desired type is unsigned.
> 
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> ---

Not sure i agree. It's a very common pattern and is widely used and 
understood. I mean, if anything, seeing `~0` would have me stop and 
think as i've literally never seen such code before.

-- 
Thanks,
Anatoly

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals
  2021-03-12 12:51 ` Burakov, Anatoly
@ 2021-03-12 17:05   ` Tyler Retzlaff
  2021-03-12 17:37     ` Bruce Richardson
  0 siblings, 1 reply; 12+ messages in thread
From: Tyler Retzlaff @ 2021-03-12 17:05 UTC (permalink / raw)
  To: Burakov, Anatoly; +Cc: dev, david.hunt

On Fri, Mar 12, 2021 at 12:51:46PM +0000, Burakov, Anatoly wrote:
> On 09-Mar-21 11:44 PM, Tyler Retzlaff wrote:
> >use ~0ULL instead of -1ULL to avoid contridctory application of '-' sign
> >to integer literal where the desired type is unsigned.
> >
> >Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> >---
> 
> Not sure i agree. It's a very common pattern and is widely used and
> understood. I mean, if anything, seeing `~0` would have me stop and
> think as i've literally never seen such code before.

it produces warnings under some compilers. in some enterprises we are
required to fix certain classes of warnings (not suppress them from the
command line) as a function of security policies.

as an alternative would you be more willing to accept something like the
following? ``(unsigned long long)-1LL'' if you don't like ``~0ULL'' it
would make explicit what the compiler is already doing.

the issue is the application of the sign to what is clearly something not
signed; it get's flagged. so the cast is an explicit expression of intent
that will not generate the warnings.

appreciate you're help in finding a solution even if it isn't the
proposed solution.

thanks!

> 
> -- 
> Thanks,
> Anatoly

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals
  2021-03-12 17:05   ` Tyler Retzlaff
@ 2021-03-12 17:37     ` Bruce Richardson
  2021-03-12 18:36       ` Tyler Retzlaff
  0 siblings, 1 reply; 12+ messages in thread
From: Bruce Richardson @ 2021-03-12 17:37 UTC (permalink / raw)
  To: Tyler Retzlaff; +Cc: Burakov, Anatoly, dev, david.hunt

On Fri, Mar 12, 2021 at 09:05:58AM -0800, Tyler Retzlaff wrote:
> On Fri, Mar 12, 2021 at 12:51:46PM +0000, Burakov, Anatoly wrote:
> > On 09-Mar-21 11:44 PM, Tyler Retzlaff wrote:
> > >use ~0ULL instead of -1ULL to avoid contridctory application of '-' sign
> > >to integer literal where the desired type is unsigned.
> > >
> > >Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > >---
> > 
> > Not sure i agree. It's a very common pattern and is widely used and
> > understood. I mean, if anything, seeing `~0` would have me stop and
> > think as i've literally never seen such code before.
> 
> it produces warnings under some compilers. in some enterprises we are
> required to fix certain classes of warnings (not suppress them from the
> command line) as a function of security policies.
> 
> as an alternative would you be more willing to accept something like the
> following? ``(unsigned long long)-1LL'' if you don't like ``~0ULL'' it
> would make explicit what the compiler is already doing.
> 
> the issue is the application of the sign to what is clearly something not
> signed; it get's flagged. so the cast is an explicit expression of intent
> that will not generate the warnings.
> 
> appreciate you're help in finding a solution even if it isn't the
> proposed solution.
> 
What about using ULLONG_MAX and similar defines from limits.h?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals
  2021-03-12 17:37     ` Bruce Richardson
@ 2021-03-12 18:36       ` Tyler Retzlaff
  2021-03-12 18:40         ` Tyler Retzlaff
  0 siblings, 1 reply; 12+ messages in thread
From: Tyler Retzlaff @ 2021-03-12 18:36 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Burakov, Anatoly, dev, david.hunt

On Fri, Mar 12, 2021 at 05:37:41PM +0000, Bruce Richardson wrote:
> On Fri, Mar 12, 2021 at 09:05:58AM -0800, Tyler Retzlaff wrote:
> > > Not sure i agree. It's a very common pattern and is widely used and
> > > understood. I mean, if anything, seeing `~0` would have me stop and
> > > think as i've literally never seen such code before.
> > 
> > it produces warnings under some compilers. in some enterprises we are
> > required to fix certain classes of warnings (not suppress them from the
> > command line) as a function of security policies.
> > 
> > as an alternative would you be more willing to accept something like the
> > following? ``(unsigned long long)-1LL'' if you don't like ``~0ULL'' it
> > would make explicit what the compiler is already doing.
> > 
> > the issue is the application of the sign to what is clearly something not
> > signed; it get's flagged. so the cast is an explicit expression of intent
> > that will not generate the warnings.
> > 
> > appreciate you're help in finding a solution even if it isn't the
> > proposed solution.
> > 
> What about using ULLONG_MAX and similar defines from limits.h?

i think this would be okay even in circumstances where the code is
building masks so long as in practice it results in "all bits being
set". i'm not aware of a XXX_MAX where max isn't all bits set.. is
there?


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals
  2021-03-12 18:36       ` Tyler Retzlaff
@ 2021-03-12 18:40         ` Tyler Retzlaff
  2021-03-13  9:05           ` Morten Brørup
  0 siblings, 1 reply; 12+ messages in thread
From: Tyler Retzlaff @ 2021-03-12 18:40 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Burakov, Anatoly, dev, david.hunt

On Fri, Mar 12, 2021 at 10:36:15AM -0800, Tyler Retzlaff wrote:
> On Fri, Mar 12, 2021 at 05:37:41PM +0000, Bruce Richardson wrote:
> > On Fri, Mar 12, 2021 at 09:05:58AM -0800, Tyler Retzlaff wrote:
> > > > Not sure i agree. It's a very common pattern and is widely used and
> > > > understood. I mean, if anything, seeing `~0` would have me stop and
> > > > think as i've literally never seen such code before.
> > > 
> > > it produces warnings under some compilers. in some enterprises we are
> > > required to fix certain classes of warnings (not suppress them from the
> > > command line) as a function of security policies.
> > > 
> > > as an alternative would you be more willing to accept something like the
> > > following? ``(unsigned long long)-1LL'' if you don't like ``~0ULL'' it
> > > would make explicit what the compiler is already doing.
> > > 
> > > the issue is the application of the sign to what is clearly something not
> > > signed; it get's flagged. so the cast is an explicit expression of intent
> > > that will not generate the warnings.
> > > 
> > > appreciate you're help in finding a solution even if it isn't the
> > > proposed solution.
> > > 
> > What about using ULLONG_MAX and similar defines from limits.h?
> 
> i think this would be okay even in circumstances where the code is
> building masks so long as in practice it results in "all bits being
> set". i'm not aware of a XXX_MAX where max isn't all bits set.. is
> there?

just a qualification to my previous.

specifically for the UXXX_MAX (unsigned) preprocessor definitions, we
aren't talking about signed here (or at least i wasn't).

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals
  2021-03-12 18:40         ` Tyler Retzlaff
@ 2021-03-13  9:05           ` Morten Brørup
  0 siblings, 0 replies; 12+ messages in thread
From: Morten Brørup @ 2021-03-13  9:05 UTC (permalink / raw)
  To: Tyler Retzlaff, Bruce Richardson; +Cc: Burakov, Anatoly, dev, david.hunt

> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Tyler Retzlaff
> Sent: Friday, March 12, 2021 7:40 PM
> 
> On Fri, Mar 12, 2021 at 10:36:15AM -0800, Tyler Retzlaff wrote:
> > On Fri, Mar 12, 2021 at 05:37:41PM +0000, Bruce Richardson wrote:
> > > On Fri, Mar 12, 2021 at 09:05:58AM -0800, Tyler Retzlaff wrote:
> > > > > Not sure i agree. It's a very common pattern and is widely used and
> > > > > understood. I mean, if anything, seeing `~0` would have me stop and
> > > > > think as i've literally never seen such code before.
> > > >
> > > > it produces warnings under some compilers. in some enterprises we are
> > > > required to fix certain classes of warnings (not suppress them from
> the
> > > > command line) as a function of security policies.
> > > >
> > > > as an alternative would you be more willing to accept something like
> the
> > > > following? ``(unsigned long long)-1LL'' if you don't like ``~0ULL''
> it
> > > > would make explicit what the compiler is already doing.
> > > >
> > > > the issue is the application of the sign to what is clearly something
> not
> > > > signed; it get's flagged. so the cast is an explicit expression of
> intent
> > > > that will not generate the warnings.
> > > >
> > > > appreciate you're help in finding a solution even if it isn't the
> > > > proposed solution.
> > > >
> > > What about using ULLONG_MAX and similar defines from limits.h?

The type of the variable being manipulated is not unsigned long long, but uint64_t, which theoretically is not the same. Long long can be more than 64 bit, although all current implementations use 64 bit for long long.

So -1ULL was wrong from the start, and ~0ULL is similarly incorrect. The correct value would be UINT64_MAX from stdint.h.

> >
> > i think this would be okay even in circumstances where the code is
> > building masks so long as in practice it results in "all bits being
> > set". i'm not aware of a XXX_MAX where max isn't all bits set.. is
> > there?
> 
> just a qualification to my previous.
> 
> specifically for the UXXX_MAX (unsigned) preprocessor definitions, we
> aren't talking about signed here (or at least i wasn't).


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [dpdk-dev] [PATCH v2] eal, power: use UINT64_MAX instead of -1ULL
  2021-03-09 23:44 [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals Tyler Retzlaff
  2021-03-12 12:51 ` Burakov, Anatoly
@ 2021-03-15 15:36 ` Tyler Retzlaff
  2021-03-16  0:13 ` [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX Tyler Retzlaff
  2 siblings, 0 replies; 12+ messages in thread
From: Tyler Retzlaff @ 2021-03-15 15:36 UTC (permalink / raw)
  To: dev; +Cc: anatoly.burakov, david.hunt, mb

use UINT64_MAX instead of -1ULL when manipulating uint64_t masks and
initializing sentinel values.

some compilers generate a warning when applying a '-' to an unsigned
literal so avoid this by initializing with unsigned preprocessor
definitions where appropriate.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 lib/librte_eal/common/eal_common_fbarray.c | 12 ++++++------
 lib/librte_power/rte_power_pmd_mgmt.c      |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_fbarray.c b/lib/librte_eal/common/eal_common_fbarray.c
index 592ec5859..3a28a5324 100644
--- a/lib/librte_eal/common/eal_common_fbarray.c
+++ b/lib/librte_eal/common/eal_common_fbarray.c
@@ -138,7 +138,7 @@ find_next_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 	 */
 	last = MASK_LEN_TO_IDX(arr->len);
 	last_mod = MASK_LEN_TO_MOD(arr->len);
-	last_msk = ~(-1ULL << last_mod);
+	last_msk = ~(UINT64_MAX << last_mod);
 
 	for (msk_idx = first; msk_idx < msk->n_masks; msk_idx++) {
 		uint64_t cur_msk, lookahead_msk;
@@ -398,8 +398,8 @@ find_prev_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 	first_mod = MASK_LEN_TO_MOD(start);
 	/* we're going backwards, so mask must start from the top */
 	ignore_msk = first_mod == MASK_ALIGN - 1 ?
-				-1ULL : /* prevent overflow */
-				~(-1ULL << (first_mod + 1));
+				UINT64_MAX : /* prevent overflow */
+				~(UINT64_MAX << (first_mod + 1));
 
 	/* go backwards, include zero */
 	msk_idx = first;
@@ -513,7 +513,7 @@ find_prev_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 				 * no runs in the space we've lookbehind-scanned
 				 * as well, so skip that on next iteration.
 				 */
-				ignore_msk = -1ULL << need;
+				ignore_msk = UINT64_MAX << need;
 				msk_idx = lookbehind_idx;
 				break;
 			}
@@ -560,8 +560,8 @@ find_prev(const struct rte_fbarray *arr, unsigned int start, bool used)
 	first_mod = MASK_LEN_TO_MOD(start);
 	/* we're going backwards, so mask must start from the top */
 	ignore_msk = first_mod == MASK_ALIGN - 1 ?
-				-1ULL : /* prevent overflow */
-				~(-1ULL << (first_mod + 1));
+				UINT64_MAX : /* prevent overflow */
+				~(UINT64_MAX << (first_mod + 1));
 
 	/* go backwards, include zero */
 	idx = first;
diff --git a/lib/librte_power/rte_power_pmd_mgmt.c b/lib/librte_power/rte_power_pmd_mgmt.c
index 454ef7091..db03cbf42 100644
--- a/lib/librte_power/rte_power_pmd_mgmt.c
+++ b/lib/librte_power/rte_power_pmd_mgmt.c
@@ -111,7 +111,7 @@ clb_umwait(uint16_t port_id, uint16_t qidx, struct rte_mbuf **pkts __rte_unused,
 				ret = rte_eth_get_monitor_addr(port_id, qidx,
 						&pmc);
 				if (ret == 0)
-					rte_power_monitor(&pmc, -1ULL);
+					rte_power_monitor(&pmc, UINT64_MAX);
 			}
 			q_conf->umwait_in_progress = false;
 
-- 
2.30.0.vfs.0.2


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX
  2021-03-09 23:44 [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals Tyler Retzlaff
  2021-03-12 12:51 ` Burakov, Anatoly
  2021-03-15 15:36 ` [dpdk-dev] [PATCH v2] eal, power: use UINT64_MAX instead of -1ULL Tyler Retzlaff
@ 2021-03-16  0:13 ` Tyler Retzlaff
  2021-03-16 11:06   ` Morten Brørup
  2021-04-01 11:22   ` Burakov, Anatoly
  2 siblings, 2 replies; 12+ messages in thread
From: Tyler Retzlaff @ 2021-03-16  0:13 UTC (permalink / raw)
  To: dev; +Cc: anatoly.burakov, david.hunt, mb

Use UINT64_MAX and UINT32_MAX instead of -1 or ~0 literal variations
of different explicit widths when creating masks and sentinel values.

some compilers generate a warning when applying a '-' to an unsigned
literal so avoid this by initializing with unsigned preprocessor
definitions where appropriate.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 lib/librte_eal/common/eal_common_fbarray.c | 12 ++++++------
 lib/librte_eal/common/eal_common_log.c     |  2 +-
 lib/librte_power/rte_power_pmd_mgmt.c      |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_fbarray.c b/lib/librte_eal/common/eal_common_fbarray.c
index 592ec5859..3a28a5324 100644
--- a/lib/librte_eal/common/eal_common_fbarray.c
+++ b/lib/librte_eal/common/eal_common_fbarray.c
@@ -138,7 +138,7 @@ find_next_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 	 */
 	last = MASK_LEN_TO_IDX(arr->len);
 	last_mod = MASK_LEN_TO_MOD(arr->len);
-	last_msk = ~(-1ULL << last_mod);
+	last_msk = ~(UINT64_MAX << last_mod);
 
 	for (msk_idx = first; msk_idx < msk->n_masks; msk_idx++) {
 		uint64_t cur_msk, lookahead_msk;
@@ -398,8 +398,8 @@ find_prev_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 	first_mod = MASK_LEN_TO_MOD(start);
 	/* we're going backwards, so mask must start from the top */
 	ignore_msk = first_mod == MASK_ALIGN - 1 ?
-				-1ULL : /* prevent overflow */
-				~(-1ULL << (first_mod + 1));
+				UINT64_MAX : /* prevent overflow */
+				~(UINT64_MAX << (first_mod + 1));
 
 	/* go backwards, include zero */
 	msk_idx = first;
@@ -513,7 +513,7 @@ find_prev_n(const struct rte_fbarray *arr, unsigned int start, unsigned int n,
 				 * no runs in the space we've lookbehind-scanned
 				 * as well, so skip that on next iteration.
 				 */
-				ignore_msk = -1ULL << need;
+				ignore_msk = UINT64_MAX << need;
 				msk_idx = lookbehind_idx;
 				break;
 			}
@@ -560,8 +560,8 @@ find_prev(const struct rte_fbarray *arr, unsigned int start, bool used)
 	first_mod = MASK_LEN_TO_MOD(start);
 	/* we're going backwards, so mask must start from the top */
 	ignore_msk = first_mod == MASK_ALIGN - 1 ?
-				-1ULL : /* prevent overflow */
-				~(-1ULL << (first_mod + 1));
+				UINT64_MAX : /* prevent overflow */
+				~(UINT64_MAX << (first_mod + 1));
 
 	/* go backwards, include zero */
 	idx = first;
diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c
index c5554badb..1b2745329 100644
--- a/lib/librte_eal/common/eal_common_log.c
+++ b/lib/librte_eal/common/eal_common_log.c
@@ -30,7 +30,7 @@ static struct rte_logs {
 	size_t dynamic_types_len;
 	struct rte_log_dynamic_type *dynamic_types;
 } rte_logs = {
-	.type = ~0,
+	.type = UINT32_MAX,
 	.level = RTE_LOG_DEBUG,
 };
 
diff --git a/lib/librte_power/rte_power_pmd_mgmt.c b/lib/librte_power/rte_power_pmd_mgmt.c
index 454ef7091..db03cbf42 100644
--- a/lib/librte_power/rte_power_pmd_mgmt.c
+++ b/lib/librte_power/rte_power_pmd_mgmt.c
@@ -111,7 +111,7 @@ clb_umwait(uint16_t port_id, uint16_t qidx, struct rte_mbuf **pkts __rte_unused,
 				ret = rte_eth_get_monitor_addr(port_id, qidx,
 						&pmc);
 				if (ret == 0)
-					rte_power_monitor(&pmc, -1ULL);
+					rte_power_monitor(&pmc, UINT64_MAX);
 			}
 			q_conf->umwait_in_progress = false;
 
-- 
2.30.0.vfs.0.2


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX
  2021-03-16  0:13 ` [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX Tyler Retzlaff
@ 2021-03-16 11:06   ` Morten Brørup
  2021-04-01 11:22   ` Burakov, Anatoly
  1 sibling, 0 replies; 12+ messages in thread
From: Morten Brørup @ 2021-03-16 11:06 UTC (permalink / raw)
  To: Tyler Retzlaff, dev; +Cc: anatoly.burakov, david.hunt

> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Tyler Retzlaff
> Sent: Tuesday, March 16, 2021 1:14 AM
> 
> Use UINT64_MAX and UINT32_MAX instead of -1 or ~0 literal variations
> of different explicit widths when creating masks and sentinel values.
> 
> some compilers generate a warning when applying a '-' to an unsigned
> literal so avoid this by initializing with unsigned preprocessor
> definitions where appropriate.
> 
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> ---
>  lib/librte_eal/common/eal_common_fbarray.c | 12 ++++++------
>  lib/librte_eal/common/eal_common_log.c     |  2 +-
>  lib/librte_power/rte_power_pmd_mgmt.c      |  2 +-
>  3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/lib/librte_eal/common/eal_common_fbarray.c
> b/lib/librte_eal/common/eal_common_fbarray.c
> index 592ec5859..3a28a5324 100644
> --- a/lib/librte_eal/common/eal_common_fbarray.c
> +++ b/lib/librte_eal/common/eal_common_fbarray.c
> @@ -138,7 +138,7 @@ find_next_n(const struct rte_fbarray *arr, unsigned
> int start, unsigned int n,
>  	 */
>  	last = MASK_LEN_TO_IDX(arr->len);
>  	last_mod = MASK_LEN_TO_MOD(arr->len);
> -	last_msk = ~(-1ULL << last_mod);
> +	last_msk = ~(UINT64_MAX << last_mod);
> 
>  	for (msk_idx = first; msk_idx < msk->n_masks; msk_idx++) {
>  		uint64_t cur_msk, lookahead_msk;
> @@ -398,8 +398,8 @@ find_prev_n(const struct rte_fbarray *arr, unsigned
> int start, unsigned int n,
>  	first_mod = MASK_LEN_TO_MOD(start);
>  	/* we're going backwards, so mask must start from the top */
>  	ignore_msk = first_mod == MASK_ALIGN - 1 ?
> -				-1ULL : /* prevent overflow */
> -				~(-1ULL << (first_mod + 1));
> +				UINT64_MAX : /* prevent overflow */
> +				~(UINT64_MAX << (first_mod + 1));
> 
>  	/* go backwards, include zero */
>  	msk_idx = first;
> @@ -513,7 +513,7 @@ find_prev_n(const struct rte_fbarray *arr, unsigned
> int start, unsigned int n,
>  				 * no runs in the space we've lookbehind-
> scanned
>  				 * as well, so skip that on next iteration.
>  				 */
> -				ignore_msk = -1ULL << need;
> +				ignore_msk = UINT64_MAX << need;
>  				msk_idx = lookbehind_idx;
>  				break;
>  			}
> @@ -560,8 +560,8 @@ find_prev(const struct rte_fbarray *arr, unsigned
> int start, bool used)
>  	first_mod = MASK_LEN_TO_MOD(start);
>  	/* we're going backwards, so mask must start from the top */
>  	ignore_msk = first_mod == MASK_ALIGN - 1 ?
> -				-1ULL : /* prevent overflow */
> -				~(-1ULL << (first_mod + 1));
> +				UINT64_MAX : /* prevent overflow */
> +				~(UINT64_MAX << (first_mod + 1));
> 
>  	/* go backwards, include zero */
>  	idx = first;
> diff --git a/lib/librte_eal/common/eal_common_log.c
> b/lib/librte_eal/common/eal_common_log.c
> index c5554badb..1b2745329 100644
> --- a/lib/librte_eal/common/eal_common_log.c
> +++ b/lib/librte_eal/common/eal_common_log.c
> @@ -30,7 +30,7 @@ static struct rte_logs {
>  	size_t dynamic_types_len;
>  	struct rte_log_dynamic_type *dynamic_types;
>  } rte_logs = {
> -	.type = ~0,
> +	.type = UINT32_MAX,
>  	.level = RTE_LOG_DEBUG,
>  };
> 
> diff --git a/lib/librte_power/rte_power_pmd_mgmt.c
> b/lib/librte_power/rte_power_pmd_mgmt.c
> index 454ef7091..db03cbf42 100644
> --- a/lib/librte_power/rte_power_pmd_mgmt.c
> +++ b/lib/librte_power/rte_power_pmd_mgmt.c
> @@ -111,7 +111,7 @@ clb_umwait(uint16_t port_id, uint16_t qidx, struct
> rte_mbuf **pkts __rte_unused,
>  				ret = rte_eth_get_monitor_addr(port_id, qidx,
>  						&pmc);
>  				if (ret == 0)
> -					rte_power_monitor(&pmc, -1ULL);
> +					rte_power_monitor(&pmc, UINT64_MAX);
>  			}
>  			q_conf->umwait_in_progress = false;
> 
> --
> 2.30.0.vfs.0.2
> 

Acked-by: Morten Brørup <mb@smartsharesystems.com>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX
  2021-03-16  0:13 ` [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX Tyler Retzlaff
  2021-03-16 11:06   ` Morten Brørup
@ 2021-04-01 11:22   ` Burakov, Anatoly
  2021-04-19  9:43     ` Thomas Monjalon
  1 sibling, 1 reply; 12+ messages in thread
From: Burakov, Anatoly @ 2021-04-01 11:22 UTC (permalink / raw)
  To: Tyler Retzlaff, dev; +Cc: david.hunt, mb

On 16-Mar-21 12:13 AM, Tyler Retzlaff wrote:
> Use UINT64_MAX and UINT32_MAX instead of -1 or ~0 literal variations
> of different explicit widths when creating masks and sentinel values.
> 
> some compilers generate a warning when applying a '-' to an unsigned
> literal so avoid this by initializing with unsigned preprocessor
> definitions where appropriate.
> 
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> ---

Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>

-- 
Thanks,
Anatoly

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX
  2021-04-01 11:22   ` Burakov, Anatoly
@ 2021-04-19  9:43     ` Thomas Monjalon
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Monjalon @ 2021-04-19  9:43 UTC (permalink / raw)
  To: Tyler Retzlaff; +Cc: dev, david.hunt, mb, Burakov, Anatoly

01/04/2021 13:22, Burakov, Anatoly:
> On 16-Mar-21 12:13 AM, Tyler Retzlaff wrote:
> > Use UINT64_MAX and UINT32_MAX instead of -1 or ~0 literal variations
> > of different explicit widths when creating masks and sentinel values.
> > 
> > some compilers generate a warning when applying a '-' to an unsigned
> > literal so avoid this by initializing with unsigned preprocessor
> > definitions where appropriate.
> > 
> > Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> 
> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>

Split in 2 patches (EAL and power) and applied, thanks.

There are other occurences to remove:
git grep -l -- '-1U'
	app/test-eventdev/test_perf_common.c
	app/test-eventdev/test_pipeline_common.c
	drivers/net/bnxt/tf_ulp/ulp_flow_db.c
	drivers/net/bnxt/tf_ulp/ulp_rte_parser.h
	drivers/net/mlx5/mlx5_rxtx_vec_neon.h

I think we should add a checkpatch test
to avoid inserting more occurences in future.
Tyler, please could you work on it?



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-04-19  9:43 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-09 23:44 [dpdk-dev] [PATCH] eal, power: don't use '-' sign with unsigned literals Tyler Retzlaff
2021-03-12 12:51 ` Burakov, Anatoly
2021-03-12 17:05   ` Tyler Retzlaff
2021-03-12 17:37     ` Bruce Richardson
2021-03-12 18:36       ` Tyler Retzlaff
2021-03-12 18:40         ` Tyler Retzlaff
2021-03-13  9:05           ` Morten Brørup
2021-03-15 15:36 ` [dpdk-dev] [PATCH v2] eal, power: use UINT64_MAX instead of -1ULL Tyler Retzlaff
2021-03-16  0:13 ` [dpdk-dev] [PATCH v3] eal, power: use UINT64_MAX and UINT32_MAX Tyler Retzlaff
2021-03-16 11:06   ` Morten Brørup
2021-04-01 11:22   ` Burakov, Anatoly
2021-04-19  9:43     ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).