[rfc] [patch] Qdisc drops not being reported

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
The Qdisc drops does not seem to be reported to user space for the
default queuing discipline -- pfifo_fast_ops.  I ran isic tests on a up
to test if the drops happen at all, and yes there were significant no of
packets dropped under heavy tx load.  Here is a patch which reports just 
the qdisc drops to the /proc/net/dev entry.  Does this sound like a 
good idea?

Comments welcome.  

-Kiran



diff -X dontdiff -ruN linux-2.5.31/include/asm-i386/mmu.h statctr-2.5.31/include/asm-i386/mmu.h
--- linux-2.5.31/include/asm-i386/mmu.h	Sun Aug 11 07:11:42 2002
+++ statctr-2.5.31/include/asm-i386/mmu.h	Wed Aug 21 12:40:35 2002
@@ -1,6 +1,8 @@
 #ifndef __i386_MMU_H
 #define __i386_MMU_H
 
+#include <asm/semaphore.h>
+
 /*
  * The i386 doesn't have a mmu context, but
  * we put the segment information here.
diff -X dontdiff -ruN linux-2.5.31/net/core/dev.c statctr-2.5.31/net/core/dev.c
--- linux-2.5.31/net/core/dev.c	Sun Aug 11 07:11:30 2002
+++ statctr-2.5.31/net/core/dev.c	Wed Aug 21 17:57:24 2002
@@ -1746,10 +1746,12 @@
 							  NULL;
 	int size;
 
+	struct Qdisc *q = dev->qdisc;
+
 	if (stats)
 		size = sprintf(buffer, "%6s:%8lu %7lu %4lu %4lu %4lu %5lu "
 				       "%10lu %9lu %8lu %7lu %4lu %4lu %4lu "
-				       "%5lu %7lu %10lu\n",
+				       "%5lu %7lu %10lu %10u\n",
  		   dev->name,
 		   stats->rx_bytes,
 		   stats->rx_packets, stats->rx_errors,
@@ -1763,7 +1765,8 @@
 		   stats->tx_fifo_errors, stats->collisions,
 		   stats->tx_carrier_errors + stats->tx_aborted_errors +
 		   	stats->tx_window_errors + stats->tx_heartbeat_errors,
-		   stats->tx_compressed);
+		   stats->tx_compressed,
+		   q->stats.drops);
 	else
 		size = sprintf(buffer, "%6s: No statistics available.\n",
 			       dev->name);
@@ -1785,7 +1788,7 @@
 
 	size = sprintf(buffer,
 		"Inter-|   Receive                                                |  Transmit\n"
-		" face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed\n");
+		" face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed Qdiscdrops\n");
 
 	pos += size;
 	len += size;
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux