diff options
author | Frank Blaschka <frank.blaschka@de.ibm.com> | 2009-03-24 16:57:15 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-25 03:06:19 -0400 |
commit | f61a0d0538ca62547a127fd270d9f3c6e713027f (patch) | |
tree | 7432b86645c7a53071bf023670bc8f99f3ce2b64 /drivers/s390/net | |
parent | 7f6d95e7bd82b38e669a43a2d2d410d0b5318684 (diff) |
qeth: add statistics for tx csum
Add statistics counter for software tx checksumming.
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r-- | drivers/s390/net/qeth_core.h | 1 | ||||
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 2 | ||||
-rw-r--r-- | drivers/s390/net/qeth_l2_main.c | 5 | ||||
-rw-r--r-- | drivers/s390/net/qeth_l3_main.c | 5 |
4 files changed, 11 insertions, 2 deletions
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index e0c45574b0c..fd34f63dc23 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h | |||
@@ -134,6 +134,7 @@ struct qeth_perf_stats { | |||
134 | unsigned int sg_skbs_rx; | 134 | unsigned int sg_skbs_rx; |
135 | unsigned int sg_frags_rx; | 135 | unsigned int sg_frags_rx; |
136 | unsigned int sg_alloc_page_rx; | 136 | unsigned int sg_alloc_page_rx; |
137 | unsigned int tx_csum; | ||
137 | }; | 138 | }; |
138 | 139 | ||
139 | /* Routing stuff */ | 140 | /* Routing stuff */ |
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index d1b5bebea7f..1a361b3bf62 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c | |||
@@ -4327,6 +4327,7 @@ static struct { | |||
4327 | /* 30 */{"tx count"}, | 4327 | /* 30 */{"tx count"}, |
4328 | {"tx do_QDIO time"}, | 4328 | {"tx do_QDIO time"}, |
4329 | {"tx do_QDIO count"}, | 4329 | {"tx do_QDIO count"}, |
4330 | {"tx csum"}, | ||
4330 | }; | 4331 | }; |
4331 | 4332 | ||
4332 | int qeth_core_get_stats_count(struct net_device *dev) | 4333 | int qeth_core_get_stats_count(struct net_device *dev) |
@@ -4378,6 +4379,7 @@ void qeth_core_get_ethtool_stats(struct net_device *dev, | |||
4378 | data[30] = card->perf_stats.outbound_cnt; | 4379 | data[30] = card->perf_stats.outbound_cnt; |
4379 | data[31] = card->perf_stats.outbound_do_qdio_time; | 4380 | data[31] = card->perf_stats.outbound_do_qdio_time; |
4380 | data[32] = card->perf_stats.outbound_do_qdio_cnt; | 4381 | data[32] = card->perf_stats.outbound_do_qdio_cnt; |
4382 | data[33] = card->perf_stats.tx_csum; | ||
4381 | } | 4383 | } |
4382 | EXPORT_SYMBOL_GPL(qeth_core_get_ethtool_stats); | 4384 | EXPORT_SYMBOL_GPL(qeth_core_get_ethtool_stats); |
4383 | 4385 | ||
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index 07ab8a5c1c4..7632d120884 100644 --- a/drivers/s390/net/qeth_l2_main.c +++ b/drivers/s390/net/qeth_l2_main.c | |||
@@ -707,8 +707,11 @@ static int qeth_l2_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
707 | } | 707 | } |
708 | 708 | ||
709 | if ((large_send == QETH_LARGE_SEND_NO) && | 709 | if ((large_send == QETH_LARGE_SEND_NO) && |
710 | (skb->ip_summed == CHECKSUM_PARTIAL)) | 710 | (skb->ip_summed == CHECKSUM_PARTIAL)) { |
711 | qeth_tx_csum(new_skb); | 711 | qeth_tx_csum(new_skb); |
712 | if (card->options.performance_stats) | ||
713 | card->perf_stats.tx_csum++; | ||
714 | } | ||
712 | 715 | ||
713 | if (card->info.type != QETH_CARD_TYPE_IQD) | 716 | if (card->info.type != QETH_CARD_TYPE_IQD) |
714 | rc = qeth_do_send_packet(card, queue, new_skb, hdr, | 717 | rc = qeth_do_send_packet(card, queue, new_skb, hdr, |
diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index 0dcc036d34a..fea50bdc8f4 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c | |||
@@ -2711,8 +2711,11 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
2711 | } | 2711 | } |
2712 | 2712 | ||
2713 | if ((large_send == QETH_LARGE_SEND_NO) && | 2713 | if ((large_send == QETH_LARGE_SEND_NO) && |
2714 | (new_skb->ip_summed == CHECKSUM_PARTIAL)) | 2714 | (new_skb->ip_summed == CHECKSUM_PARTIAL)) { |
2715 | qeth_tx_csum(new_skb); | 2715 | qeth_tx_csum(new_skb); |
2716 | if (card->options.performance_stats) | ||
2717 | card->perf_stats.tx_csum++; | ||
2718 | } | ||
2716 | 2719 | ||
2717 | if (card->info.type != QETH_CARD_TYPE_IQD) | 2720 | if (card->info.type != QETH_CARD_TYPE_IQD) |
2718 | rc = qeth_do_send_packet(card, queue, new_skb, hdr, | 2721 | rc = qeth_do_send_packet(card, queue, new_skb, hdr, |