From: Joe Perches <joe@perches.com>
To: Felix Manlunas <felix.manlunas@cavium.com>, davem@davemloft.net
Cc: netdev@vger.kernel.org, raghu.vatsavayi@cavium.com,
derek.chickles@cavium.com, satananda.burla@cavium.com
Subject: Re: [PATCH net-next] liquidio: Fix checkpatch errors with references crossing single line
Date: Wed, 31 May 2017 17:31:06 -0700 [thread overview]
Message-ID: <1496277066.2618.62.camel@perches.com> (raw)
In-Reply-To: <20170531174515.GA1539@felix-thinkpad.cavium.com>
On Wed, 2017-05-31 at 10:45 -0700, Felix Manlunas wrote:
> > From: Satanand Burla <satananda.burla@cavium.com>
>
> > Signed-off-by: Satanand Burla <satananda.burla@cavium.com>
> > Signed-off-by: Derek Chickles <derek.chickles@cavium.com>
> > Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
> ---
> drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 8 ++++----
Much better would be not to separate out the object onto
multiple lines, but use temporaries to make the code "volume"
much smaller and it also saves a bit of object code.
For this file, perhaps
Subject: [PATCH] liquidio: Reduce dereferences
Multiple dereferences of the same object are hard to read.
Use temporaries to reduce the code volume and also reduce
overall object size a bit.
$ size drivers/net/ethernet/cavium/liquidio/lio_ethtool.o*
text data bss dec hex filename
22038 0 0 22038 5616 drivers/net/ethernet/cavium/liquidio/lio_ethtool.o.new
22246 0 0 22246 56e6 drivers/net/ethernet/cavium/liquidio/lio_ethtool.o.old
Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 450 ++++++++++-----------
1 file changed, 215 insertions(+), 235 deletions(-)
diff --git a/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c b/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c
index 579dc7336f58..bd2db6382377 100644
--- a/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c
+++ b/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c
@@ -786,257 +786,245 @@ lio_get_ethtool_stats(struct net_device *netdev,
struct lio *lio = GET_LIO(netdev);
struct octeon_device *oct_dev = lio->oct_dev;
struct net_device_stats *netstats = &netdev->stats;
+ struct nic_tx_stats *tstats = &oct_dev->link_stats.fromhost;
+ struct nic_rx_stats *rstats = &oct_dev->link_stats.fromwire;
int i = 0, j;
netdev->netdev_ops->ndo_get_stats(netdev);
octnet_get_link_stats(netdev);
- /*sum of oct->droq[oq_no]->stats->rx_pkts_received */
+ /* sum of oct->droq[oq_no]->stats->rx_pkts_received */
data[i++] = CVM_CAST64(netstats->rx_packets);
- /*sum of oct->instr_queue[iq_no]->stats.tx_done */
+ /* sum of oct->instr_queue[iq_no]->stats.tx_done */
data[i++] = CVM_CAST64(netstats->tx_packets);
- /*sum of oct->droq[oq_no]->stats->rx_bytes_received */
+ /* sum of oct->droq[oq_no]->stats->rx_bytes_received */
data[i++] = CVM_CAST64(netstats->rx_bytes);
- /*sum of oct->instr_queue[iq_no]->stats.tx_tot_bytes */
+ /* sum of oct->instr_queue[iq_no]->stats.tx_tot_bytes */
data[i++] = CVM_CAST64(netstats->tx_bytes);
data[i++] = CVM_CAST64(netstats->rx_errors);
data[i++] = CVM_CAST64(netstats->tx_errors);
- /*sum of oct->droq[oq_no]->stats->rx_dropped +
- *oct->droq[oq_no]->stats->dropped_nodispatch +
- *oct->droq[oq_no]->stats->dropped_toomany +
- *oct->droq[oq_no]->stats->dropped_nomem
+ /* sum of oct->droq[oq_no]->stats->rx_dropped +
+ * oct->droq[oq_no]->stats->dropped_nodispatch +
+ * oct->droq[oq_no]->stats->dropped_toomany +
+ * oct->droq[oq_no]->stats->dropped_nomem
*/
data[i++] = CVM_CAST64(netstats->rx_dropped);
- /*sum of oct->instr_queue[iq_no]->stats.tx_dropped */
+ /* sum of oct->instr_queue[iq_no]->stats.tx_dropped */
data[i++] = CVM_CAST64(netstats->tx_dropped);
/* firmware tx stats */
- /*per_core_stats[cvmx_get_core_num()].link_stats[mdata->from_ifidx].
- *fromhost.fw_total_sent
+ /* per_core_stats[cvmx_get_core_num()].link_stats[mdata->from_ifidx].
+ * fromhost.fw_total_sent
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_total_sent);
- /*per_core_stats[i].link_stats[port].fromwire.fw_total_fwd */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_total_fwd);
- /*per_core_stats[j].link_stats[i].fromhost.fw_err_pko */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_err_pko);
- /*per_core_stats[j].link_stats[i].fromhost.fw_err_link */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_err_link);
- /*per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.
- *fw_err_drop
+ data[i++] = CVM_CAST64(tstats->fw_total_sent);
+ /* per_core_stats[i].link_stats[port].fromwire.fw_total_fwd */
+ data[i++] = CVM_CAST64(tstats->fw_total_fwd);
+ /* per_core_stats[j].link_stats[i].fromhost.fw_err_pko */
+ data[i++] = CVM_CAST64(tstats->fw_err_pko);
+ /* per_core_stats[j].link_stats[i].fromhost.fw_err_link */
+ data[i++] = CVM_CAST64(tstats->fw_err_link);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.
+ * fw_err_drop
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_err_drop);
+ data[i++] = CVM_CAST64(tstats->fw_err_drop);
- /*per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.fw_tso */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_tso);
- /*per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.
- *fw_tso_fwd
+ /* per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.fw_tso */
+ data[i++] = CVM_CAST64(tstats->fw_tso);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.
+ * fw_tso_fwd
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_tso_fwd);
- /*per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.
- *fw_err_tso
+ data[i++] = CVM_CAST64(tstats->fw_tso_fwd);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.
+ * fw_err_tso
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_err_tso);
- /*per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.
- *fw_tx_vxlan
+ data[i++] = CVM_CAST64(tstats->fw_err_tso);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[idx].fromhost.
+ * fw_tx_vxlan
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fw_tx_vxlan);
+ data[i++] = CVM_CAST64(tstats->fw_tx_vxlan);
/* mac tx statistics */
- /*CVMX_BGXX_CMRX_TX_STAT5 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.total_pkts_sent);
- /*CVMX_BGXX_CMRX_TX_STAT4 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.total_bytes_sent);
- /*CVMX_BGXX_CMRX_TX_STAT15 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.mcast_pkts_sent);
- /*CVMX_BGXX_CMRX_TX_STAT14 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.bcast_pkts_sent);
- /*CVMX_BGXX_CMRX_TX_STAT17 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.ctl_sent);
- /*CVMX_BGXX_CMRX_TX_STAT0 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.total_collisions);
- /*CVMX_BGXX_CMRX_TX_STAT3 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.one_collision_sent);
- /*CVMX_BGXX_CMRX_TX_STAT2 */
- data[i++] =
- CVM_CAST64(oct_dev->link_stats.fromhost.multi_collision_sent);
- /*CVMX_BGXX_CMRX_TX_STAT0 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.max_collision_fail);
- /*CVMX_BGXX_CMRX_TX_STAT1 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.max_deferral_fail);
- /*CVMX_BGXX_CMRX_TX_STAT16 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.fifo_err);
- /*CVMX_BGXX_CMRX_TX_STAT6 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromhost.runts);
+ /* CVMX_BGXX_CMRX_TX_STAT5 */
+ data[i++] = CVM_CAST64(tstats->total_pkts_sent);
+ /* CVMX_BGXX_CMRX_TX_STAT4 */
+ data[i++] = CVM_CAST64(tstats->total_bytes_sent);
+ /* CVMX_BGXX_CMRX_TX_STAT15 */
+ data[i++] = CVM_CAST64(tstats->mcast_pkts_sent);
+ /* CVMX_BGXX_CMRX_TX_STAT14 */
+ data[i++] = CVM_CAST64(tstats->bcast_pkts_sent);
+ /* CVMX_BGXX_CMRX_TX_STAT17 */
+ data[i++] = CVM_CAST64(tstats->ctl_sent);
+ /* CVMX_BGXX_CMRX_TX_STAT0 */
+ data[i++] = CVM_CAST64(tstats->total_collisions);
+ /* CVMX_BGXX_CMRX_TX_STAT3 */
+ data[i++] = CVM_CAST64(tstats->one_collision_sent);
+ /* CVMX_BGXX_CMRX_TX_STAT2 */
+ data[i++] = CVM_CAST64(tstats->multi_collision_sent);
+ /* CVMX_BGXX_CMRX_TX_STAT0 */
+ data[i++] = CVM_CAST64(tstats->max_collision_fail);
+ /* CVMX_BGXX_CMRX_TX_STAT1 */
+ data[i++] = CVM_CAST64(tstats->max_deferral_fail);
+ /* CVMX_BGXX_CMRX_TX_STAT16 */
+ data[i++] = CVM_CAST64(tstats->fifo_err);
+ /* CVMX_BGXX_CMRX_TX_STAT6 */
+ data[i++] = CVM_CAST64(tstats->runts);
/* RX firmware stats */
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_total_rcvd
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_total_rcvd
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_total_rcvd);
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_total_fwd
+ data[i++] = CVM_CAST64(rstats->fw_total_rcvd);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_total_fwd
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_total_fwd);
- /*per_core_stats[core_id].link_stats[ifidx].fromwire.jabber_err */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.jabber_err);
- /*per_core_stats[core_id].link_stats[ifidx].fromwire.l2_err */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.l2_err);
- /*per_core_stats[core_id].link_stats[ifidx].fromwire.frame_err */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.frame_err);
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_err_pko
+ data[i++] = CVM_CAST64(rstats->fw_total_fwd);
+ /* per_core_stats[core_id].link_stats[ifidx].fromwire.jabber_err */
+ data[i++] = CVM_CAST64(rstats->jabber_err);
+ /* per_core_stats[core_id].link_stats[ifidx].fromwire.l2_err */
+ data[i++] = CVM_CAST64(rstats->l2_err);
+ /* per_core_stats[core_id].link_stats[ifidx].fromwire.frame_err */
+ data[i++] = CVM_CAST64(rstats->frame_err);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_err_pko
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_err_pko);
- /*per_core_stats[j].link_stats[i].fromwire.fw_err_link */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_err_link);
- /*per_core_stats[cvmx_get_core_num()].link_stats[lro_ctx->ifidx].
- *fromwire.fw_err_drop
+ data[i++] = CVM_CAST64(rstats->fw_err_pko);
+ /* per_core_stats[j].link_stats[i].fromwire.fw_err_link */
+ data[i++] = CVM_CAST64(rstats->fw_err_link);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[lro_ctx->ifidx].
+ * fromwire.fw_err_drop
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_err_drop);
+ data[i++] = CVM_CAST64(rstats->fw_err_drop);
- /*per_core_stats[cvmx_get_core_num()].link_stats[lro_ctx->ifidx].
- *fromwire.fw_rx_vxlan
+ /* per_core_stats[cvmx_get_core_num()].link_stats[lro_ctx->ifidx].
+ * fromwire.fw_rx_vxlan
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_rx_vxlan);
- /*per_core_stats[cvmx_get_core_num()].link_stats[lro_ctx->ifidx].
- *fromwire.fw_rx_vxlan_err
+ data[i++] = CVM_CAST64(rstats->fw_rx_vxlan);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[lro_ctx->ifidx].
+ * fromwire.fw_rx_vxlan_err
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_rx_vxlan_err);
+ data[i++] = CVM_CAST64(rstats->fw_rx_vxlan_err);
/* LRO */
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_lro_pkts
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_lro_pkts
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_lro_pkts);
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_lro_octs
+ data[i++] = CVM_CAST64(rstats->fw_lro_pkts);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_lro_octs
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_lro_octs);
- /*per_core_stats[j].link_stats[i].fromwire.fw_total_lro */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_total_lro);
- /*per_core_stats[j].link_stats[i].fromwire.fw_lro_aborts */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_lro_aborts);
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_lro_aborts_port
+ data[i++] = CVM_CAST64(rstats->fw_lro_octs);
+ /* per_core_stats[j].link_stats[i].fromwire.fw_total_lro */
+ data[i++] = CVM_CAST64(rstats->fw_total_lro);
+ /* per_core_stats[j].link_stats[i].fromwire.fw_lro_aborts */
+ data[i++] = CVM_CAST64(rstats->fw_lro_aborts);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_lro_aborts_port
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_lro_aborts_port);
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_lro_aborts_seq
+ data[i++] = CVM_CAST64(rstats->fw_lro_aborts_port);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_lro_aborts_seq
*/
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fw_lro_aborts_seq);
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_lro_aborts_tsval
+ data[i++] = CVM_CAST64(rstats->fw_lro_aborts_seq);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_lro_aborts_tsval
*/
- data[i++] =
- CVM_CAST64(oct_dev->link_stats.fromwire.fw_lro_aborts_tsval);
- /*per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
- *fw_lro_aborts_timer
+ data[i++] = CVM_CAST64(rstats->fw_lro_aborts_tsval);
+ /* per_core_stats[cvmx_get_core_num()].link_stats[ifidx].fromwire.
+ * fw_lro_aborts_timer
*/
/* intrmod: packet forward rate */
- data[i++] =
- CVM_CAST64(oct_dev->link_stats.fromwire.fw_lro_aborts_timer);
- /*per_core_stats[j].link_stats[i].fromwire.fw_lro_aborts */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fwd_rate);
+ data[i++] = CVM_CAST64(rstats->fw_lro_aborts_timer);
+ /* per_core_stats[j].link_stats[i].fromwire.fw_lro_aborts */
+ data[i++] = CVM_CAST64(rstats->fwd_rate);
/* mac: link-level stats */
- /*CVMX_BGXX_CMRX_RX_STAT0 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.total_rcvd);
- /*CVMX_BGXX_CMRX_RX_STAT1 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.bytes_rcvd);
- /*CVMX_PKI_STATX_STAT5 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.total_bcst);
- /*CVMX_PKI_STATX_STAT5 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.total_mcst);
- /*wqe->word2.err_code or wqe->word2.err_level */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.runts);
- /*CVMX_BGXX_CMRX_RX_STAT2 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.ctl_rcvd);
- /*CVMX_BGXX_CMRX_RX_STAT6 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fifo_err);
- /*CVMX_BGXX_CMRX_RX_STAT4 */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.dmac_drop);
- /*wqe->word2.err_code or wqe->word2.err_level */
- data[i++] = CVM_CAST64(oct_dev->link_stats.fromwire.fcs_err);
- /*lio->link_changes*/
+ /* CVMX_BGXX_CMRX_RX_STAT0 */
+ data[i++] = CVM_CAST64(rstats->total_rcvd);
+ /* CVMX_BGXX_CMRX_RX_STAT1 */
+ data[i++] = CVM_CAST64(rstats->bytes_rcvd);
+ /* CVMX_PKI_STATX_STAT5 */
+ data[i++] = CVM_CAST64(rstats->total_bcst);
+ /* CVMX_PKI_STATX_STAT5 */
+ data[i++] = CVM_CAST64(rstats->total_mcst);
+ /* wqe->word2.err_code or wqe->word2.err_level */
+ data[i++] = CVM_CAST64(rstats->runts);
+ /* CVMX_BGXX_CMRX_RX_STAT2 */
+ data[i++] = CVM_CAST64(rstats->ctl_rcvd);
+ /* CVMX_BGXX_CMRX_RX_STAT6 */
+ data[i++] = CVM_CAST64(rstats->fifo_err);
+ /* CVMX_BGXX_CMRX_RX_STAT4 */
+ data[i++] = CVM_CAST64(rstats->dmac_drop);
+ /* wqe->word2.err_code or wqe->word2.err_level */
+ data[i++] = CVM_CAST64(rstats->fcs_err);
+ /* lio->link_changes*/
data[i++] = CVM_CAST64(lio->link_changes);
for (j = 0; j < MAX_OCTEON_INSTR_QUEUES(oct_dev); j++) {
+ struct oct_iq_stats *stats;
+
if (!(oct_dev->io_qmask.iq & BIT_ULL(j)))
continue;
- /*packets to network port*/
- /*# of packets tx to network */
- data[i++] = CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_done);
- /*# of bytes tx to network */
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_tot_bytes);
- /*# of packets dropped */
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_dropped);
- /*# of tx fails due to queue full */
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_iq_busy);
- /*XXX gather entries sent */
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.sgentry_sent);
-
- /*instruction to firmware: data and control */
- /*# of instructions to the queue */
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.instr_posted);
- /*# of instructions processed */
- data[i++] = CVM_CAST64(oct_dev->instr_queue[j]->
- stats.instr_processed);
- /*# of instructions could not be processed */
- data[i++] = CVM_CAST64(oct_dev->instr_queue[j]->
- stats.instr_dropped);
- /*bytes sent through the queue */
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.bytes_sent);
-
- /*tso request*/
- data[i++] = CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_gso);
- /*vxlan request*/
- data[i++] = CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_vxlan);
- /*txq restart*/
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_restart);
+
+ stats = &oct_dev->instr_queue[j]->stats;
+
+ /* packets to network port */
+ /* # of packets tx to network */
+ data[i++] = CVM_CAST64(stats->tx_done);
+ /* # of bytes tx to network */
+ data[i++] = CVM_CAST64(stats->tx_tot_bytes);
+ /* # of packets dropped */
+ data[i++] = CVM_CAST64(stats->tx_dropped);
+ /* # of tx fails due to queue full */
+ data[i++] = CVM_CAST64(stats->tx_iq_busy);
+ /* XXX gather entries sent */
+ data[i++] = CVM_CAST64(stats->sgentry_sent);
+
+ /* instruction to firmware: data and control */
+ /* # of instructions to the queue */
+ data[i++] = CVM_CAST64(stats->instr_posted);
+ /* # of instructions processed */
+ data[i++] = CVM_CAST64(stats->instr_processed);
+ /* # of instructions could not be processed */
+ data[i++] = CVM_CAST64(stats->instr_dropped);
+ /* bytes sent through the queue */
+ data[i++] = CVM_CAST64(stats->bytes_sent);
+
+ /* tso request */
+ data[i++] = CVM_CAST64(stats->tx_gso);
+ /* vxlan request */
+ data[i++] = CVM_CAST64(stats->tx_vxlan);
+ /* txq restart */
+ data[i++] = CVM_CAST64(stats->tx_restart);
}
/* RX */
for (j = 0; j < MAX_OCTEON_OUTPUT_QUEUES(oct_dev); j++) {
+ struct oct_droq_stats *stats;
+
if (!(oct_dev->io_qmask.oq & BIT_ULL(j)))
continue;
- /*packets send to TCP/IP network stack */
- /*# of packets to network stack */
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.rx_pkts_received);
- /*# of bytes to network stack */
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.rx_bytes_received);
- /*# of packets dropped */
- data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.dropped_nomem +
- oct_dev->droq[j]->stats.dropped_toomany +
- oct_dev->droq[j]->stats.rx_dropped);
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.dropped_nomem);
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.dropped_toomany);
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.rx_dropped);
-
- /*control and data path*/
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.pkts_received);
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.bytes_received);
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.dropped_nodispatch);
-
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.rx_vxlan);
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.rx_alloc_failure);
+ stats = &oct_dev->droq[j]->stats;
+ /* packets send to TCP/IP network stack */
+ /* # of packets to network stack */
+ data[i++] = CVM_CAST64(stats->rx_pkts_received);
+ /* # of bytes to network stack */
+ data[i++] = CVM_CAST64(stats->rx_bytes_received);
+ /* # of packets dropped */
+ data[i++] = CVM_CAST64(stats->dropped_nomem +
+ stats->dropped_toomany +
+ stats->rx_dropped);
+ data[i++] = CVM_CAST64(stats->dropped_nomem);
+ data[i++] = CVM_CAST64(stats->dropped_toomany);
+ data[i++] = CVM_CAST64(stats->rx_dropped);
+
+ /* control and data path */
+ data[i++] = CVM_CAST64(stats->pkts_received);
+ data[i++] = CVM_CAST64(stats->bytes_received);
+ data[i++] = CVM_CAST64(stats->dropped_nodispatch);
+
+ data[i++] = CVM_CAST64(stats->rx_vxlan);
+ data[i++] = CVM_CAST64(stats->rx_alloc_failure);
}
}
@@ -1073,73 +1061,65 @@ static void lio_vf_get_ethtool_stats(struct net_device *netdev,
data[i++] = CVM_CAST64(lio->link_changes);
for (vj = 0; vj < lio->linfo.num_txpciq; vj++) {
+ struct oct_iq_stats *stats;
+
j = lio->linfo.txpciq[vj].s.q_no;
+ stats = &oct_dev->instr_queue[j]->stats;
/* packets to network port */
/* # of packets tx to network */
- data[i++] = CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_done);
+ data[i++] = CVM_CAST64(stats->tx_done);
/* # of bytes tx to network */
- data[i++] = CVM_CAST64(
- oct_dev->instr_queue[j]->stats.tx_tot_bytes);
+ data[i++] = CVM_CAST64(stats->tx_tot_bytes);
/* # of packets dropped */
- data[i++] = CVM_CAST64(
- oct_dev->instr_queue[j]->stats.tx_dropped);
+ data[i++] = CVM_CAST64(stats->tx_dropped);
/* # of tx fails due to queue full */
- data[i++] = CVM_CAST64(
- oct_dev->instr_queue[j]->stats.tx_iq_busy);
+ data[i++] = CVM_CAST64(stats->tx_iq_busy);
/* XXX gather entries sent */
- data[i++] = CVM_CAST64(
- oct_dev->instr_queue[j]->stats.sgentry_sent);
+ data[i++] = CVM_CAST64(stats->sgentry_sent);
/* instruction to firmware: data and control */
/* # of instructions to the queue */
- data[i++] = CVM_CAST64(
- oct_dev->instr_queue[j]->stats.instr_posted);
+ data[i++] = CVM_CAST64(stats->instr_posted);
/* # of instructions processed */
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.instr_processed);
+ data[i++] = CVM_CAST64(stats->instr_processed);
/* # of instructions could not be processed */
- data[i++] =
- CVM_CAST64(oct_dev->instr_queue[j]->stats.instr_dropped);
+ data[i++] = CVM_CAST64(stats->instr_dropped);
/* bytes sent through the queue */
- data[i++] = CVM_CAST64(
- oct_dev->instr_queue[j]->stats.bytes_sent);
+ data[i++] = CVM_CAST64(stats->bytes_sent);
/* tso request */
- data[i++] = CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_gso);
+ data[i++] = CVM_CAST64(stats->tx_gso);
/* vxlan request */
- data[i++] = CVM_CAST64(oct_dev->instr_queue[j]->stats.tx_vxlan);
+ data[i++] = CVM_CAST64(stats->tx_vxlan);
/* txq restart */
- data[i++] = CVM_CAST64(
- oct_dev->instr_queue[j]->stats.tx_restart);
+ data[i++] = CVM_CAST64(stats->tx_restart);
}
/* RX */
for (vj = 0; vj < lio->linfo.num_rxpciq; vj++) {
- j = lio->linfo.rxpciq[vj].s.q_no;
+ struct oct_droq_stats *stats;
+ j = lio->linfo.rxpciq[vj].s.q_no;
+ stats = &oct_dev->droq[j]->stats;
/* packets send to TCP/IP network stack */
/* # of packets to network stack */
- data[i++] = CVM_CAST64(
- oct_dev->droq[j]->stats.rx_pkts_received);
+ data[i++] = CVM_CAST64(stats->rx_pkts_received);
/* # of bytes to network stack */
- data[i++] = CVM_CAST64(
- oct_dev->droq[j]->stats.rx_bytes_received);
- data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.dropped_nomem +
- oct_dev->droq[j]->stats.dropped_toomany +
- oct_dev->droq[j]->stats.rx_dropped);
- data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.dropped_nomem);
- data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.dropped_toomany);
- data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.rx_dropped);
+ data[i++] = CVM_CAST64(stats->rx_bytes_received);
+ data[i++] = CVM_CAST64(stats->dropped_nomem +
+ stats->dropped_toomany +
+ stats->rx_dropped);
+ data[i++] = CVM_CAST64(stats->dropped_nomem);
+ data[i++] = CVM_CAST64(stats->dropped_toomany);
+ data[i++] = CVM_CAST64(stats->rx_dropped);
/* control and data path */
- data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.pkts_received);
- data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.bytes_received);
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.dropped_nodispatch);
-
- data[i++] = CVM_CAST64(oct_dev->droq[j]->stats.rx_vxlan);
- data[i++] =
- CVM_CAST64(oct_dev->droq[j]->stats.rx_alloc_failure);
+ data[i++] = CVM_CAST64(stats->pkts_received);
+ data[i++] = CVM_CAST64(stats->bytes_received);
+ data[i++] = CVM_CAST64(stats->dropped_nodispatch);
+
+ data[i++] = CVM_CAST64(stats->rx_vxlan);
+ data[i++] = CVM_CAST64(stats->rx_alloc_failure);
}
}
next prev parent reply other threads:[~2017-06-01 0:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-31 17:45 [PATCH net-next] liquidio: Fix checkpatch errors with references crossing single line Felix Manlunas
2017-06-01 0:31 ` Joe Perches [this message]
2017-06-02 18:17 ` David Miller
2017-06-02 22:44 ` Joe Perches
2017-06-02 23:11 ` Chickles, Derek
2017-06-02 23:43 ` Joe Perches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1496277066.2618.62.camel@perches.com \
--to=joe@perches.com \
--cc=davem@davemloft.net \
--cc=derek.chickles@cavium.com \
--cc=felix.manlunas@cavium.com \
--cc=netdev@vger.kernel.org \
--cc=raghu.vatsavayi@cavium.com \
--cc=satananda.burla@cavium.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.