diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2005-06-23 23:12:48 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-06-23 23:12:48 -0400 |
commit | 31aa02c53c84658f6694f319f09e232ede27be5a (patch) | |
tree | 3af5cce958dcce744548b312a043aa4a0b769a50 /include | |
parent | 34008d8c631d067caffa136313260525f3ae48a2 (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')
-rw-r--r-- | include/linux/netdevice.h | 4 |
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 | ||
558 | struct softnet_data | 557 | struct 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) */ |