diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-12-01 19:36:21 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-02 00:24:50 -0500 |
commit | 56f643c28c5df63693d7c66e56f8e4767cfd7a65 (patch) | |
tree | 9a7f4df58b6ab11a4105b335296a5642bea94bda /drivers/net/chelsio/sge.h | |
parent | 325dde48914e8ec1614d79ffacdbf9c0b8d24f42 (diff) |
[PATCH] chelsio: statistics improvement
Cleanup statistics management:
* Get rid of duplicate or unused statistics
* Convert high volume stats to per-cpu and 64 bit
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/chelsio/sge.h')
-rw-r--r-- | drivers/net/chelsio/sge.h | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/drivers/net/chelsio/sge.h b/drivers/net/chelsio/sge.h index 4691c4f58e7f..7ceb0117d039 100644 --- a/drivers/net/chelsio/sge.h +++ b/drivers/net/chelsio/sge.h | |||
@@ -44,6 +44,9 @@ | |||
44 | #include <asm/byteorder.h> | 44 | #include <asm/byteorder.h> |
45 | 45 | ||
46 | struct sge_intr_counts { | 46 | struct sge_intr_counts { |
47 | unsigned int rx_drops; /* # of packets dropped due to no mem */ | ||
48 | unsigned int pure_rsps; /* # of non-payload responses */ | ||
49 | unsigned int unhandled_irqs; /* # of unhandled interrupts */ | ||
47 | unsigned int respQ_empty; /* # times respQ empty */ | 50 | unsigned int respQ_empty; /* # times respQ empty */ |
48 | unsigned int respQ_overflow; /* # respQ overflow (fatal) */ | 51 | unsigned int respQ_overflow; /* # respQ overflow (fatal) */ |
49 | unsigned int freelistQ_empty; /* # times freelist empty */ | 52 | unsigned int freelistQ_empty; /* # times freelist empty */ |
@@ -51,24 +54,16 @@ struct sge_intr_counts { | |||
51 | unsigned int pkt_mismatch; | 54 | unsigned int pkt_mismatch; |
52 | unsigned int cmdQ_full[3]; /* not HW IRQ, host cmdQ[] full */ | 55 | unsigned int cmdQ_full[3]; /* not HW IRQ, host cmdQ[] full */ |
53 | unsigned int cmdQ_restarted[3];/* # of times cmdQ X was restarted */ | 56 | unsigned int cmdQ_restarted[3];/* # of times cmdQ X was restarted */ |
54 | unsigned int ethernet_pkts; /* # of Ethernet packets received */ | ||
55 | unsigned int offload_pkts; /* # of offload packets received */ | ||
56 | unsigned int offload_bundles; /* # of offload pkt bundles delivered */ | ||
57 | unsigned int pure_rsps; /* # of non-payload responses */ | ||
58 | unsigned int unhandled_irqs; /* # of unhandled interrupts */ | ||
59 | unsigned int tx_ipfrags; | ||
60 | unsigned int tx_reg_pkts; | ||
61 | unsigned int tx_lso_pkts; | ||
62 | unsigned int tx_do_cksum; | ||
63 | }; | 57 | }; |
64 | 58 | ||
65 | struct sge_port_stats { | 59 | struct sge_port_stats { |
66 | unsigned long rx_cso_good; /* # of successful RX csum offloads */ | 60 | u64 rx_packets; /* # of Ethernet packets received */ |
67 | unsigned long tx_cso; /* # of TX checksum offloads */ | 61 | u64 rx_cso_good; /* # of successful RX csum offloads */ |
68 | unsigned long vlan_xtract; /* # of VLAN tag extractions */ | 62 | u64 tx_packets; /* # of TX packets */ |
69 | unsigned long vlan_insert; /* # of VLAN tag extractions */ | 63 | u64 tx_cso; /* # of TX checksum offloads */ |
70 | unsigned long tso; /* # of TSO requests */ | 64 | u64 tx_tso; /* # of TSO requests */ |
71 | unsigned long rx_drops; /* # of packets dropped due to no mem */ | 65 | u64 vlan_xtract; /* # of VLAN tag extractions */ |
66 | u64 vlan_insert; /* # of VLAN tag insertions */ | ||
72 | }; | 67 | }; |
73 | 68 | ||
74 | struct sk_buff; | 69 | struct sk_buff; |
@@ -90,8 +85,8 @@ int t1_sge_intr_error_handler(struct sge *); | |||
90 | void t1_sge_intr_enable(struct sge *); | 85 | void t1_sge_intr_enable(struct sge *); |
91 | void t1_sge_intr_disable(struct sge *); | 86 | void t1_sge_intr_disable(struct sge *); |
92 | void t1_sge_intr_clear(struct sge *); | 87 | void t1_sge_intr_clear(struct sge *); |
93 | const struct sge_intr_counts *t1_sge_get_intr_counts(struct sge *sge); | 88 | const struct sge_intr_counts *t1_sge_get_intr_counts(const struct sge *sge); |
94 | const struct sge_port_stats *t1_sge_get_port_stats(struct sge *sge, int port); | 89 | void t1_sge_get_port_stats(const struct sge *sge, int port, struct sge_port_stats *); |
95 | void t1_sched_set_max_avail_bytes(struct sge *, unsigned int); | 90 | void t1_sched_set_max_avail_bytes(struct sge *, unsigned int); |
96 | void t1_sched_set_drain_bits_per_us(struct sge *, unsigned int, unsigned int); | 91 | void t1_sched_set_drain_bits_per_us(struct sge *, unsigned int, unsigned int); |
97 | unsigned int t1_sched_update_parms(struct sge *, unsigned int, unsigned int, | 92 | unsigned int t1_sched_update_parms(struct sge *, unsigned int, unsigned int, |