提交 95f6b5a1 编写于 作者: F Frank Pavlic 提交者: Jeff Garzik

[PATCH] s390: qeth driver statistics fixes

[patch 2/6] s390: qeth driver statistics fixes

From: Ursula Braun <braunu@de.ibm.com>
	- display "unsigned int" values in /proc/qeth_perf with %u instead of %i
	- omit qdio header length when increasing card->stats.tx_bytes
Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com>

diffstat:
qeth_main.c |    3 ++-
 qeth_proc.c |   38 +++++++++++++++++++-------------------
 2 files changed, 21 insertions(+), 20 deletions(-)
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 c2d3d4b9
...@@ -4419,6 +4419,7 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb) ...@@ -4419,6 +4419,7 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb)
int elements_needed = 0; int elements_needed = 0;
enum qeth_large_send_types large_send = QETH_LARGE_SEND_NO; enum qeth_large_send_types large_send = QETH_LARGE_SEND_NO;
struct qeth_eddp_context *ctx = NULL; struct qeth_eddp_context *ctx = NULL;
int tx_bytes = skb->len;
int rc; int rc;
QETH_DBF_TEXT(trace, 6, "sendpkt"); QETH_DBF_TEXT(trace, 6, "sendpkt");
...@@ -4499,7 +4500,7 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb) ...@@ -4499,7 +4500,7 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb)
elements_needed, ctx); elements_needed, ctx);
if (!rc){ if (!rc){
card->stats.tx_packets++; card->stats.tx_packets++;
card->stats.tx_bytes += skb->len; card->stats.tx_bytes += tx_bytes;
#ifdef CONFIG_QETH_PERF_STATS #ifdef CONFIG_QETH_PERF_STATS
if (skb_shinfo(skb)->tso_size && if (skb_shinfo(skb)->tso_size &&
!(large_send == QETH_LARGE_SEND_NO)) { !(large_send == QETH_LARGE_SEND_NO)) {
......
...@@ -192,27 +192,27 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it) ...@@ -192,27 +192,27 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it)
CARD_DDEV_ID(card), CARD_DDEV_ID(card),
QETH_CARD_IFNAME(card) QETH_CARD_IFNAME(card)
); );
seq_printf(s, " Skb's/buffers received : %li/%i\n" seq_printf(s, " Skb's/buffers received : %lu/%u\n"
" Skb's/buffers sent : %li/%i\n\n", " Skb's/buffers sent : %lu/%u\n\n",
card->stats.rx_packets, card->perf_stats.bufs_rec, card->stats.rx_packets, card->perf_stats.bufs_rec,
card->stats.tx_packets, card->perf_stats.bufs_sent card->stats.tx_packets, card->perf_stats.bufs_sent
); );
seq_printf(s, " Skb's/buffers sent without packing : %li/%i\n" seq_printf(s, " Skb's/buffers sent without packing : %lu/%u\n"
" Skb's/buffers sent with packing : %i/%i\n\n", " Skb's/buffers sent with packing : %u/%u\n\n",
card->stats.tx_packets - card->perf_stats.skbs_sent_pack, card->stats.tx_packets - card->perf_stats.skbs_sent_pack,
card->perf_stats.bufs_sent - card->perf_stats.bufs_sent_pack, card->perf_stats.bufs_sent - card->perf_stats.bufs_sent_pack,
card->perf_stats.skbs_sent_pack, card->perf_stats.skbs_sent_pack,
card->perf_stats.bufs_sent_pack card->perf_stats.bufs_sent_pack
); );
seq_printf(s, " Skbs sent in SG mode : %i\n" seq_printf(s, " Skbs sent in SG mode : %u\n"
" Skb fragments sent in SG mode : %i\n\n", " Skb fragments sent in SG mode : %u\n\n",
card->perf_stats.sg_skbs_sent, card->perf_stats.sg_skbs_sent,
card->perf_stats.sg_frags_sent); card->perf_stats.sg_frags_sent);
seq_printf(s, " large_send tx (in Kbytes) : %i\n" seq_printf(s, " large_send tx (in Kbytes) : %u\n"
" large_send count : %i\n\n", " large_send count : %u\n\n",
card->perf_stats.large_send_bytes >> 10, card->perf_stats.large_send_bytes >> 10,
card->perf_stats.large_send_cnt); card->perf_stats.large_send_cnt);
seq_printf(s, " Packing state changes no pkg.->packing : %i/%i\n" seq_printf(s, " Packing state changes no pkg.->packing : %u/%u\n"
" Watermarks L/H : %i/%i\n" " Watermarks L/H : %i/%i\n"
" Current buffer usage (outbound q's) : " " Current buffer usage (outbound q's) : "
"%i/%i/%i/%i\n\n", "%i/%i/%i/%i\n\n",
...@@ -229,16 +229,16 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it) ...@@ -229,16 +229,16 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it)
atomic_read(&card->qdio.out_qs[3]->used_buffers) atomic_read(&card->qdio.out_qs[3]->used_buffers)
: 0 : 0
); );
seq_printf(s, " Inbound handler time (in us) : %i\n" seq_printf(s, " Inbound handler time (in us) : %u\n"
" Inbound handler count : %i\n" " Inbound handler count : %u\n"
" Inbound do_QDIO time (in us) : %i\n" " Inbound do_QDIO time (in us) : %u\n"
" Inbound do_QDIO count : %i\n\n" " Inbound do_QDIO count : %u\n\n"
" Outbound handler time (in us) : %i\n" " Outbound handler time (in us) : %u\n"
" Outbound handler count : %i\n\n" " Outbound handler count : %u\n\n"
" Outbound time (in us, incl QDIO) : %i\n" " Outbound time (in us, incl QDIO) : %u\n"
" Outbound count : %i\n" " Outbound count : %u\n"
" Outbound do_QDIO time (in us) : %i\n" " Outbound do_QDIO time (in us) : %u\n"
" Outbound do_QDIO count : %i\n\n", " Outbound do_QDIO count : %u\n\n",
card->perf_stats.inbound_time, card->perf_stats.inbound_time,
card->perf_stats.inbound_cnt, card->perf_stats.inbound_cnt,
card->perf_stats.inbound_do_qdio_time, card->perf_stats.inbound_do_qdio_time,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册