* [PATCH] ethdev: fix Tx queue mask endianness @ 2023-06-29 13:58 David Marchand 2023-06-29 14:48 ` Ferruh Yigit 2023-06-29 15:31 ` Thomas Monjalon 0 siblings, 2 replies; 8+ messages in thread From: David Marchand @ 2023-06-29 13:58 UTC (permalink / raw) To: dev Cc: Ori Kam, Thomas Monjalon, Ferruh Yigit, Andrew Rybchenko, Kiran Kumar K Even if harmless, this endianness tag is incorrect as the tx_queue field is declared as a host integer. Additionally, this breaks OVS compilation with sparse. Fixes: 41f6bdc7615a ("ethdev: add Tx queue flow matching item") Signed-off-by: David Marchand <david.marchand@redhat.com> --- lib/ethdev/rte_flow.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index 3fe57140f9..86ed98c562 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -2307,7 +2307,7 @@ struct rte_flow_item_tx_queue { /** Default mask for RTE_FLOW_ITEM_TX_QUEUE. */ #ifndef __cplusplus static const struct rte_flow_item_tx_queue rte_flow_item_tx_queue_mask = { - .tx_queue = RTE_BE16(0xffff), + .tx_queue = 0xffff, }; #endif -- 2.40.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ethdev: fix Tx queue mask endianness 2023-06-29 13:58 [PATCH] ethdev: fix Tx queue mask endianness David Marchand @ 2023-06-29 14:48 ` Ferruh Yigit 2023-06-29 15:31 ` Thomas Monjalon 1 sibling, 0 replies; 8+ messages in thread From: Ferruh Yigit @ 2023-06-29 14:48 UTC (permalink / raw) To: David Marchand, dev Cc: Ori Kam, Thomas Monjalon, Andrew Rybchenko, Kiran Kumar K On 6/29/2023 2:58 PM, David Marchand wrote: > Even if harmless, this endianness tag is incorrect as the tx_queue field > is declared as a host integer. > Additionally, this breaks OVS compilation with sparse. > > Fixes: 41f6bdc7615a ("ethdev: add Tx queue flow matching item") > > Signed-off-by: David Marchand <david.marchand@redhat.com> > Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Applied to dpdk-next-net/main, thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ethdev: fix Tx queue mask endianness 2023-06-29 13:58 [PATCH] ethdev: fix Tx queue mask endianness David Marchand 2023-06-29 14:48 ` Ferruh Yigit @ 2023-06-29 15:31 ` Thomas Monjalon 2023-06-29 15:40 ` David Marchand 1 sibling, 1 reply; 8+ messages in thread From: Thomas Monjalon @ 2023-06-29 15:31 UTC (permalink / raw) To: David Marchand, Ferruh Yigit, Kiran Kumar K Cc: dev, Ori Kam, Andrew Rybchenko 29/06/2023 15:58, David Marchand: > Even if harmless, this endianness tag is incorrect as the tx_queue field > is declared as a host integer. > Additionally, this breaks OVS compilation with sparse. > > Fixes: 41f6bdc7615a ("ethdev: add Tx queue flow matching item") > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > lib/ethdev/rte_flow.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h > index 3fe57140f9..86ed98c562 100644 > --- a/lib/ethdev/rte_flow.h > +++ b/lib/ethdev/rte_flow.h > @@ -2307,7 +2307,7 @@ struct rte_flow_item_tx_queue { > /** Default mask for RTE_FLOW_ITEM_TX_QUEUE. */ > #ifndef __cplusplus > static const struct rte_flow_item_tx_queue rte_flow_item_tx_queue_mask = { > - .tx_queue = RTE_BE16(0xffff), > + .tx_queue = 0xffff, As I said in an earlier comment about the same issue, UINT16_MAX would be better. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ethdev: fix Tx queue mask endianness 2023-06-29 15:31 ` Thomas Monjalon @ 2023-06-29 15:40 ` David Marchand 2023-06-29 15:42 ` Thomas Monjalon 0 siblings, 1 reply; 8+ messages in thread From: David Marchand @ 2023-06-29 15:40 UTC (permalink / raw) To: Thomas Monjalon Cc: Ferruh Yigit, Kiran Kumar K, dev, Ori Kam, Andrew Rybchenko On Thu, Jun 29, 2023 at 5:31 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > 29/06/2023 15:58, David Marchand: > > Even if harmless, this endianness tag is incorrect as the tx_queue field > > is declared as a host integer. > > Additionally, this breaks OVS compilation with sparse. > > > > Fixes: 41f6bdc7615a ("ethdev: add Tx queue flow matching item") > > > > Signed-off-by: David Marchand <david.marchand@redhat.com> > > --- > > lib/ethdev/rte_flow.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h > > index 3fe57140f9..86ed98c562 100644 > > --- a/lib/ethdev/rte_flow.h > > +++ b/lib/ethdev/rte_flow.h > > @@ -2307,7 +2307,7 @@ struct rte_flow_item_tx_queue { > > /** Default mask for RTE_FLOW_ITEM_TX_QUEUE. */ > > #ifndef __cplusplus > > static const struct rte_flow_item_tx_queue rte_flow_item_tx_queue_mask = { > > - .tx_queue = RTE_BE16(0xffff), > > + .tx_queue = 0xffff, > > As I said in an earlier comment about the same issue, > UINT16_MAX would be better. I don't mind updating (or maybe Ferruh can squash this directly ?) but there are lots of uint16_t fields initialised with 0xffff in this same file. -- David Marchand ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ethdev: fix Tx queue mask endianness 2023-06-29 15:40 ` David Marchand @ 2023-06-29 15:42 ` Thomas Monjalon 2023-06-29 16:14 ` Ferruh Yigit 0 siblings, 1 reply; 8+ messages in thread From: Thomas Monjalon @ 2023-06-29 15:42 UTC (permalink / raw) To: David Marchand, Ferruh Yigit, Ori Kam, Andrew Rybchenko Cc: Kiran Kumar K, dev 29/06/2023 17:40, David Marchand: > On Thu, Jun 29, 2023 at 5:31 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > 29/06/2023 15:58, David Marchand: > > > - .tx_queue = RTE_BE16(0xffff), > > > + .tx_queue = 0xffff, > > > > As I said in an earlier comment about the same issue, > > UINT16_MAX would be better. > > I don't mind updating (or maybe Ferruh can squash this directly ?) but > there are lots of uint16_t fields initialised with 0xffff in this same > file. It can be made in a separate patch for all occurences. First I would like to get some comments, what do you prefer between 0xffff and UINT16_MAX? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ethdev: fix Tx queue mask endianness 2023-06-29 15:42 ` Thomas Monjalon @ 2023-06-29 16:14 ` Ferruh Yigit 2023-06-30 7:00 ` David Marchand 0 siblings, 1 reply; 8+ messages in thread From: Ferruh Yigit @ 2023-06-29 16:14 UTC (permalink / raw) To: Thomas Monjalon, David Marchand, Ori Kam, Andrew Rybchenko Cc: Kiran Kumar K, dev On 6/29/2023 4:42 PM, Thomas Monjalon wrote: > 29/06/2023 17:40, David Marchand: >> On Thu, Jun 29, 2023 at 5:31 PM Thomas Monjalon <thomas@monjalon.net> wrote: >>> 29/06/2023 15:58, David Marchand: >>>> - .tx_queue = RTE_BE16(0xffff), >>>> + .tx_queue = 0xffff, >>> >>> As I said in an earlier comment about the same issue, >>> UINT16_MAX would be better. >> >> I don't mind updating (or maybe Ferruh can squash this directly ?) but >> there are lots of uint16_t fields initialised with 0xffff in this same >> file. > > It can be made in a separate patch for all occurences. > First I would like to get some comments, what do you prefer > between 0xffff and UINT16_MAX? > Both works, no strong opinion, I am OK with 0xffff, The variable we are setting is '*_mask', and main point of the value used is to have all bits set, and 0xff.. usage highlights it. Not for UINT16_MAX, but for wider variables, it is easier to make mistake and put wrong number of 'f', using 'UINTxx_MAX' macro can prevent this mistake, this is a benefit. And I think consistency matters more, so if you prefer 'UINTxx_MAX', lets stick to it. I can update above in next-net, but as far as I understand we can have a patch to fix all occurrences. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ethdev: fix Tx queue mask endianness 2023-06-29 16:14 ` Ferruh Yigit @ 2023-06-30 7:00 ` David Marchand 2023-06-30 7:13 ` David Marchand 0 siblings, 1 reply; 8+ messages in thread From: David Marchand @ 2023-06-30 7:00 UTC (permalink / raw) To: Ferruh Yigit Cc: Thomas Monjalon, Ori Kam, Andrew Rybchenko, Kiran Kumar K, dev On Thu, Jun 29, 2023 at 6:14 PM Ferruh Yigit <ferruh.yigit@amd.com> wrote: > > On 6/29/2023 4:42 PM, Thomas Monjalon wrote: > > 29/06/2023 17:40, David Marchand: > >> On Thu, Jun 29, 2023 at 5:31 PM Thomas Monjalon <thomas@monjalon.net> wrote: > >>> 29/06/2023 15:58, David Marchand: > >>>> - .tx_queue = RTE_BE16(0xffff), > >>>> + .tx_queue = 0xffff, > >>> > >>> As I said in an earlier comment about the same issue, > >>> UINT16_MAX would be better. > >> > >> I don't mind updating (or maybe Ferruh can squash this directly ?) but > >> there are lots of uint16_t fields initialised with 0xffff in this same > >> file. > > > > It can be made in a separate patch for all occurences. > > First I would like to get some comments, what do you prefer > > between 0xffff and UINT16_MAX? > > > > Both works, no strong opinion, I am OK with 0xffff, > > The variable we are setting is '*_mask', and main point of the value > used is to have all bits set, and 0xff.. usage highlights it. > > Not for UINT16_MAX, but for wider variables, it is easier to make > mistake and put wrong number of 'f', using 'UINTxx_MAX' macro can > prevent this mistake, this is a benefit. > > > And I think consistency matters more, so if you prefer 'UINTxx_MAX', > lets stick to it. > > I can update above in next-net, but as far as I understand we can have a > patch to fix all occurrences. Given that we are considering unsigned integers, is there something wrong with using (typeof(var)) -1 ? We could define a new macro to hide this ugly detail. -- David Marchand ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ethdev: fix Tx queue mask endianness 2023-06-30 7:00 ` David Marchand @ 2023-06-30 7:13 ` David Marchand 0 siblings, 0 replies; 8+ messages in thread From: David Marchand @ 2023-06-30 7:13 UTC (permalink / raw) To: Ferruh Yigit Cc: Thomas Monjalon, Ori Kam, Andrew Rybchenko, Kiran Kumar K, dev On Fri, Jun 30, 2023 at 9:00 AM David Marchand <david.marchand@redhat.com> wrote: > > On Thu, Jun 29, 2023 at 6:14 PM Ferruh Yigit <ferruh.yigit@amd.com> wrote: > > > > On 6/29/2023 4:42 PM, Thomas Monjalon wrote: > > > 29/06/2023 17:40, David Marchand: > > >> On Thu, Jun 29, 2023 at 5:31 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > >>> 29/06/2023 15:58, David Marchand: > > >>>> - .tx_queue = RTE_BE16(0xffff), > > >>>> + .tx_queue = 0xffff, > > >>> > > >>> As I said in an earlier comment about the same issue, > > >>> UINT16_MAX would be better. > > >> > > >> I don't mind updating (or maybe Ferruh can squash this directly ?) but > > >> there are lots of uint16_t fields initialised with 0xffff in this same > > >> file. > > > > > > It can be made in a separate patch for all occurences. > > > First I would like to get some comments, what do you prefer > > > between 0xffff and UINT16_MAX? > > > > > > > Both works, no strong opinion, I am OK with 0xffff, > > > > The variable we are setting is '*_mask', and main point of the value > > used is to have all bits set, and 0xff.. usage highlights it. > > > > Not for UINT16_MAX, but for wider variables, it is easier to make > > mistake and put wrong number of 'f', using 'UINTxx_MAX' macro can > > prevent this mistake, this is a benefit. > > > > > > And I think consistency matters more, so if you prefer 'UINTxx_MAX', > > lets stick to it. > > > > I can update above in next-net, but as far as I understand we can have a > > patch to fix all occurrences. > > Given that we are considering unsigned integers, is there something > wrong with using (typeof(var)) -1 ? Or maybe get inspiration from what the Linux kernel does :-) Like GENMASK(). -- David Marchand ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-06-30 7:13 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-06-29 13:58 [PATCH] ethdev: fix Tx queue mask endianness David Marchand 2023-06-29 14:48 ` Ferruh Yigit 2023-06-29 15:31 ` Thomas Monjalon 2023-06-29 15:40 ` David Marchand 2023-06-29 15:42 ` Thomas Monjalon 2023-06-29 16:14 ` Ferruh Yigit 2023-06-30 7:00 ` David Marchand 2023-06-30 7:13 ` David Marchand
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).