* irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? @ 2021-06-06 1:10 Joe Perches 2021-06-07 14:54 ` Saleem, Shiraz 0 siblings, 1 reply; 7+ messages in thread From: Joe Perches @ 2021-06-06 1:10 UTC (permalink / raw) To: Mustafa Ismail Cc: Shiraz Saleem, Doug Ledford, Jason Gunthorpe, linux-rdma, LKML There are some odd mismatches in field and access index. These may be simple cut/paste typos. Are these intentional? ip4txfrag is set to the value from IP4RXFRAGS 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1753) gather_stats->ip4txfrag = 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1754) rd64(dev->hw, 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1755) dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXFRAGS] 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1756) + stats_inst_offset_64); ip4txfrag is set again a few lines later, so the case above is probably a defect. 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1769) gather_stats->ip4txfrag = 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1770) rd64(dev->hw, 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1771) dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXFRAGS] 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1772) + stats_inst_offset_64); And here ip6txfrag is set to the value of IP6RXFRAGS 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1785) gather_stats->ip6txfrags = 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1786) rd64(dev->hw, 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1787) dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXFRAGS] 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1788) + stats_inst_offset_64); ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? 2021-06-06 1:10 irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? Joe Perches @ 2021-06-07 14:54 ` Saleem, Shiraz 2021-06-07 15:07 ` Joe Perches 0 siblings, 1 reply; 7+ messages in thread From: Saleem, Shiraz @ 2021-06-07 14:54 UTC (permalink / raw) To: Joe Perches, Ismail, Mustafa Cc: Doug Ledford, Jason Gunthorpe, linux-rdma@vger.kernel.org, LKML > Subject: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > There are some odd mismatches in field and access index. > These may be simple cut/paste typos. > > Are these intentional? No. Accidental. Likely cut/copy mistake. I will send a fix. Thanks Joe! Shiraz > > ip4txfrag is set to the value from IP4RXFRAGS > > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1753) gather_stats- > >ip4txfrag = > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1754) rd64(dev- > >hw, > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1755) dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXFRAGS] > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1756) + > stats_inst_offset_64); > > ip4txfrag is set again a few lines later, so the case above is probably a defect. > > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1769) gather_stats- > >ip4txfrag = > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1770) rd64(dev- > >hw, > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1771) dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXFRAGS] > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1772) + > stats_inst_offset_64); > > And here ip6txfrag is set to the value of IP6RXFRAGS > > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1785) gather_stats- > >ip6txfrags = > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1786) rd64(dev- > >hw, > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1787) dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXFRAGS] > 915cc7ac0f8e2a (Mustafa Ismail 2021-06-02 15:51:34 -0500 1788) + > stats_inst_offset_64); > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? 2021-06-07 14:54 ` Saleem, Shiraz @ 2021-06-07 15:07 ` Joe Perches 2021-06-07 22:40 ` Saleem, Shiraz 0 siblings, 1 reply; 7+ messages in thread From: Joe Perches @ 2021-06-07 15:07 UTC (permalink / raw) To: Saleem, Shiraz, Ismail, Mustafa Cc: Doug Ledford, Jason Gunthorpe, linux-rdma@vger.kernel.org, LKML On Mon, 2021-06-07 at 14:54 +0000, Saleem, Shiraz wrote: > > Subject: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > > > There are some odd mismatches in field and access index. > > These may be simple cut/paste typos. > > > > Are these intentional? > > No. Accidental. Likely cut/copy mistake. I will send a fix. Thanks > Joe! Reason is I was refactoring what I thought was rather templated and overly verbose code. Here's a possible patch (with probable corrections to these index typos): --- drivers/infiniband/hw/irdma/type.h | 104 ++++++++++--------- drivers/infiniband/hw/irdma/utils.c | 196 +++++++++--------------------------- drivers/infiniband/hw/irdma/verbs.c | 125 +++++++++-------------- 3 files changed, 147 insertions(+), 278 deletions(-) diff --git a/drivers/infiniband/hw/irdma/type.h b/drivers/infiniband/hw/irdma/type.h index 7387b83e826d2..4050e5b19c6e1 100644 --- a/drivers/infiniband/hw/irdma/type.h +++ b/drivers/infiniband/hw/irdma/type.h @@ -101,60 +101,64 @@ enum irdma_qp_event_type { IRDMA_QP_EVENT_ACCESS_ERR, }; +#define IRDMA_STAT(index) IRDMA_HW_STAT_INDEX_ ## index +#define IRDMA_STAT_32(index) (IRDMA_HW_STAT_INDEX_ ## index) +#define IRDMA_STAT_64(index) (IRDMA_HW_STAT_INDEX_MAX_32 + IRDMA_STAT_32(index)) + enum irdma_hw_stats_index_32b { - IRDMA_HW_STAT_INDEX_IP4RXDISCARD = 0, - IRDMA_HW_STAT_INDEX_IP4RXTRUNC = 1, - IRDMA_HW_STAT_INDEX_IP4TXNOROUTE = 2, - IRDMA_HW_STAT_INDEX_IP6RXDISCARD = 3, - IRDMA_HW_STAT_INDEX_IP6RXTRUNC = 4, - IRDMA_HW_STAT_INDEX_IP6TXNOROUTE = 5, - IRDMA_HW_STAT_INDEX_TCPRTXSEG = 6, - IRDMA_HW_STAT_INDEX_TCPRXOPTERR = 7, - IRDMA_HW_STAT_INDEX_TCPRXPROTOERR = 8, - IRDMA_HW_STAT_INDEX_MAX_32_GEN_1 = 9, /* Must be same value as next entry */ - IRDMA_HW_STAT_INDEX_RXVLANERR = 9, - IRDMA_HW_STAT_INDEX_RXRPCNPHANDLED = 10, - IRDMA_HW_STAT_INDEX_RXRPCNPIGNORED = 11, - IRDMA_HW_STAT_INDEX_TXNPCNPSENT = 12, - IRDMA_HW_STAT_INDEX_MAX_32, /* Must be last entry */ + IRDMA_STAT(IP4RXDISCARD) = 0, + IRDMA_STAT(IP4RXTRUNC) = 1, + IRDMA_STAT(IP4TXNOROUTE) = 2, + IRDMA_STAT(IP6RXDISCARD) = 3, + IRDMA_STAT(IP6RXTRUNC) = 4, + IRDMA_STAT(IP6TXNOROUTE) = 5, + IRDMA_STAT(TCPRTXSEG) = 6, + IRDMA_STAT(TCPRXOPTERR) = 7, + IRDMA_STAT(TCPRXPROTOERR) = 8, + IRDMA_STAT(MAX_32_GEN_1) = 9, /* Must be same value as next entry */ + IRDMA_STAT(RXVLANERR) = 9, + IRDMA_STAT(RXRPCNPHANDLED) = 10, + IRDMA_STAT(RXRPCNPIGNORED) = 11, + IRDMA_STAT(TXNPCNPSENT) = 12, + IRDMA_STAT(MAX_32), /* Must be last entry */ }; enum irdma_hw_stats_index_64b { - IRDMA_HW_STAT_INDEX_IP4RXOCTS = 0, - IRDMA_HW_STAT_INDEX_IP4RXPKTS = 1, - IRDMA_HW_STAT_INDEX_IP4RXFRAGS = 2, - IRDMA_HW_STAT_INDEX_IP4RXMCPKTS = 3, - IRDMA_HW_STAT_INDEX_IP4TXOCTS = 4, - IRDMA_HW_STAT_INDEX_IP4TXPKTS = 5, - IRDMA_HW_STAT_INDEX_IP4TXFRAGS = 6, - IRDMA_HW_STAT_INDEX_IP4TXMCPKTS = 7, - IRDMA_HW_STAT_INDEX_IP6RXOCTS = 8, - IRDMA_HW_STAT_INDEX_IP6RXPKTS = 9, - IRDMA_HW_STAT_INDEX_IP6RXFRAGS = 10, - IRDMA_HW_STAT_INDEX_IP6RXMCPKTS = 11, - IRDMA_HW_STAT_INDEX_IP6TXOCTS = 12, - IRDMA_HW_STAT_INDEX_IP6TXPKTS = 13, - IRDMA_HW_STAT_INDEX_IP6TXFRAGS = 14, - IRDMA_HW_STAT_INDEX_IP6TXMCPKTS = 15, - IRDMA_HW_STAT_INDEX_TCPRXSEGS = 16, - IRDMA_HW_STAT_INDEX_TCPTXSEG = 17, - IRDMA_HW_STAT_INDEX_RDMARXRDS = 18, - IRDMA_HW_STAT_INDEX_RDMARXSNDS = 19, - IRDMA_HW_STAT_INDEX_RDMARXWRS = 20, - IRDMA_HW_STAT_INDEX_RDMATXRDS = 21, - IRDMA_HW_STAT_INDEX_RDMATXSNDS = 22, - IRDMA_HW_STAT_INDEX_RDMATXWRS = 23, - IRDMA_HW_STAT_INDEX_RDMAVBND = 24, - IRDMA_HW_STAT_INDEX_RDMAVINV = 25, - IRDMA_HW_STAT_INDEX_MAX_64_GEN_1 = 26, /* Must be same value as next entry */ - IRDMA_HW_STAT_INDEX_IP4RXMCOCTS = 26, - IRDMA_HW_STAT_INDEX_IP4TXMCOCTS = 27, - IRDMA_HW_STAT_INDEX_IP6RXMCOCTS = 28, - IRDMA_HW_STAT_INDEX_IP6TXMCOCTS = 29, - IRDMA_HW_STAT_INDEX_UDPRXPKTS = 30, - IRDMA_HW_STAT_INDEX_UDPTXPKTS = 31, - IRDMA_HW_STAT_INDEX_RXNPECNMARKEDPKTS = 32, - IRDMA_HW_STAT_INDEX_MAX_64, /* Must be last entry */ + IRDMA_STAT(IP4RXOCTS) = 0, + IRDMA_STAT(IP4RXPKTS) = 1, + IRDMA_STAT(IP4RXFRAGS) = 2, + IRDMA_STAT(IP4RXMCPKTS) = 3, + IRDMA_STAT(IP4TXOCTS) = 4, + IRDMA_STAT(IP4TXPKTS) = 5, + IRDMA_STAT(IP4TXFRAGS) = 6, + IRDMA_STAT(IP4TXMCPKTS) = 7, + IRDMA_STAT(IP6RXOCTS) = 8, + IRDMA_STAT(IP6RXPKTS) = 9, + IRDMA_STAT(IP6RXFRAGS) = 10, + IRDMA_STAT(IP6RXMCPKTS) = 11, + IRDMA_STAT(IP6TXOCTS) = 12, + IRDMA_STAT(IP6TXPKTS) = 13, + IRDMA_STAT(IP6TXFRAGS) = 14, + IRDMA_STAT(IP6TXMCPKTS) = 15, + IRDMA_STAT(TCPRXSEGS) = 16, + IRDMA_STAT(TCPTXSEG) = 17, + IRDMA_STAT(RDMARXRDS) = 18, + IRDMA_STAT(RDMARXSNDS) = 19, + IRDMA_STAT(RDMARXWRS) = 20, + IRDMA_STAT(RDMATXRDS) = 21, + IRDMA_STAT(RDMATXSNDS) = 22, + IRDMA_STAT(RDMATXWRS) = 23, + IRDMA_STAT(RDMAVBND) = 24, + IRDMA_STAT(RDMAVINV) = 25, + IRDMA_STAT(MAX_64_GEN_1) = 26, /* Must be same value as next entry */ + IRDMA_STAT(IP4RXMCOCTS) = 26, + IRDMA_STAT(IP4TXMCOCTS) = 27, + IRDMA_STAT(IP6RXMCOCTS) = 28, + IRDMA_STAT(IP6TXMCOCTS) = 29, + IRDMA_STAT(UDPRXPKTS) = 30, + IRDMA_STAT(UDPTXPKTS) = 31, + IRDMA_STAT(RXNPECNMARKEDPKTS) = 32, + IRDMA_STAT(MAX_64), /* Must be last entry */ }; enum irdma_feature_type { diff --git a/drivers/infiniband/hw/irdma/utils.c b/drivers/infiniband/hw/irdma/utils.c index 2f078155d6fd0..32c1200810eb8 100644 --- a/drivers/infiniband/hw/irdma/utils.c +++ b/drivers/infiniband/hw/irdma/utils.c @@ -1705,155 +1705,53 @@ void irdma_cqp_gather_stats_gen1(struct irdma_sc_dev *dev, stats_inst_offset_32 *= 4; stats_inst_offset_64 = stats_inst_offset_32 * 2; - gather_stats->rxvlanerr = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_RXVLANERR] - + stats_inst_offset_32); - gather_stats->ip4rxdiscard = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP4RXDISCARD] - + stats_inst_offset_32); - gather_stats->ip4rxtrunc = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP4RXTRUNC] - + stats_inst_offset_32); - gather_stats->ip4txnoroute = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP4TXNOROUTE] - + stats_inst_offset_32); - gather_stats->ip6rxdiscard = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP6RXDISCARD] - + stats_inst_offset_32); - gather_stats->ip6rxtrunc = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP6RXTRUNC] - + stats_inst_offset_32); - gather_stats->ip6txnoroute = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP6TXNOROUTE] - + stats_inst_offset_32); - gather_stats->tcprtxseg = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_TCPRTXSEG] - + stats_inst_offset_32); - gather_stats->tcprxopterr = - rd32(dev->hw, - dev->hw_stats_regs_32[IRDMA_HW_STAT_INDEX_TCPRXOPTERR] - + stats_inst_offset_32); - - gather_stats->ip4rxocts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXOCTS] - + stats_inst_offset_64); - gather_stats->ip4rxpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXPKTS] - + stats_inst_offset_64); - gather_stats->ip4txfrag = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXFRAGS] - + stats_inst_offset_64); - gather_stats->ip4rxmcpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXMCPKTS] - + stats_inst_offset_64); - gather_stats->ip4txocts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXOCTS] - + stats_inst_offset_64); - gather_stats->ip4txpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXPKTS] - + stats_inst_offset_64); - gather_stats->ip4txfrag = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXFRAGS] - + stats_inst_offset_64); - gather_stats->ip4txmcpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXMCPKTS] - + stats_inst_offset_64); - gather_stats->ip6rxocts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXOCTS] - + stats_inst_offset_64); - gather_stats->ip6rxpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXPKTS] - + stats_inst_offset_64); - gather_stats->ip6txfrags = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXFRAGS] - + stats_inst_offset_64); - gather_stats->ip6rxmcpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXMCPKTS] - + stats_inst_offset_64); - gather_stats->ip6txocts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6TXOCTS] - + stats_inst_offset_64); - gather_stats->ip6txpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6TXPKTS] - + stats_inst_offset_64); - gather_stats->ip6txfrags = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6TXFRAGS] - + stats_inst_offset_64); - gather_stats->ip6txmcpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6TXMCPKTS] - + stats_inst_offset_64); - gather_stats->tcprxsegs = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_TCPRXSEGS] - + stats_inst_offset_64); - gather_stats->tcptxsegs = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_TCPTXSEG] - + stats_inst_offset_64); - gather_stats->rdmarxrds = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMARXRDS] - + stats_inst_offset_64); - gather_stats->rdmarxsnds = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMARXSNDS] - + stats_inst_offset_64); - gather_stats->rdmarxwrs = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMARXWRS] - + stats_inst_offset_64); - gather_stats->rdmatxrds = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMATXRDS] - + stats_inst_offset_64); - gather_stats->rdmatxsnds = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMATXSNDS] - + stats_inst_offset_64); - gather_stats->rdmatxwrs = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMATXWRS] - + stats_inst_offset_64); - gather_stats->rdmavbn = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMAVBND] - + stats_inst_offset_64); - gather_stats->rdmavinv = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMAVINV] - + stats_inst_offset_64); - gather_stats->udprxpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_UDPRXPKTS] - + stats_inst_offset_64); - gather_stats->udptxpkts = - rd64(dev->hw, - dev->hw_stats_regs_64[IRDMA_HW_STAT_INDEX_UDPTXPKTS] - + stats_inst_offset_64); +#define get32(index) \ + rd32(dev->hw, \ + dev->hw_stats_regs_32[IRDMA_STAT(index)] + \ + stats_inst_offset_32) +#define get64(index) \ + rd64(dev->hw, \ + dev->hw_stats_regs_64[IRDMA_STAT(index)] + \ + stats_inst_offset_64) + + gather_stats->rxvlanerr = get32(RXVLANERR); + gather_stats->ip4rxdiscard = get32(IP4RXDISCARD); + gather_stats->ip4rxtrunc = get32(IP4RXTRUNC); + gather_stats->ip4txnoroute = get32(IP4TXNOROUTE); + gather_stats->ip6rxdiscard = get32(IP6RXDISCARD); + gather_stats->ip6rxtrunc = get32(IP6RXTRUNC); + gather_stats->ip6txnoroute = get32(IP6TXNOROUTE); + gather_stats->tcprtxseg = get32(TCPRTXSEG); + gather_stats->tcprxopterr = get32(TCPRXOPTERR); + + gather_stats->ip4rxocts = get64(IP4RXOCTS); + gather_stats->ip4rxpkts = get64(IP4RXPKTS); + gather_stats->ip4rxfrags = get64(IP4RXFRAGS); + gather_stats->ip4rxmcpkts = get64(IP4RXMCPKTS); + gather_stats->ip4txocts = get64(IP4TXOCTS); + gather_stats->ip4txpkts = get64(IP4TXPKTS); + gather_stats->ip4txfrag = get64(IP4TXFRAGS); + gather_stats->ip4txmcpkts = get64(IP4TXMCPKTS); + gather_stats->ip6rxocts = get64(IP6RXOCTS); + gather_stats->ip6rxpkts = get64(IP6RXPKTS); + gather_stats->ip6rxfrags = get64(IP6RXFRAGS); + gather_stats->ip6rxmcpkts = get64(IP6RXMCPKTS); + gather_stats->ip6txocts = get64(IP6TXOCTS); + gather_stats->ip6txpkts = get64(IP6TXPKTS); + gather_stats->ip6txfrags = get64(IP6TXFRAGS); + gather_stats->ip6txmcpkts = get64(IP6TXMCPKTS); + gather_stats->tcprxsegs = get64(TCPRXSEGS); + gather_stats->tcptxsegs = get64(TCPTXSEG); + gather_stats->rdmarxrds = get64(RDMARXRDS); + gather_stats->rdmarxsnds = get64(RDMARXSNDS); + gather_stats->rdmarxwrs = get64(RDMARXWRS); + gather_stats->rdmatxrds = get64(RDMATXRDS); + gather_stats->rdmatxsnds = get64(RDMATXSNDS); + gather_stats->rdmatxwrs = get64(RDMATXWRS); + gather_stats->rdmavbn = get64(RDMAVBND); + gather_stats->rdmavinv = get64(RDMAVINV); + gather_stats->udprxpkts = get64(UDPRXPKTS); + gather_stats->udptxpkts = get64(UDPTXPKTS); irdma_process_stats(pestat); } diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c index 2941552932431..cc8e7be0614ed 100644 --- a/drivers/infiniband/hw/irdma/verbs.c +++ b/drivers/infiniband/hw/irdma/verbs.c @@ -3634,87 +3634,54 @@ static int irdma_iw_port_immutable(struct ib_device *ibdev, u32 port_num, static const char *const irdma_hw_stat_names[] = { /* 32bit names */ - [IRDMA_HW_STAT_INDEX_RXVLANERR] = "rxVlanErrors", - [IRDMA_HW_STAT_INDEX_IP4RXDISCARD] = "ip4InDiscards", - [IRDMA_HW_STAT_INDEX_IP4RXTRUNC] = "ip4InTruncatedPkts", - [IRDMA_HW_STAT_INDEX_IP4TXNOROUTE] = "ip4OutNoRoutes", - [IRDMA_HW_STAT_INDEX_IP6RXDISCARD] = "ip6InDiscards", - [IRDMA_HW_STAT_INDEX_IP6RXTRUNC] = "ip6InTruncatedPkts", - [IRDMA_HW_STAT_INDEX_IP6TXNOROUTE] = "ip6OutNoRoutes", - [IRDMA_HW_STAT_INDEX_TCPRTXSEG] = "tcpRetransSegs", - [IRDMA_HW_STAT_INDEX_TCPRXOPTERR] = "tcpInOptErrors", - [IRDMA_HW_STAT_INDEX_TCPRXPROTOERR] = "tcpInProtoErrors", - [IRDMA_HW_STAT_INDEX_RXRPCNPHANDLED] = "cnpHandled", - [IRDMA_HW_STAT_INDEX_RXRPCNPIGNORED] = "cnpIgnored", - [IRDMA_HW_STAT_INDEX_TXNPCNPSENT] = "cnpSent", + [IRDMA_STAT_32(RXVLANERR)] = "rxVlanErrors", + [IRDMA_STAT_32(IP4RXDISCARD)] = "ip4InDiscards", + [IRDMA_STAT_32(IP4RXTRUNC)] = "ip4InTruncatedPkts", + [IRDMA_STAT_32(IP4TXNOROUTE)] = "ip4OutNoRoutes", + [IRDMA_STAT_32(IP6RXDISCARD)] = "ip6InDiscards", + [IRDMA_STAT_32(IP6RXTRUNC)] = "ip6InTruncatedPkts", + [IRDMA_STAT_32(IP6TXNOROUTE)] = "ip6OutNoRoutes", + [IRDMA_STAT_32(TCPRTXSEG)] = "tcpRetransSegs", + [IRDMA_STAT_32(TCPRXOPTERR)] = "tcpInOptErrors", + [IRDMA_STAT_32(TCPRXPROTOERR)] = "tcpInProtoErrors", + [IRDMA_STAT_32(RXRPCNPHANDLED)] = "cnpHandled", + [IRDMA_STAT_32(RXRPCNPIGNORED)] = "cnpIgnored", + [IRDMA_STAT_32(TXNPCNPSENT)] = "cnpSent", /* 64bit names */ - [IRDMA_HW_STAT_INDEX_IP4RXOCTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4InOctets", - [IRDMA_HW_STAT_INDEX_IP4RXPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4InPkts", - [IRDMA_HW_STAT_INDEX_IP4RXFRAGS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4InReasmRqd", - [IRDMA_HW_STAT_INDEX_IP4RXMCOCTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4InMcastOctets", - [IRDMA_HW_STAT_INDEX_IP4RXMCPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4InMcastPkts", - [IRDMA_HW_STAT_INDEX_IP4TXOCTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4OutOctets", - [IRDMA_HW_STAT_INDEX_IP4TXPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4OutPkts", - [IRDMA_HW_STAT_INDEX_IP4TXFRAGS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4OutSegRqd", - [IRDMA_HW_STAT_INDEX_IP4TXMCOCTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4OutMcastOctets", - [IRDMA_HW_STAT_INDEX_IP4TXMCPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip4OutMcastPkts", - [IRDMA_HW_STAT_INDEX_IP6RXOCTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6InOctets", - [IRDMA_HW_STAT_INDEX_IP6RXPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6InPkts", - [IRDMA_HW_STAT_INDEX_IP6RXFRAGS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6InReasmRqd", - [IRDMA_HW_STAT_INDEX_IP6RXMCOCTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6InMcastOctets", - [IRDMA_HW_STAT_INDEX_IP6RXMCPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6InMcastPkts", - [IRDMA_HW_STAT_INDEX_IP6TXOCTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6OutOctets", - [IRDMA_HW_STAT_INDEX_IP6TXPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6OutPkts", - [IRDMA_HW_STAT_INDEX_IP6TXFRAGS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6OutSegRqd", - [IRDMA_HW_STAT_INDEX_IP6TXMCOCTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6OutMcastOctets", - [IRDMA_HW_STAT_INDEX_IP6TXMCPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "ip6OutMcastPkts", - [IRDMA_HW_STAT_INDEX_TCPRXSEGS + IRDMA_HW_STAT_INDEX_MAX_32] = - "tcpInSegs", - [IRDMA_HW_STAT_INDEX_TCPTXSEG + IRDMA_HW_STAT_INDEX_MAX_32] = - "tcpOutSegs", - [IRDMA_HW_STAT_INDEX_RDMARXRDS + IRDMA_HW_STAT_INDEX_MAX_32] = - "iwInRdmaReads", - [IRDMA_HW_STAT_INDEX_RDMARXSNDS + IRDMA_HW_STAT_INDEX_MAX_32] = - "iwInRdmaSends", - [IRDMA_HW_STAT_INDEX_RDMARXWRS + IRDMA_HW_STAT_INDEX_MAX_32] = - "iwInRdmaWrites", - [IRDMA_HW_STAT_INDEX_RDMATXRDS + IRDMA_HW_STAT_INDEX_MAX_32] = - "iwOutRdmaReads", - [IRDMA_HW_STAT_INDEX_RDMATXSNDS + IRDMA_HW_STAT_INDEX_MAX_32] = - "iwOutRdmaSends", - [IRDMA_HW_STAT_INDEX_RDMATXWRS + IRDMA_HW_STAT_INDEX_MAX_32] = - "iwOutRdmaWrites", - [IRDMA_HW_STAT_INDEX_RDMAVBND + IRDMA_HW_STAT_INDEX_MAX_32] = - "iwRdmaBnd", - [IRDMA_HW_STAT_INDEX_RDMAVINV + IRDMA_HW_STAT_INDEX_MAX_32] = - "iwRdmaInv", - [IRDMA_HW_STAT_INDEX_UDPRXPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "RxUDP", - [IRDMA_HW_STAT_INDEX_UDPTXPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "TxUDP", - [IRDMA_HW_STAT_INDEX_RXNPECNMARKEDPKTS + IRDMA_HW_STAT_INDEX_MAX_32] = - "RxECNMrkd", + [IRDMA_STAT_64(IP4RXOCTS)] = "ip4InOctets", + [IRDMA_STAT_64(IP4RXPKTS)] = "ip4InPkts", + [IRDMA_STAT_64(IP4RXFRAGS)] = "ip4InReasmRqd", + [IRDMA_STAT_64(IP4RXMCOCTS)] = "ip4InMcastOctets", + [IRDMA_STAT_64(IP4RXMCPKTS)] = "ip4InMcastPkts", + [IRDMA_STAT_64(IP4TXOCTS)] = "ip4OutOctets", + [IRDMA_STAT_64(IP4TXPKTS)] = "ip4OutPkts", + [IRDMA_STAT_64(IP4TXFRAGS)] = "ip4OutSegRqd", + [IRDMA_STAT_64(IP4TXMCOCTS)] = "ip4OutMcastOctets", + [IRDMA_STAT_64(IP4TXMCPKTS)] = "ip4OutMcastPkts", + [IRDMA_STAT_64(IP6RXOCTS)] = "ip6InOctets", + [IRDMA_STAT_64(IP6RXPKTS)] = "ip6InPkts", + [IRDMA_STAT_64(IP6RXFRAGS)] = "ip6InReasmRqd", + [IRDMA_STAT_64(IP6RXMCOCTS)] = "ip6InMcastOctets", + [IRDMA_STAT_64(IP6RXMCPKTS)] = "ip6InMcastPkts", + [IRDMA_STAT_64(IP6TXOCTS)] = "ip6OutOctets", + [IRDMA_STAT_64(IP6TXPKTS)] = "ip6OutPkts", + [IRDMA_STAT_64(IP6TXFRAGS)] = "ip6OutSegRqd", + [IRDMA_STAT_64(IP6TXMCOCTS)] = "ip6OutMcastOctets", + [IRDMA_STAT_64(IP6TXMCPKTS)] = "ip6OutMcastPkts", + [IRDMA_STAT_64(TCPRXSEGS)] = "tcpInSegs", + [IRDMA_STAT_64(TCPTXSEG)] = "tcpOutSegs", + [IRDMA_STAT_64(RDMARXRDS)] = "iwInRdmaReads", + [IRDMA_STAT_64(RDMARXSNDS)] = "iwInRdmaSends", + [IRDMA_STAT_64(RDMARXWRS)] = "iwInRdmaWrites", + [IRDMA_STAT_64(RDMATXRDS)] = "iwOutRdmaReads", + [IRDMA_STAT_64(RDMATXSNDS)] = "iwOutRdmaSends", + [IRDMA_STAT_64(RDMATXWRS)] = "iwOutRdmaWrites", + [IRDMA_STAT_64(RDMAVBND)] = "iwRdmaBnd", + [IRDMA_STAT_64(RDMAVINV)] = "iwRdmaInv", + [IRDMA_STAT_64(UDPRXPKTS)] = "RxUDP", + [IRDMA_STAT_64(UDPTXPKTS)] = "TxUDP", + [IRDMA_STAT_64(RXNPECNMARKEDPKTS)] = "RxECNMrkd", }; static void irdma_get_dev_fw_str(struct ib_device *dev, char *str) ^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? 2021-06-07 15:07 ` Joe Perches @ 2021-06-07 22:40 ` Saleem, Shiraz 2021-06-07 23:37 ` Joe Perches 0 siblings, 1 reply; 7+ messages in thread From: Saleem, Shiraz @ 2021-06-07 22:40 UTC (permalink / raw) To: Joe Perches, Ismail, Mustafa Cc: Doug Ledford, Jason Gunthorpe, linux-rdma@vger.kernel.org, LKML > Subject: Re: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > On Mon, 2021-06-07 at 14:54 +0000, Saleem, Shiraz wrote: > > > Subject: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > > > > > There are some odd mismatches in field and access index. > > > These may be simple cut/paste typos. > > > > > > Are these intentional? > > > > No. Accidental. Likely cut/copy mistake. I will send a fix. Thanks > > Joe! > > Reason is I was refactoring what I thought was rather templated and overly verbose > code. > > Here's a possible patch (with probable corrections to these index typos): Looks reasonable to me. Wondering if irdma_update_stats should also use your IRDMA_STAT macro. > --- > drivers/infiniband/hw/irdma/type.h | 104 ++++++++++--------- > drivers/infiniband/hw/irdma/utils.c | 196 +++++++++--------------------------- > drivers/infiniband/hw/irdma/verbs.c | 125 +++++++++-------------- > 3 files changed, 147 insertions(+), 278 deletions(-) > > diff --git a/drivers/infiniband/hw/irdma/type.h b/drivers/infiniband/hw/irdma/type.h > index 7387b83e826d2..4050e5b19c6e1 100644 > --- a/drivers/infiniband/hw/irdma/type.h > +++ b/drivers/infiniband/hw/irdma/type.h > @@ -101,60 +101,64 @@ enum irdma_qp_event_type { > IRDMA_QP_EVENT_ACCESS_ERR, > }; > > +#define IRDMA_STAT(index) IRDMA_HW_STAT_INDEX_ ## index > +#define IRDMA_STAT_32(index) (IRDMA_HW_STAT_INDEX_ ## index) #define > +IRDMA_STAT_64(index) (IRDMA_HW_STAT_INDEX_MAX_32 + > +IRDMA_STAT_32(index)) > + > enum irdma_hw_stats_index_32b { > - IRDMA_HW_STAT_INDEX_IP4RXDISCARD = 0, > - IRDMA_HW_STAT_INDEX_IP4RXTRUNC = 1, > - IRDMA_HW_STAT_INDEX_IP4TXNOROUTE = 2, > - IRDMA_HW_STAT_INDEX_IP6RXDISCARD = 3, > - IRDMA_HW_STAT_INDEX_IP6RXTRUNC = 4, > - IRDMA_HW_STAT_INDEX_IP6TXNOROUTE = 5, > - IRDMA_HW_STAT_INDEX_TCPRTXSEG = 6, > - IRDMA_HW_STAT_INDEX_TCPRXOPTERR = 7, > - IRDMA_HW_STAT_INDEX_TCPRXPROTOERR = 8, > - IRDMA_HW_STAT_INDEX_MAX_32_GEN_1 = 9, /* Must be same > value as next entry */ > - IRDMA_HW_STAT_INDEX_RXVLANERR = 9, > - IRDMA_HW_STAT_INDEX_RXRPCNPHANDLED = 10, > - IRDMA_HW_STAT_INDEX_RXRPCNPIGNORED = 11, > - IRDMA_HW_STAT_INDEX_TXNPCNPSENT = 12, > - IRDMA_HW_STAT_INDEX_MAX_32, /* Must be last entry */ > + IRDMA_STAT(IP4RXDISCARD) = 0, > + IRDMA_STAT(IP4RXTRUNC) = 1, > + IRDMA_STAT(IP4TXNOROUTE) = 2, > + IRDMA_STAT(IP6RXDISCARD) = 3, > + IRDMA_STAT(IP6RXTRUNC) = 4, > + IRDMA_STAT(IP6TXNOROUTE) = 5, > + IRDMA_STAT(TCPRTXSEG) = 6, > + IRDMA_STAT(TCPRXOPTERR) = 7, > + IRDMA_STAT(TCPRXPROTOERR) = 8, > + IRDMA_STAT(MAX_32_GEN_1) = 9, /* Must be same value as next entry */ > + IRDMA_STAT(RXVLANERR) = 9, > + IRDMA_STAT(RXRPCNPHANDLED) = 10, > + IRDMA_STAT(RXRPCNPIGNORED) = 11, > + IRDMA_STAT(TXNPCNPSENT) = 12, > + IRDMA_STAT(MAX_32), /* Must be last entry */ > }; > > enum irdma_hw_stats_index_64b { > - IRDMA_HW_STAT_INDEX_IP4RXOCTS = 0, > - IRDMA_HW_STAT_INDEX_IP4RXPKTS = 1, > - IRDMA_HW_STAT_INDEX_IP4RXFRAGS = 2, > - IRDMA_HW_STAT_INDEX_IP4RXMCPKTS = 3, > - IRDMA_HW_STAT_INDEX_IP4TXOCTS = 4, > - IRDMA_HW_STAT_INDEX_IP4TXPKTS = 5, > - IRDMA_HW_STAT_INDEX_IP4TXFRAGS = 6, > - IRDMA_HW_STAT_INDEX_IP4TXMCPKTS = 7, > - IRDMA_HW_STAT_INDEX_IP6RXOCTS = 8, > - IRDMA_HW_STAT_INDEX_IP6RXPKTS = 9, > - IRDMA_HW_STAT_INDEX_IP6RXFRAGS = 10, > - IRDMA_HW_STAT_INDEX_IP6RXMCPKTS = 11, > - IRDMA_HW_STAT_INDEX_IP6TXOCTS = 12, > - IRDMA_HW_STAT_INDEX_IP6TXPKTS = 13, > - IRDMA_HW_STAT_INDEX_IP6TXFRAGS = 14, > - IRDMA_HW_STAT_INDEX_IP6TXMCPKTS = 15, > - IRDMA_HW_STAT_INDEX_TCPRXSEGS = 16, > - IRDMA_HW_STAT_INDEX_TCPTXSEG = 17, > - IRDMA_HW_STAT_INDEX_RDMARXRDS = 18, > - IRDMA_HW_STAT_INDEX_RDMARXSNDS = 19, > - IRDMA_HW_STAT_INDEX_RDMARXWRS = 20, > - IRDMA_HW_STAT_INDEX_RDMATXRDS = 21, > - IRDMA_HW_STAT_INDEX_RDMATXSNDS = 22, > - IRDMA_HW_STAT_INDEX_RDMATXWRS = 23, > - IRDMA_HW_STAT_INDEX_RDMAVBND = 24, > - IRDMA_HW_STAT_INDEX_RDMAVINV = 25, > - IRDMA_HW_STAT_INDEX_MAX_64_GEN_1 = 26, /* Must be same value > as next entry */ > - IRDMA_HW_STAT_INDEX_IP4RXMCOCTS = 26, > - IRDMA_HW_STAT_INDEX_IP4TXMCOCTS = 27, > - IRDMA_HW_STAT_INDEX_IP6RXMCOCTS = 28, > - IRDMA_HW_STAT_INDEX_IP6TXMCOCTS = 29, > - IRDMA_HW_STAT_INDEX_UDPRXPKTS = 30, > - IRDMA_HW_STAT_INDEX_UDPTXPKTS = 31, > - IRDMA_HW_STAT_INDEX_RXNPECNMARKEDPKTS = 32, > - IRDMA_HW_STAT_INDEX_MAX_64, /* Must be last entry */ > + IRDMA_STAT(IP4RXOCTS) = 0, > + IRDMA_STAT(IP4RXPKTS) = 1, > + IRDMA_STAT(IP4RXFRAGS) = 2, > + IRDMA_STAT(IP4RXMCPKTS) = 3, > + IRDMA_STAT(IP4TXOCTS) = 4, > + IRDMA_STAT(IP4TXPKTS) = 5, > + IRDMA_STAT(IP4TXFRAGS) = 6, > + IRDMA_STAT(IP4TXMCPKTS) = 7, > + IRDMA_STAT(IP6RXOCTS) = 8, > + IRDMA_STAT(IP6RXPKTS) = 9, > + IRDMA_STAT(IP6RXFRAGS) = 10, > + IRDMA_STAT(IP6RXMCPKTS) = 11, > + IRDMA_STAT(IP6TXOCTS) = 12, > + IRDMA_STAT(IP6TXPKTS) = 13, > + IRDMA_STAT(IP6TXFRAGS) = 14, > + IRDMA_STAT(IP6TXMCPKTS) = 15, > + IRDMA_STAT(TCPRXSEGS) = 16, > + IRDMA_STAT(TCPTXSEG) = 17, > + IRDMA_STAT(RDMARXRDS) = 18, > + IRDMA_STAT(RDMARXSNDS) = 19, > + IRDMA_STAT(RDMARXWRS) = 20, > + IRDMA_STAT(RDMATXRDS) = 21, > + IRDMA_STAT(RDMATXSNDS) = 22, > + IRDMA_STAT(RDMATXWRS) = 23, > + IRDMA_STAT(RDMAVBND) = 24, > + IRDMA_STAT(RDMAVINV) = 25, > + IRDMA_STAT(MAX_64_GEN_1) = 26, /* Must be same value as next entry > */ > + IRDMA_STAT(IP4RXMCOCTS) = 26, > + IRDMA_STAT(IP4TXMCOCTS) = 27, > + IRDMA_STAT(IP6RXMCOCTS) = 28, > + IRDMA_STAT(IP6TXMCOCTS) = 29, > + IRDMA_STAT(UDPRXPKTS) = 30, > + IRDMA_STAT(UDPTXPKTS) = 31, > + IRDMA_STAT(RXNPECNMARKEDPKTS) = 32, > + IRDMA_STAT(MAX_64), /* Must be last entry */ > }; > > enum irdma_feature_type { > diff --git a/drivers/infiniband/hw/irdma/utils.c b/drivers/infiniband/hw/irdma/utils.c > index 2f078155d6fd0..32c1200810eb8 100644 > --- a/drivers/infiniband/hw/irdma/utils.c > +++ b/drivers/infiniband/hw/irdma/utils.c > @@ -1705,155 +1705,53 @@ void irdma_cqp_gather_stats_gen1(struct > irdma_sc_dev *dev, > stats_inst_offset_32 *= 4; > stats_inst_offset_64 = stats_inst_offset_32 * 2; > > - gather_stats->rxvlanerr = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_RXVLANERR] > - + stats_inst_offset_32); > - gather_stats->ip4rxdiscard = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP4RXDISCARD] > - + stats_inst_offset_32); > - gather_stats->ip4rxtrunc = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP4RXTRUNC] > - + stats_inst_offset_32); > - gather_stats->ip4txnoroute = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP4TXNOROUTE] > - + stats_inst_offset_32); > - gather_stats->ip6rxdiscard = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP6RXDISCARD] > - + stats_inst_offset_32); > - gather_stats->ip6rxtrunc = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP6RXTRUNC] > - + stats_inst_offset_32); > - gather_stats->ip6txnoroute = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_IP6TXNOROUTE] > - + stats_inst_offset_32); > - gather_stats->tcprtxseg = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_TCPRTXSEG] > - + stats_inst_offset_32); > - gather_stats->tcprxopterr = > - rd32(dev->hw, > - dev- > >hw_stats_regs_32[IRDMA_HW_STAT_INDEX_TCPRXOPTERR] > - + stats_inst_offset_32); > - > - gather_stats->ip4rxocts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXOCTS] > - + stats_inst_offset_64); > - gather_stats->ip4rxpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXPKTS] > - + stats_inst_offset_64); > - gather_stats->ip4txfrag = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXFRAGS] > - + stats_inst_offset_64); > - gather_stats->ip4rxmcpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4RXMCPKTS] > - + stats_inst_offset_64); > - gather_stats->ip4txocts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXOCTS] > - + stats_inst_offset_64); > - gather_stats->ip4txpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXPKTS] > - + stats_inst_offset_64); > - gather_stats->ip4txfrag = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXFRAGS] > - + stats_inst_offset_64); > - gather_stats->ip4txmcpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP4TXMCPKTS] > - + stats_inst_offset_64); > - gather_stats->ip6rxocts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXOCTS] > - + stats_inst_offset_64); > - gather_stats->ip6rxpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXPKTS] > - + stats_inst_offset_64); > - gather_stats->ip6txfrags = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXFRAGS] > - + stats_inst_offset_64); > - gather_stats->ip6rxmcpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6RXMCPKTS] > - + stats_inst_offset_64); > - gather_stats->ip6txocts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6TXOCTS] > - + stats_inst_offset_64); > - gather_stats->ip6txpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6TXPKTS] > - + stats_inst_offset_64); > - gather_stats->ip6txfrags = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6TXFRAGS] > - + stats_inst_offset_64); > - gather_stats->ip6txmcpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_IP6TXMCPKTS] > - + stats_inst_offset_64); > - gather_stats->tcprxsegs = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_TCPRXSEGS] > - + stats_inst_offset_64); > - gather_stats->tcptxsegs = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_TCPTXSEG] > - + stats_inst_offset_64); > - gather_stats->rdmarxrds = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMARXRDS] > - + stats_inst_offset_64); > - gather_stats->rdmarxsnds = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMARXSNDS] > - + stats_inst_offset_64); > - gather_stats->rdmarxwrs = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMARXWRS] > - + stats_inst_offset_64); > - gather_stats->rdmatxrds = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMATXRDS] > - + stats_inst_offset_64); > - gather_stats->rdmatxsnds = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMATXSNDS] > - + stats_inst_offset_64); > - gather_stats->rdmatxwrs = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMATXWRS] > - + stats_inst_offset_64); > - gather_stats->rdmavbn = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMAVBND] > - + stats_inst_offset_64); > - gather_stats->rdmavinv = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_RDMAVINV] > - + stats_inst_offset_64); > - gather_stats->udprxpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_UDPRXPKTS] > - + stats_inst_offset_64); > - gather_stats->udptxpkts = > - rd64(dev->hw, > - dev- > >hw_stats_regs_64[IRDMA_HW_STAT_INDEX_UDPTXPKTS] > - + stats_inst_offset_64); > +#define get32(index) \ > + rd32(dev->hw, \ > + dev->hw_stats_regs_32[IRDMA_STAT(index)] + \ > + stats_inst_offset_32) > +#define get64(index) \ > + rd64(dev->hw, \ > + dev->hw_stats_regs_64[IRDMA_STAT(index)] + \ > + stats_inst_offset_64) > + > + gather_stats->rxvlanerr = get32(RXVLANERR); > + gather_stats->ip4rxdiscard = get32(IP4RXDISCARD); > + gather_stats->ip4rxtrunc = get32(IP4RXTRUNC); > + gather_stats->ip4txnoroute = get32(IP4TXNOROUTE); > + gather_stats->ip6rxdiscard = get32(IP6RXDISCARD); > + gather_stats->ip6rxtrunc = get32(IP6RXTRUNC); > + gather_stats->ip6txnoroute = get32(IP6TXNOROUTE); > + gather_stats->tcprtxseg = get32(TCPRTXSEG); > + gather_stats->tcprxopterr = get32(TCPRXOPTERR); > + > + gather_stats->ip4rxocts = get64(IP4RXOCTS); > + gather_stats->ip4rxpkts = get64(IP4RXPKTS); > + gather_stats->ip4rxfrags = get64(IP4RXFRAGS); > + gather_stats->ip4rxmcpkts = get64(IP4RXMCPKTS); > + gather_stats->ip4txocts = get64(IP4TXOCTS); > + gather_stats->ip4txpkts = get64(IP4TXPKTS); > + gather_stats->ip4txfrag = get64(IP4TXFRAGS); > + gather_stats->ip4txmcpkts = get64(IP4TXMCPKTS); > + gather_stats->ip6rxocts = get64(IP6RXOCTS); > + gather_stats->ip6rxpkts = get64(IP6RXPKTS); > + gather_stats->ip6rxfrags = get64(IP6RXFRAGS); > + gather_stats->ip6rxmcpkts = get64(IP6RXMCPKTS); > + gather_stats->ip6txocts = get64(IP6TXOCTS); > + gather_stats->ip6txpkts = get64(IP6TXPKTS); > + gather_stats->ip6txfrags = get64(IP6TXFRAGS); > + gather_stats->ip6txmcpkts = get64(IP6TXMCPKTS); > + gather_stats->tcprxsegs = get64(TCPRXSEGS); > + gather_stats->tcptxsegs = get64(TCPTXSEG); > + gather_stats->rdmarxrds = get64(RDMARXRDS); > + gather_stats->rdmarxsnds = get64(RDMARXSNDS); > + gather_stats->rdmarxwrs = get64(RDMARXWRS); > + gather_stats->rdmatxrds = get64(RDMATXRDS); > + gather_stats->rdmatxsnds = get64(RDMATXSNDS); > + gather_stats->rdmatxwrs = get64(RDMATXWRS); > + gather_stats->rdmavbn = get64(RDMAVBND); > + gather_stats->rdmavinv = get64(RDMAVINV); > + gather_stats->udprxpkts = get64(UDPRXPKTS); > + gather_stats->udptxpkts = get64(UDPTXPKTS); > > irdma_process_stats(pestat); > } > diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c > index 2941552932431..cc8e7be0614ed 100644 > --- a/drivers/infiniband/hw/irdma/verbs.c > +++ b/drivers/infiniband/hw/irdma/verbs.c > @@ -3634,87 +3634,54 @@ static int irdma_iw_port_immutable(struct ib_device > *ibdev, u32 port_num, > > static const char *const irdma_hw_stat_names[] = { > /* 32bit names */ > - [IRDMA_HW_STAT_INDEX_RXVLANERR] = "rxVlanErrors", > - [IRDMA_HW_STAT_INDEX_IP4RXDISCARD] = "ip4InDiscards", > - [IRDMA_HW_STAT_INDEX_IP4RXTRUNC] = "ip4InTruncatedPkts", > - [IRDMA_HW_STAT_INDEX_IP4TXNOROUTE] = "ip4OutNoRoutes", > - [IRDMA_HW_STAT_INDEX_IP6RXDISCARD] = "ip6InDiscards", > - [IRDMA_HW_STAT_INDEX_IP6RXTRUNC] = "ip6InTruncatedPkts", > - [IRDMA_HW_STAT_INDEX_IP6TXNOROUTE] = "ip6OutNoRoutes", > - [IRDMA_HW_STAT_INDEX_TCPRTXSEG] = "tcpRetransSegs", > - [IRDMA_HW_STAT_INDEX_TCPRXOPTERR] = "tcpInOptErrors", > - [IRDMA_HW_STAT_INDEX_TCPRXPROTOERR] = "tcpInProtoErrors", > - [IRDMA_HW_STAT_INDEX_RXRPCNPHANDLED] = "cnpHandled", > - [IRDMA_HW_STAT_INDEX_RXRPCNPIGNORED] = "cnpIgnored", > - [IRDMA_HW_STAT_INDEX_TXNPCNPSENT] = "cnpSent", > + [IRDMA_STAT_32(RXVLANERR)] = "rxVlanErrors", > + [IRDMA_STAT_32(IP4RXDISCARD)] = "ip4InDiscards", > + [IRDMA_STAT_32(IP4RXTRUNC)] = "ip4InTruncatedPkts", > + [IRDMA_STAT_32(IP4TXNOROUTE)] = "ip4OutNoRoutes", > + [IRDMA_STAT_32(IP6RXDISCARD)] = "ip6InDiscards", > + [IRDMA_STAT_32(IP6RXTRUNC)] = "ip6InTruncatedPkts", > + [IRDMA_STAT_32(IP6TXNOROUTE)] = "ip6OutNoRoutes", > + [IRDMA_STAT_32(TCPRTXSEG)] = "tcpRetransSegs", > + [IRDMA_STAT_32(TCPRXOPTERR)] = "tcpInOptErrors", > + [IRDMA_STAT_32(TCPRXPROTOERR)] = "tcpInProtoErrors", > + [IRDMA_STAT_32(RXRPCNPHANDLED)] = "cnpHandled", > + [IRDMA_STAT_32(RXRPCNPIGNORED)] = "cnpIgnored", > + [IRDMA_STAT_32(TXNPCNPSENT)] = "cnpSent", > > /* 64bit names */ > - [IRDMA_HW_STAT_INDEX_IP4RXOCTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4InOctets", > - [IRDMA_HW_STAT_INDEX_IP4RXPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4InPkts", > - [IRDMA_HW_STAT_INDEX_IP4RXFRAGS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4InReasmRqd", > - [IRDMA_HW_STAT_INDEX_IP4RXMCOCTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4InMcastOctets", > - [IRDMA_HW_STAT_INDEX_IP4RXMCPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4InMcastPkts", > - [IRDMA_HW_STAT_INDEX_IP4TXOCTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4OutOctets", > - [IRDMA_HW_STAT_INDEX_IP4TXPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4OutPkts", > - [IRDMA_HW_STAT_INDEX_IP4TXFRAGS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4OutSegRqd", > - [IRDMA_HW_STAT_INDEX_IP4TXMCOCTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4OutMcastOctets", > - [IRDMA_HW_STAT_INDEX_IP4TXMCPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip4OutMcastPkts", > - [IRDMA_HW_STAT_INDEX_IP6RXOCTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6InOctets", > - [IRDMA_HW_STAT_INDEX_IP6RXPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6InPkts", > - [IRDMA_HW_STAT_INDEX_IP6RXFRAGS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6InReasmRqd", > - [IRDMA_HW_STAT_INDEX_IP6RXMCOCTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6InMcastOctets", > - [IRDMA_HW_STAT_INDEX_IP6RXMCPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6InMcastPkts", > - [IRDMA_HW_STAT_INDEX_IP6TXOCTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6OutOctets", > - [IRDMA_HW_STAT_INDEX_IP6TXPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6OutPkts", > - [IRDMA_HW_STAT_INDEX_IP6TXFRAGS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6OutSegRqd", > - [IRDMA_HW_STAT_INDEX_IP6TXMCOCTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6OutMcastOctets", > - [IRDMA_HW_STAT_INDEX_IP6TXMCPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "ip6OutMcastPkts", > - [IRDMA_HW_STAT_INDEX_TCPRXSEGS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "tcpInSegs", > - [IRDMA_HW_STAT_INDEX_TCPTXSEG + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "tcpOutSegs", > - [IRDMA_HW_STAT_INDEX_RDMARXRDS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "iwInRdmaReads", > - [IRDMA_HW_STAT_INDEX_RDMARXSNDS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "iwInRdmaSends", > - [IRDMA_HW_STAT_INDEX_RDMARXWRS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "iwInRdmaWrites", > - [IRDMA_HW_STAT_INDEX_RDMATXRDS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "iwOutRdmaReads", > - [IRDMA_HW_STAT_INDEX_RDMATXSNDS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "iwOutRdmaSends", > - [IRDMA_HW_STAT_INDEX_RDMATXWRS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "iwOutRdmaWrites", > - [IRDMA_HW_STAT_INDEX_RDMAVBND + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "iwRdmaBnd", > - [IRDMA_HW_STAT_INDEX_RDMAVINV + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "iwRdmaInv", > - [IRDMA_HW_STAT_INDEX_UDPRXPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "RxUDP", > - [IRDMA_HW_STAT_INDEX_UDPTXPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "TxUDP", > - [IRDMA_HW_STAT_INDEX_RXNPECNMARKEDPKTS + > IRDMA_HW_STAT_INDEX_MAX_32] = > - "RxECNMrkd", > + [IRDMA_STAT_64(IP4RXOCTS)] = "ip4InOctets", > + [IRDMA_STAT_64(IP4RXPKTS)] = "ip4InPkts", > + [IRDMA_STAT_64(IP4RXFRAGS)] = "ip4InReasmRqd", > + [IRDMA_STAT_64(IP4RXMCOCTS)] = "ip4InMcastOctets", > + [IRDMA_STAT_64(IP4RXMCPKTS)] = "ip4InMcastPkts", > + [IRDMA_STAT_64(IP4TXOCTS)] = "ip4OutOctets", > + [IRDMA_STAT_64(IP4TXPKTS)] = "ip4OutPkts", > + [IRDMA_STAT_64(IP4TXFRAGS)] = "ip4OutSegRqd", > + [IRDMA_STAT_64(IP4TXMCOCTS)] = "ip4OutMcastOctets", > + [IRDMA_STAT_64(IP4TXMCPKTS)] = "ip4OutMcastPkts", > + [IRDMA_STAT_64(IP6RXOCTS)] = "ip6InOctets", > + [IRDMA_STAT_64(IP6RXPKTS)] = "ip6InPkts", > + [IRDMA_STAT_64(IP6RXFRAGS)] = "ip6InReasmRqd", > + [IRDMA_STAT_64(IP6RXMCOCTS)] = "ip6InMcastOctets", > + [IRDMA_STAT_64(IP6RXMCPKTS)] = "ip6InMcastPkts", > + [IRDMA_STAT_64(IP6TXOCTS)] = "ip6OutOctets", > + [IRDMA_STAT_64(IP6TXPKTS)] = "ip6OutPkts", > + [IRDMA_STAT_64(IP6TXFRAGS)] = "ip6OutSegRqd", > + [IRDMA_STAT_64(IP6TXMCOCTS)] = "ip6OutMcastOctets", > + [IRDMA_STAT_64(IP6TXMCPKTS)] = "ip6OutMcastPkts", > + [IRDMA_STAT_64(TCPRXSEGS)] = "tcpInSegs", > + [IRDMA_STAT_64(TCPTXSEG)] = "tcpOutSegs", > + [IRDMA_STAT_64(RDMARXRDS)] = "iwInRdmaReads", > + [IRDMA_STAT_64(RDMARXSNDS)] = "iwInRdmaSends", > + [IRDMA_STAT_64(RDMARXWRS)] = "iwInRdmaWrites", > + [IRDMA_STAT_64(RDMATXRDS)] = "iwOutRdmaReads", > + [IRDMA_STAT_64(RDMATXSNDS)] = "iwOutRdmaSends", > + [IRDMA_STAT_64(RDMATXWRS)] = "iwOutRdmaWrites", > + [IRDMA_STAT_64(RDMAVBND)] = "iwRdmaBnd", > + [IRDMA_STAT_64(RDMAVINV)] = "iwRdmaInv", > + [IRDMA_STAT_64(UDPRXPKTS)] = "RxUDP", > + [IRDMA_STAT_64(UDPTXPKTS)] = "TxUDP", > + [IRDMA_STAT_64(RXNPECNMARKEDPKTS)] = "RxECNMrkd", > }; > > static void irdma_get_dev_fw_str(struct ib_device *dev, char *str) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? 2021-06-07 22:40 ` Saleem, Shiraz @ 2021-06-07 23:37 ` Joe Perches 2021-06-08 16:18 ` Saleem, Shiraz 0 siblings, 1 reply; 7+ messages in thread From: Joe Perches @ 2021-06-07 23:37 UTC (permalink / raw) To: Saleem, Shiraz, Ismail, Mustafa Cc: Doug Ledford, Jason Gunthorpe, linux-rdma@vger.kernel.org, LKML On Mon, 2021-06-07 at 22:40 +0000, Saleem, Shiraz wrote: > > Subject: Re: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > > > On Mon, 2021-06-07 at 14:54 +0000, Saleem, Shiraz wrote: > > > > Subject: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > > > > > > > There are some odd mismatches in field and access index. > > > > These may be simple cut/paste typos. > > > > > > > > Are these intentional? > > > > > > No. Accidental. Likely cut/copy mistake. I will send a fix. Thanks > > > Joe! > > > > Reason is I was refactoring what I thought was rather templated and > > overly verbose > > code. > > > > Here's a possible patch (with probable corrections to these index > > typos): > > Looks reasonable to me. Wondering if irdma_update_stats should also > use your IRDMA_STAT macro. Probably, and it could really a macro or two of its own. And it looks like that block has it's own copy/paste defects. Maybe: --- drivers/infiniband/hw/irdma/ctrl.c | 219 +++++++++---------------------------- 1 file changed, 51 insertions(+), 168 deletions(-) diff --git a/drivers/infiniband/hw/irdma/ctrl.c b/drivers/infiniband/hw/irdma/ctrl.c index 5aa112067bce8..90c6f82ea0c8d 100644 --- a/drivers/infiniband/hw/irdma/ctrl.c +++ b/drivers/infiniband/hw/irdma/ctrl.c @@ -5484,174 +5484,57 @@ void irdma_update_stats(struct irdma_dev_hw_stats *hw_stats, { u64 *stats_val = hw_stats->stats_val_32; - stats_val[IRDMA_HW_STAT_INDEX_RXVLANERR] += - IRDMA_STATS_DELTA(gather_stats->rxvlanerr, - last_gather_stats->rxvlanerr, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_IP4RXDISCARD] += - IRDMA_STATS_DELTA(gather_stats->ip4rxdiscard, - last_gather_stats->ip4rxdiscard, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_IP4RXTRUNC] += - IRDMA_STATS_DELTA(gather_stats->ip4rxtrunc, - last_gather_stats->ip4rxtrunc, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_IP4TXNOROUTE] += - IRDMA_STATS_DELTA(gather_stats->ip4txnoroute, - last_gather_stats->ip4txnoroute, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_IP6RXDISCARD] += - IRDMA_STATS_DELTA(gather_stats->ip6rxdiscard, - last_gather_stats->ip6rxdiscard, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_IP6RXTRUNC] += - IRDMA_STATS_DELTA(gather_stats->ip6rxtrunc, - last_gather_stats->ip6rxtrunc, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_IP6TXNOROUTE] += - IRDMA_STATS_DELTA(gather_stats->ip6txnoroute, - last_gather_stats->ip6txnoroute, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_TCPRTXSEG] += - IRDMA_STATS_DELTA(gather_stats->tcprtxseg, - last_gather_stats->tcprtxseg, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_TCPRXOPTERR] += - IRDMA_STATS_DELTA(gather_stats->tcprxopterr, - last_gather_stats->tcprxopterr, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_TCPRXPROTOERR] += - IRDMA_STATS_DELTA(gather_stats->tcprxprotoerr, - last_gather_stats->tcprxprotoerr, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_RXRPCNPHANDLED] += - IRDMA_STATS_DELTA(gather_stats->rxrpcnphandled, - last_gather_stats->rxrpcnphandled, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_RXRPCNPIGNORED] += - IRDMA_STATS_DELTA(gather_stats->rxrpcnpignored, - last_gather_stats->rxrpcnpignored, - IRDMA_MAX_STATS_32); - stats_val[IRDMA_HW_STAT_INDEX_TXNPCNPSENT] += - IRDMA_STATS_DELTA(gather_stats->txnpcnpsent, - last_gather_stats->txnpcnpsent, - IRDMA_MAX_STATS_32); +#define irdma_update_stat(index, var, size) \ + stats_val[IRDMA_STAT(index)] += \ + IRDMA_STATS_DELTA(gather_stats->var, \ + last_gather_stats->var, \ + IRDMA_MAX_STATS_##size) + + irdma_update_stat(RXVLANERR, rxvlanerr, 32); + irdma_update_stat(IP4RXDISCARD, ip4rxdiscard, 32); + irdma_update_stat(IP4RXTRUNC, ip4rxtrunc, 32); + irdma_update_stat(IP4TXNOROUTE, ip4txnoroute, 32); + irdma_update_stat(IP6RXDISCARD, ip6rxdiscard, 32); + irdma_update_stat(IP6RXTRUNC, ip6rxtrunc, 32); + irdma_update_stat(IP6TXNOROUTE, ip6txnoroute, 32); + irdma_update_stat(TCPRTXSEG, tcprtxseg, 32); + irdma_update_stat(TCPRXOPTERR, tcprxopterr, 32); + irdma_update_stat(TCPRXPROTOERR, tcprxprotoerr, 32); + irdma_update_stat(RXRPCNPHANDLED, rxrpcnphandled, 32); + irdma_update_stat(RXRPCNPIGNORED, rxrpcnpignored, 32); + irdma_update_stat(TXNPCNPSENT, txnpcnpsent, 32); + stats_val = hw_stats->stats_val_64; - stats_val[IRDMA_HW_STAT_INDEX_IP4RXOCTS] += - IRDMA_STATS_DELTA(gather_stats->ip4rxocts, - last_gather_stats->ip4rxocts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP4RXPKTS] += - IRDMA_STATS_DELTA(gather_stats->ip4rxpkts, - last_gather_stats->ip4rxpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP4RXFRAGS] += - IRDMA_STATS_DELTA(gather_stats->ip4txfrag, - last_gather_stats->ip4txfrag, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP4RXMCPKTS] += - IRDMA_STATS_DELTA(gather_stats->ip4rxmcpkts, - last_gather_stats->ip4rxmcpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP4TXOCTS] += - IRDMA_STATS_DELTA(gather_stats->ip4txocts, - last_gather_stats->ip4txocts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP4TXPKTS] += - IRDMA_STATS_DELTA(gather_stats->ip4txpkts, - last_gather_stats->ip4txpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP4TXFRAGS] += - IRDMA_STATS_DELTA(gather_stats->ip4txfrag, - last_gather_stats->ip4txfrag, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP4TXMCPKTS] += - IRDMA_STATS_DELTA(gather_stats->ip4txmcpkts, - last_gather_stats->ip4txmcpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP6RXOCTS] += - IRDMA_STATS_DELTA(gather_stats->ip6rxocts, - last_gather_stats->ip6rxocts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP6RXPKTS] += - IRDMA_STATS_DELTA(gather_stats->ip6rxpkts, - last_gather_stats->ip6rxpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP6RXFRAGS] += - IRDMA_STATS_DELTA(gather_stats->ip6txfrags, - last_gather_stats->ip6txfrags, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP6RXMCPKTS] += - IRDMA_STATS_DELTA(gather_stats->ip6rxmcpkts, - last_gather_stats->ip6rxmcpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP6TXOCTS] += - IRDMA_STATS_DELTA(gather_stats->ip6txocts, - last_gather_stats->ip6txocts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP6TXPKTS] += - IRDMA_STATS_DELTA(gather_stats->ip6txpkts, - last_gather_stats->ip6txpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP6TXFRAGS] += - IRDMA_STATS_DELTA(gather_stats->ip6txfrags, - last_gather_stats->ip6txfrags, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_IP6TXMCPKTS] += - IRDMA_STATS_DELTA(gather_stats->ip6txmcpkts, - last_gather_stats->ip6txmcpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_TCPRXSEGS] += - IRDMA_STATS_DELTA(gather_stats->tcprxsegs, - last_gather_stats->tcprxsegs, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_TCPTXSEG] += - IRDMA_STATS_DELTA(gather_stats->tcptxsegs, - last_gather_stats->tcptxsegs, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RDMARXRDS] += - IRDMA_STATS_DELTA(gather_stats->rdmarxrds, - last_gather_stats->rdmarxrds, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RDMARXSNDS] += - IRDMA_STATS_DELTA(gather_stats->rdmarxsnds, - last_gather_stats->rdmarxsnds, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RDMARXWRS] += - IRDMA_STATS_DELTA(gather_stats->rdmarxwrs, - last_gather_stats->rdmarxwrs, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RDMATXRDS] += - IRDMA_STATS_DELTA(gather_stats->rdmatxrds, - last_gather_stats->rdmatxrds, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RDMATXSNDS] += - IRDMA_STATS_DELTA(gather_stats->rdmatxsnds, - last_gather_stats->rdmatxsnds, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RDMATXWRS] += - IRDMA_STATS_DELTA(gather_stats->rdmatxwrs, - last_gather_stats->rdmatxwrs, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RDMAVBND] += - IRDMA_STATS_DELTA(gather_stats->rdmavbn, - last_gather_stats->rdmavbn, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RDMAVINV] += - IRDMA_STATS_DELTA(gather_stats->rdmavinv, - last_gather_stats->rdmavinv, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_UDPRXPKTS] += - IRDMA_STATS_DELTA(gather_stats->udprxpkts, - last_gather_stats->udprxpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_UDPTXPKTS] += - IRDMA_STATS_DELTA(gather_stats->udptxpkts, - last_gather_stats->udptxpkts, - IRDMA_MAX_STATS_48); - stats_val[IRDMA_HW_STAT_INDEX_RXNPECNMARKEDPKTS] += - IRDMA_STATS_DELTA(gather_stats->rxnpecnmrkpkts, - last_gather_stats->rxnpecnmrkpkts, - IRDMA_MAX_STATS_48); + + irdma_update_stat(IP4RXOCTS, ip4rxocts, 48); + irdma_update_stat(IP4RXPKTS, ip4rxpkts, 48); + irdma_update_stat(IP4RXFRAGS, ip4rxfrags, 48); + irdma_update_stat(IP4RXMCPKTS, ip4rxmcpkts, 48); + irdma_update_stat(IP4TXOCTS, ip4txocts, 48); + irdma_update_stat(IP4TXPKTS, ip4txpkts, 48); + irdma_update_stat(IP4TXFRAGS, ip4txfrag, 48); + irdma_update_stat(IP4TXMCPKTS, ip4txmcpkts, 48); + irdma_update_stat(IP6RXOCTS, ip6rxocts, 48); + irdma_update_stat(IP6RXPKTS, ip6rxpkts, 48); + irdma_update_stat(IP6RXFRAGS, ip6rxfrags, 48); + irdma_update_stat(IP6RXMCPKTS, ip6rxmcpkts, 48); + irdma_update_stat(IP6TXOCTS, ip6txocts, 48); + irdma_update_stat(IP6TXPKTS, ip6txpkts, 48); + irdma_update_stat(IP6TXFRAGS, ip6txfrags, 48); + irdma_update_stat(IP6TXMCPKTS, ip6txmcpkts, 48); + irdma_update_stat(TCPRXSEGS, tcprxsegs, 48); + irdma_update_stat(TCPTXSEG, tcptxsegs, 48); + irdma_update_stat(RDMARXRDS, rdmarxrds, 48); + irdma_update_stat(RDMARXSNDS, rdmarxsnds, 48); + irdma_update_stat(RDMARXWRS, rdmarxwrs, 48); + irdma_update_stat(RDMATXRDS, rdmatxrds, 48); + irdma_update_stat(RDMATXSNDS, rdmatxsnds, 48); + irdma_update_stat(RDMATXWRS, rdmatxwrs, 48); + irdma_update_stat(RDMAVBND, rdmavbn, 48); + irdma_update_stat(RDMAVINV, rdmavinv, 48); + irdma_update_stat(UDPRXPKTS, udprxpkts, 48); + irdma_update_stat(UDPTXPKTS, udptxpkts, 48); + irdma_update_stat(RXNPECNMARKEDPKTS, rxnpecnmrkpkts, 48); + memcpy(last_gather_stats, gather_stats, sizeof(*last_gather_stats)); } ^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? 2021-06-07 23:37 ` Joe Perches @ 2021-06-08 16:18 ` Saleem, Shiraz 2021-06-08 16:25 ` Joe Perches 0 siblings, 1 reply; 7+ messages in thread From: Saleem, Shiraz @ 2021-06-08 16:18 UTC (permalink / raw) To: Joe Perches, Ismail, Mustafa Cc: Doug Ledford, Jason Gunthorpe, linux-rdma@vger.kernel.org, LKML > Subject: Re: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > On Mon, 2021-06-07 at 22:40 +0000, Saleem, Shiraz wrote: > > > Subject: Re: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > > > > > On Mon, 2021-06-07 at 14:54 +0000, Saleem, Shiraz wrote: > > > > > Subject: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? > > > > > > > > > > There are some odd mismatches in field and access index. > > > > > These may be simple cut/paste typos. > > > > > > > > > > Are these intentional? > > > > > > > > No. Accidental. Likely cut/copy mistake. I will send a fix. Thanks > > > > Joe! > > > > > > Reason is I was refactoring what I thought was rather templated and > > > overly verbose code. > > > > > > Here's a possible patch (with probable corrections to these index > > > typos): > > > > Looks reasonable to me. Wondering if irdma_update_stats should also > > use your IRDMA_STAT macro. > > Probably, and it could really a macro or two of its own. > > And it looks like that block has it's own copy/paste defects. > > Maybe: > --- > drivers/infiniband/hw/irdma/ctrl.c | 219 +++++++++---------------------------- > 1 file changed, 51 insertions(+), 168 deletions(-) > > diff --git a/drivers/infiniband/hw/irdma/ctrl.c b/drivers/infiniband/hw/irdma/ctrl.c > index 5aa112067bce8..90c6f82ea0c8d 100644 > --- a/drivers/infiniband/hw/irdma/ctrl.c > +++ b/drivers/infiniband/hw/irdma/ctrl.c > @@ -5484,174 +5484,57 @@ void irdma_update_stats(struct irdma_dev_hw_stats > *hw_stats, { > u64 *stats_val = hw_stats->stats_val_32; > > - stats_val[IRDMA_HW_STAT_INDEX_RXVLANERR] += > - IRDMA_STATS_DELTA(gather_stats->rxvlanerr, > - last_gather_stats->rxvlanerr, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_IP4RXDISCARD] += > - IRDMA_STATS_DELTA(gather_stats->ip4rxdiscard, > - last_gather_stats->ip4rxdiscard, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_IP4RXTRUNC] += > - IRDMA_STATS_DELTA(gather_stats->ip4rxtrunc, > - last_gather_stats->ip4rxtrunc, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_IP4TXNOROUTE] += > - IRDMA_STATS_DELTA(gather_stats->ip4txnoroute, > - last_gather_stats->ip4txnoroute, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_IP6RXDISCARD] += > - IRDMA_STATS_DELTA(gather_stats->ip6rxdiscard, > - last_gather_stats->ip6rxdiscard, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_IP6RXTRUNC] += > - IRDMA_STATS_DELTA(gather_stats->ip6rxtrunc, > - last_gather_stats->ip6rxtrunc, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_IP6TXNOROUTE] += > - IRDMA_STATS_DELTA(gather_stats->ip6txnoroute, > - last_gather_stats->ip6txnoroute, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_TCPRTXSEG] += > - IRDMA_STATS_DELTA(gather_stats->tcprtxseg, > - last_gather_stats->tcprtxseg, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_TCPRXOPTERR] += > - IRDMA_STATS_DELTA(gather_stats->tcprxopterr, > - last_gather_stats->tcprxopterr, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_TCPRXPROTOERR] += > - IRDMA_STATS_DELTA(gather_stats->tcprxprotoerr, > - last_gather_stats->tcprxprotoerr, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_RXRPCNPHANDLED] += > - IRDMA_STATS_DELTA(gather_stats->rxrpcnphandled, > - last_gather_stats->rxrpcnphandled, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_RXRPCNPIGNORED] += > - IRDMA_STATS_DELTA(gather_stats->rxrpcnpignored, > - last_gather_stats->rxrpcnpignored, > - IRDMA_MAX_STATS_32); > - stats_val[IRDMA_HW_STAT_INDEX_TXNPCNPSENT] += > - IRDMA_STATS_DELTA(gather_stats->txnpcnpsent, > - last_gather_stats->txnpcnpsent, > - IRDMA_MAX_STATS_32); > +#define irdma_update_stat(index, var, size) \ Maybe var --> name. Other than that looks good. > + stats_val[IRDMA_STAT(index)] += \ > + IRDMA_STATS_DELTA(gather_stats->var, \ > + last_gather_stats->var, \ > + IRDMA_MAX_STATS_##size) > + > + irdma_update_stat(RXVLANERR, rxvlanerr, 32); > + irdma_update_stat(IP4RXDISCARD, ip4rxdiscard, 32); > + irdma_update_stat(IP4RXTRUNC, ip4rxtrunc, 32); > + irdma_update_stat(IP4TXNOROUTE, ip4txnoroute, 32); > + irdma_update_stat(IP6RXDISCARD, ip6rxdiscard, 32); > + irdma_update_stat(IP6RXTRUNC, ip6rxtrunc, 32); > + irdma_update_stat(IP6TXNOROUTE, ip6txnoroute, 32); > + irdma_update_stat(TCPRTXSEG, tcprtxseg, 32); > + irdma_update_stat(TCPRXOPTERR, tcprxopterr, 32); > + irdma_update_stat(TCPRXPROTOERR, tcprxprotoerr, 32); > + irdma_update_stat(RXRPCNPHANDLED, rxrpcnphandled, 32); > + irdma_update_stat(RXRPCNPIGNORED, rxrpcnpignored, 32); > + irdma_update_stat(TXNPCNPSENT, txnpcnpsent, 32); > + > stats_val = hw_stats->stats_val_64; > - stats_val[IRDMA_HW_STAT_INDEX_IP4RXOCTS] += > - IRDMA_STATS_DELTA(gather_stats->ip4rxocts, > - last_gather_stats->ip4rxocts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP4RXPKTS] += > - IRDMA_STATS_DELTA(gather_stats->ip4rxpkts, > - last_gather_stats->ip4rxpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP4RXFRAGS] += > - IRDMA_STATS_DELTA(gather_stats->ip4txfrag, > - last_gather_stats->ip4txfrag, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP4RXMCPKTS] += > - IRDMA_STATS_DELTA(gather_stats->ip4rxmcpkts, > - last_gather_stats->ip4rxmcpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP4TXOCTS] += > - IRDMA_STATS_DELTA(gather_stats->ip4txocts, > - last_gather_stats->ip4txocts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP4TXPKTS] += > - IRDMA_STATS_DELTA(gather_stats->ip4txpkts, > - last_gather_stats->ip4txpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP4TXFRAGS] += > - IRDMA_STATS_DELTA(gather_stats->ip4txfrag, > - last_gather_stats->ip4txfrag, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP4TXMCPKTS] += > - IRDMA_STATS_DELTA(gather_stats->ip4txmcpkts, > - last_gather_stats->ip4txmcpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP6RXOCTS] += > - IRDMA_STATS_DELTA(gather_stats->ip6rxocts, > - last_gather_stats->ip6rxocts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP6RXPKTS] += > - IRDMA_STATS_DELTA(gather_stats->ip6rxpkts, > - last_gather_stats->ip6rxpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP6RXFRAGS] += > - IRDMA_STATS_DELTA(gather_stats->ip6txfrags, > - last_gather_stats->ip6txfrags, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP6RXMCPKTS] += > - IRDMA_STATS_DELTA(gather_stats->ip6rxmcpkts, > - last_gather_stats->ip6rxmcpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP6TXOCTS] += > - IRDMA_STATS_DELTA(gather_stats->ip6txocts, > - last_gather_stats->ip6txocts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP6TXPKTS] += > - IRDMA_STATS_DELTA(gather_stats->ip6txpkts, > - last_gather_stats->ip6txpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP6TXFRAGS] += > - IRDMA_STATS_DELTA(gather_stats->ip6txfrags, > - last_gather_stats->ip6txfrags, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_IP6TXMCPKTS] += > - IRDMA_STATS_DELTA(gather_stats->ip6txmcpkts, > - last_gather_stats->ip6txmcpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_TCPRXSEGS] += > - IRDMA_STATS_DELTA(gather_stats->tcprxsegs, > - last_gather_stats->tcprxsegs, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_TCPTXSEG] += > - IRDMA_STATS_DELTA(gather_stats->tcptxsegs, > - last_gather_stats->tcptxsegs, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RDMARXRDS] += > - IRDMA_STATS_DELTA(gather_stats->rdmarxrds, > - last_gather_stats->rdmarxrds, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RDMARXSNDS] += > - IRDMA_STATS_DELTA(gather_stats->rdmarxsnds, > - last_gather_stats->rdmarxsnds, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RDMARXWRS] += > - IRDMA_STATS_DELTA(gather_stats->rdmarxwrs, > - last_gather_stats->rdmarxwrs, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RDMATXRDS] += > - IRDMA_STATS_DELTA(gather_stats->rdmatxrds, > - last_gather_stats->rdmatxrds, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RDMATXSNDS] += > - IRDMA_STATS_DELTA(gather_stats->rdmatxsnds, > - last_gather_stats->rdmatxsnds, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RDMATXWRS] += > - IRDMA_STATS_DELTA(gather_stats->rdmatxwrs, > - last_gather_stats->rdmatxwrs, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RDMAVBND] += > - IRDMA_STATS_DELTA(gather_stats->rdmavbn, > - last_gather_stats->rdmavbn, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RDMAVINV] += > - IRDMA_STATS_DELTA(gather_stats->rdmavinv, > - last_gather_stats->rdmavinv, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_UDPRXPKTS] += > - IRDMA_STATS_DELTA(gather_stats->udprxpkts, > - last_gather_stats->udprxpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_UDPTXPKTS] += > - IRDMA_STATS_DELTA(gather_stats->udptxpkts, > - last_gather_stats->udptxpkts, > - IRDMA_MAX_STATS_48); > - stats_val[IRDMA_HW_STAT_INDEX_RXNPECNMARKEDPKTS] += > - IRDMA_STATS_DELTA(gather_stats->rxnpecnmrkpkts, > - last_gather_stats->rxnpecnmrkpkts, > - IRDMA_MAX_STATS_48); > + > + irdma_update_stat(IP4RXOCTS, ip4rxocts, 48); > + irdma_update_stat(IP4RXPKTS, ip4rxpkts, 48); > + irdma_update_stat(IP4RXFRAGS, ip4rxfrags, 48); > + irdma_update_stat(IP4RXMCPKTS, ip4rxmcpkts, 48); > + irdma_update_stat(IP4TXOCTS, ip4txocts, 48); > + irdma_update_stat(IP4TXPKTS, ip4txpkts, 48); > + irdma_update_stat(IP4TXFRAGS, ip4txfrag, 48); > + irdma_update_stat(IP4TXMCPKTS, ip4txmcpkts, 48); > + irdma_update_stat(IP6RXOCTS, ip6rxocts, 48); > + irdma_update_stat(IP6RXPKTS, ip6rxpkts, 48); > + irdma_update_stat(IP6RXFRAGS, ip6rxfrags, 48); > + irdma_update_stat(IP6RXMCPKTS, ip6rxmcpkts, 48); > + irdma_update_stat(IP6TXOCTS, ip6txocts, 48); > + irdma_update_stat(IP6TXPKTS, ip6txpkts, 48); > + irdma_update_stat(IP6TXFRAGS, ip6txfrags, 48); > + irdma_update_stat(IP6TXMCPKTS, ip6txmcpkts, 48); > + irdma_update_stat(TCPRXSEGS, tcprxsegs, 48); > + irdma_update_stat(TCPTXSEG, tcptxsegs, 48); > + irdma_update_stat(RDMARXRDS, rdmarxrds, 48); > + irdma_update_stat(RDMARXSNDS, rdmarxsnds, 48); > + irdma_update_stat(RDMARXWRS, rdmarxwrs, 48); > + irdma_update_stat(RDMATXRDS, rdmatxrds, 48); > + irdma_update_stat(RDMATXSNDS, rdmatxsnds, 48); > + irdma_update_stat(RDMATXWRS, rdmatxwrs, 48); > + irdma_update_stat(RDMAVBND, rdmavbn, 48); > + irdma_update_stat(RDMAVINV, rdmavinv, 48); > + irdma_update_stat(UDPRXPKTS, udprxpkts, 48); > + irdma_update_stat(UDPTXPKTS, udptxpkts, 48); > + irdma_update_stat(RXNPECNMARKEDPKTS, rxnpecnmrkpkts, 48); > + > memcpy(last_gather_stats, gather_stats, sizeof(*last_gather_stats)); } ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? 2021-06-08 16:18 ` Saleem, Shiraz @ 2021-06-08 16:25 ` Joe Perches 0 siblings, 0 replies; 7+ messages in thread From: Joe Perches @ 2021-06-08 16:25 UTC (permalink / raw) To: Saleem, Shiraz, Ismail, Mustafa Cc: Doug Ledford, Jason Gunthorpe, linux-rdma@vger.kernel.org, LKML On Tue, 2021-06-08 at 16:18 +0000, Saleem, Shiraz wrote: > > > Looks reasonable to me. Wondering if irdma_update_stats should > > > also use your IRDMA_STAT macro. > > > > Probably, and it could really a macro or two of its own. > > > > And it looks like that block has it's own copy/paste defects. > > > > Maybe: > > --- [] > > +#define irdma_update_stat(index, var, size) \ > > Maybe var --> name. Other than that looks good. Just a suggestion. Do what you want with it. And also the field name/MACRO mismatches are a bit odd at best. I'd rename one or the other to match. > + irdma_update_stat(IP4TXFRAGS, ip4txfrag, 48); [] > + irdma_update_stat(TCPTXSEG, tcptxsegs, 48); [] > + irdma_update_stat(RDMAVBND, rdmavbn, 48); ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-06-08 16:25 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-06-06 1:10 irdma: utils.c typos in irdma_cqp_gather_stats_gen1 ? Joe Perches 2021-06-07 14:54 ` Saleem, Shiraz 2021-06-07 15:07 ` Joe Perches 2021-06-07 22:40 ` Saleem, Shiraz 2021-06-07 23:37 ` Joe Perches 2021-06-08 16:18 ` Saleem, Shiraz 2021-06-08 16:25 ` Joe Perches
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox