netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH repost] netpoll: trapping fix/cleanup
@ 2007-04-27 19:44 Sergei Shtylyov
  2007-04-27 20:27 ` Matt Mackall
  0 siblings, 1 reply; 4+ messages in thread
From: Sergei Shtylyov @ 2007-04-27 19:44 UTC (permalink / raw)
  To: davem; +Cc: netdev, shemminger, mpm

CONFIG_NETPOLL_TRAP causes the TX queue controls to be completely bypassed in
the netpoll's "trapped" mode which easily causes overflows in the drivers with
short TX queues (most notably, in 8139too with its 4-deep queue).
Make this option more sensible by only bypassing TX softirq wakeup and remove
CONFIG_NETPOLL_RX option completely since there is *no* code depending on it.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>

---
I wonder can I expect any motion with this patch (at least denial :-)?

 drivers/net/Kconfig       |    5 -----
 include/linux/netdevice.h |    8 +++-----
 2 files changed, 3 insertions(+), 10 deletions(-)

Index: linux-2.6/include/linux/netdevice.h
===================================================================
--- linux-2.6.orig/include/linux/netdevice.h
+++ linux-2.6/include/linux/netdevice.h
@@ -647,8 +647,10 @@ static inline void netif_start_queue(str
 static inline void netif_wake_queue(struct net_device *dev)
 {
 #ifdef CONFIG_NETPOLL_TRAP
-	if (netpoll_trap())
+	if (netpoll_trap()) {
+		clear_bit(__LINK_STATE_XOFF, &dev->state);
 		return;
+	}
 #endif
 	if (test_and_clear_bit(__LINK_STATE_XOFF, &dev->state))
 		__netif_schedule(dev);
@@ -656,10 +658,6 @@ static inline void netif_wake_queue(stru
 
 static inline void netif_stop_queue(struct net_device *dev)
 {
-#ifdef CONFIG_NETPOLL_TRAP
-	if (netpoll_trap())
-		return;
-#endif
 	set_bit(__LINK_STATE_XOFF, &dev->state);
 }
 
Index: linux-2.6/drivers/net/Kconfig
===================================================================
--- linux-2.6.orig/drivers/net/Kconfig
+++ linux-2.6/drivers/net/Kconfig
@@ -2928,11 +2928,6 @@ endif #NETDEVICES
 config NETPOLL
 	def_bool NETCONSOLE
 
-config NETPOLL_RX
-	bool "Netpoll support for trapping incoming packets"
-	default n
-	depends on NETPOLL
-
 config NETPOLL_TRAP
 	bool "Netpoll traffic trapping"
 	default n


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-04-28 13:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-27 19:44 [PATCH repost] netpoll: trapping fix/cleanup Sergei Shtylyov
2007-04-27 20:27 ` Matt Mackall
2007-04-28 12:56   ` Sergei Shtylyov
2007-04-28 13:00     ` Matt Mackall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).