aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2005-06-23 23:12:48 -0400
committerDavid S. Miller <davem@davemloft.net>2005-06-23 23:12:48 -0400
commit31aa02c53c84658f6694f319f09e232ede27be5a (patch)
tree3af5cce958dcce744548b312a043aa4a0b769a50 /include/linux
parent34008d8c631d067caffa136313260525f3ae48a2 (diff)
[NET]: Eliminate netif_rx massive packet drops.
Eliminate the throttling behaviour when the netif receive queue fills because it behaves badly when using high speed networks under load. The throttling cause multiple packet drops that cause TCP to go into slow start mode. The same effective patch has been part of BIC TCP and H-TCP as well as part of Web100. The existing code drops 100's of packets when the queue fills; this changes it to individual packet drop-tail. Signed-off-by: Stephen Hemmminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/netdevice.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 718ad579c65c..3a0ed7f9e801 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -164,7 +164,6 @@ struct netif_rx_stats
164 unsigned total; 164 unsigned total;
165 unsigned dropped; 165 unsigned dropped;
166 unsigned time_squeeze; 166 unsigned time_squeeze;
167 unsigned throttled;
168 unsigned cpu_collision; 167 unsigned cpu_collision;
169}; 168};
170 169
@@ -557,10 +556,9 @@ static inline int unregister_gifconf(unsigned int family)
557 556
558struct softnet_data 557struct softnet_data
559{ 558{
560 int throttle; 559 struct net_device *output_queue;
561 struct sk_buff_head input_pkt_queue; 560 struct sk_buff_head input_pkt_queue;
562 struct list_head poll_list; 561 struct list_head poll_list;
563 struct net_device *output_queue;
564 struct sk_buff *completion_queue; 562 struct sk_buff *completion_queue;
565 563
566 struct net_device backlog_dev; /* Sorry. 8) */ 564 struct net_device backlog_dev; /* Sorry. 8) */