* [PATCH] net/ixgbe: fix per-queue stats for less queues
@ 2024-10-24 11:17 Morten Brørup
2024-10-24 15:15 ` Morten Brørup
2024-10-24 16:49 ` Stephen Hemminger
0 siblings, 2 replies; 7+ messages in thread
From: Morten Brørup @ 2024-10-24 11:17 UTC (permalink / raw)
To: dev, Bruce Richardson; +Cc: Morten Brørup
Remove the requirement that the configured number of queues to provide
statistics for (RTE_ETHDEV_QUEUE_STAT_CNTRS) cannot be less than the
driver's max supported number of the same (IXGBE_QUEUE_STAT_COUNTERS).
Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
---
drivers/net/ixgbe/ixgbe_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index ab37c37469..895d6e7169 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3385,7 +3385,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
stats->opackets = hw_stats->gptc;
stats->obytes = hw_stats->gotc;
- for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
+ for (i = 0; i < RTE_MIN(IXGBE_QUEUE_STAT_COUNTERS,
+ (typeof(IXGBE_QUEUE_STAT_COUNTERS))RTE_ETHDEV_QUEUE_STAT_CNTRS); i++) {
stats->q_ipackets[i] = hw_stats->qprc[i];
stats->q_opackets[i] = hw_stats->qptc[i];
stats->q_ibytes[i] = hw_stats->qbrc[i];
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] net/ixgbe: fix per-queue stats for less queues
2024-10-24 11:17 [PATCH] net/ixgbe: fix per-queue stats for less queues Morten Brørup
@ 2024-10-24 15:15 ` Morten Brørup
2024-10-24 16:02 ` Bruce Richardson
2024-10-24 19:00 ` Morten Brørup
2024-10-24 16:49 ` Stephen Hemminger
1 sibling, 2 replies; 7+ messages in thread
From: Morten Brørup @ 2024-10-24 15:15 UTC (permalink / raw)
To: Anatoly Burakov, Vladimir Medvedkin; +Cc: dev, Bruce Richardson
Forwarding to the now official maintainers for review. :-)
Thank you for updating the MAINTAINERS file, Bruce.
PS: Please correct "fix"->"support" in the subject when merging, it was a typo.
> From: Morten Brørup [mailto:mb@smartsharesystems.com]
> Sent: Thursday, 24 October 2024 13.18
>
> Remove the requirement that the configured number of queues to provide
> statistics for (RTE_ETHDEV_QUEUE_STAT_CNTRS) cannot be less than the
> driver's max supported number of the same (IXGBE_QUEUE_STAT_COUNTERS).
>
> Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> b/drivers/net/ixgbe/ixgbe_ethdev.c
> index ab37c37469..895d6e7169 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -3385,7 +3385,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev,
> struct rte_eth_stats *stats)
> stats->opackets = hw_stats->gptc;
> stats->obytes = hw_stats->gotc;
>
> - for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
> + for (i = 0; i < RTE_MIN(IXGBE_QUEUE_STAT_COUNTERS,
> +
> (typeof(IXGBE_QUEUE_STAT_COUNTERS))RTE_ETHDEV_QUEUE_STAT_CNTRS);
> i++) {
> stats->q_ipackets[i] = hw_stats->qprc[i];
> stats->q_opackets[i] = hw_stats->qptc[i];
> stats->q_ibytes[i] = hw_stats->qbrc[i];
> --
> 2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] net/ixgbe: fix per-queue stats for less queues
2024-10-24 15:15 ` Morten Brørup
@ 2024-10-24 16:02 ` Bruce Richardson
2024-10-24 16:28 ` Morten Brørup
2024-10-24 19:00 ` Morten Brørup
1 sibling, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2024-10-24 16:02 UTC (permalink / raw)
To: Morten Brørup; +Cc: Anatoly Burakov, Vladimir Medvedkin, dev
On Thu, Oct 24, 2024 at 05:15:10PM +0200, Morten Brørup wrote:
> Forwarding to the now official maintainers for review. :-)
>
> Thank you for updating the MAINTAINERS file, Bruce.
>
> PS: Please correct "fix"->"support" in the subject when merging, it was a typo.
>
> > From: Morten Brørup [mailto:mb@smartsharesystems.com]
> > Sent: Thursday, 24 October 2024 13.18
> >
> > Remove the requirement that the configured number of queues to provide
> > statistics for (RTE_ETHDEV_QUEUE_STAT_CNTRS) cannot be less than the
> > driver's max supported number of the same (IXGBE_QUEUE_STAT_COUNTERS).
> >
> > Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> > ---
> > drivers/net/ixgbe/ixgbe_ethdev.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> > b/drivers/net/ixgbe/ixgbe_ethdev.c
> > index ab37c37469..895d6e7169 100644
> > --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> > +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> > @@ -3385,7 +3385,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev,
> > struct rte_eth_stats *stats)
> > stats->opackets = hw_stats->gptc;
> > stats->obytes = hw_stats->gotc;
> >
> > - for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
> > + for (i = 0; i < RTE_MIN(IXGBE_QUEUE_STAT_COUNTERS,
> > +
> > (typeof(IXGBE_QUEUE_STAT_COUNTERS))RTE_ETHDEV_QUEUE_STAT_CNTRS);
> > i++) {
The big cast using "typeof" is awkward-looking but is probably the best way
to do this!
Thanks.
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > stats->q_ipackets[i] = hw_stats->qprc[i];
> > stats->q_opackets[i] = hw_stats->qptc[i];
> > stats->q_ibytes[i] = hw_stats->qbrc[i];
> > --
> > 2.43.0
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] net/ixgbe: fix per-queue stats for less queues
2024-10-24 16:02 ` Bruce Richardson
@ 2024-10-24 16:28 ` Morten Brørup
2024-10-24 16:46 ` Bruce Richardson
0 siblings, 1 reply; 7+ messages in thread
From: Morten Brørup @ 2024-10-24 16:28 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Anatoly Burakov, Vladimir Medvedkin, dev
> > > - for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
> > > + for (i = 0; i < RTE_MIN(IXGBE_QUEUE_STAT_COUNTERS,
> > > +
> > > (typeof(IXGBE_QUEUE_STAT_COUNTERS))RTE_ETHDEV_QUEUE_STAT_CNTRS);
> > > i++) {
>
> The big cast using "typeof" is awkward-looking but is probably the best
> way
> to do this!
Yes. It fixes a signed/unsigned comparison warning.
RTE_ETHDEV_QUEUE_STAT_CNTRS is int, "i" is unsigned, and IXGBE_QUEUE_STAT_COUNTERS is size_t.
Not easy choosing a good common type without adding an explanation. The typeof() seemed like an acceptable compromise.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] net/ixgbe: fix per-queue stats for less queues
2024-10-24 16:28 ` Morten Brørup
@ 2024-10-24 16:46 ` Bruce Richardson
0 siblings, 0 replies; 7+ messages in thread
From: Bruce Richardson @ 2024-10-24 16:46 UTC (permalink / raw)
To: Morten Brørup; +Cc: Anatoly Burakov, Vladimir Medvedkin, dev
On Thu, Oct 24, 2024 at 06:28:27PM +0200, Morten Brørup wrote:
> > > > - for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
> > > > + for (i = 0; i < RTE_MIN(IXGBE_QUEUE_STAT_COUNTERS,
> > > > +
> > > > (typeof(IXGBE_QUEUE_STAT_COUNTERS))RTE_ETHDEV_QUEUE_STAT_CNTRS);
> > > > i++) {
> >
> > The big cast using "typeof" is awkward-looking but is probably the best
> > way
> > to do this!
>
> Yes. It fixes a signed/unsigned comparison warning.
>
> RTE_ETHDEV_QUEUE_STAT_CNTRS is int, "i" is unsigned, and IXGBE_QUEUE_STAT_COUNTERS is size_t.
>
> Not easy choosing a good common type without adding an explanation. The typeof() seemed like an acceptable compromise.
>
If I may suggest it, "typeof(i)" is shorter :-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] net/ixgbe: fix per-queue stats for less queues
2024-10-24 11:17 [PATCH] net/ixgbe: fix per-queue stats for less queues Morten Brørup
2024-10-24 15:15 ` Morten Brørup
@ 2024-10-24 16:49 ` Stephen Hemminger
1 sibling, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2024-10-24 16:49 UTC (permalink / raw)
To: Morten Brørup; +Cc: dev, Bruce Richardson
On Thu, 24 Oct 2024 11:17:57 +0000
Morten Brørup <mb@smartsharesystems.com> wrote:
> Remove the requirement that the configured number of queues to provide
> statistics for (RTE_ETHDEV_QUEUE_STAT_CNTRS) cannot be less than the
> driver's max supported number of the same (IXGBE_QUEUE_STAT_COUNTERS).
>
> Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index ab37c37469..895d6e7169 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -3385,7 +3385,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
> stats->opackets = hw_stats->gptc;
> stats->obytes = hw_stats->gotc;
>
> - for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
> + for (i = 0; i < RTE_MIN(IXGBE_QUEUE_STAT_COUNTERS,
> + (typeof(IXGBE_QUEUE_STAT_COUNTERS))RTE_ETHDEV_QUEUE_STAT_CNTRS); i++) {
Maybe use RTE_MIN_T to avoid using typeof directly here.
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index ab37c37469..cdf689c22d 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3385,7 +3385,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
stats->opackets = hw_stats->gptc;
stats->obytes = hw_stats->gotc;
- for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
+ for (i = 0; i < RTE_MIN_T(IXGBE_QUEUE_STAT_COUNTERS,
+ RTE_ETHDEV_QUEUE_STAT_CNTRS, unsigned); i++) {
stats->q_ipackets[i] = hw_stats->qprc[i];
stats->q_opackets[i] = hw_stats->qptc[i];
stats->q_ibytes[i] = hw_stats->qbrc[i];
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] net/ixgbe: fix per-queue stats for less queues
2024-10-24 15:15 ` Morten Brørup
2024-10-24 16:02 ` Bruce Richardson
@ 2024-10-24 19:00 ` Morten Brørup
1 sibling, 0 replies; 7+ messages in thread
From: Morten Brørup @ 2024-10-24 19:00 UTC (permalink / raw)
To: Anatoly Burakov, Vladimir Medvedkin; +Cc: dev, Bruce Richardson
Forgot the --in-reply-to, so here's the link to the V2 patch:
https://inbox.dpdk.org/dev/20241024185352.987356-1-mb@smartsharesystems.com/
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-10-24 19:00 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-24 11:17 [PATCH] net/ixgbe: fix per-queue stats for less queues Morten Brørup
2024-10-24 15:15 ` Morten Brørup
2024-10-24 16:02 ` Bruce Richardson
2024-10-24 16:28 ` Morten Brørup
2024-10-24 16:46 ` Bruce Richardson
2024-10-24 19:00 ` Morten Brørup
2024-10-24 16:49 ` Stephen Hemminger
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).