netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
To: jarkao2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Cc: johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org,
	netdev-BkyiQQGWkgE@public.gmane.org,
	peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org,
	kaber-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: Kernel WARNING: at net/core/dev.c:1330 __netif_schedule+0x2c/0x98()
Date: Thu, 31 Jul 2008 05:29:32 -0700 (PDT)	[thread overview]
Message-ID: <20080731.052932.110299354.davem@davemloft.net> (raw)
In-Reply-To: <20080727203757.GA2527-dUp/P3zyUuaNj9Bq2fkWzw@public.gmane.org>

From: Jarek Poplawski <jarkao2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Sun, 27 Jul 2008 22:37:57 +0200

> Looks like enough to me. (Probably it could even share space with
> the state.)

So I made some progress on this, three things:

1) I remember why I choose a to use a bit in my design, it's so that
   it does not increase the costs of the checks in the fast paths.
   test_bit(X) && test_bit(Y) can be combined into a single test by
   the compiler.

2) We can't use the reference counting scheme, because we don't want
   to let a second cpu into these protected code paths just because
   another is in the middle of using a freeze too.

3) So we can simply put a top-level TX spinlock around these things.

Therefore all the hot paths:

a) grab _xmit_lock
b) check XOFF and FROZEN
c) only call ->hard_start_xmit() if both bits are clear

netif_tx_lock() does:

1) grab netdev->tx_global_lock
2) for_each_tx_queue() {
	lock(txq);
	set_bit(FROZEN);
	unlock(txq);
   }

and unlock does:

1) for_each_tx_queue() {
	clear_bit(FROZEN);
	if (!test_bit(XOFF))
		__netif_schedule();
   }
2) release netdev->tx_global_lock

And this seems to satisfy all the constraints which are:

1) Must act like a lock and protect execution of the code path
   which occurs inside of "netif_tx_{lock,unlock}()"

2) Must ensure no cpus are executing inside of ->hard_start_xmit()
   after netif_tx_lock() returns.

3) Must not try to grab all the TX queue locks at once.

This top-level tx_global_lock also simplifies the freezing, as
it makes sure only one cpu is initiating or finishing a freeze
at any given time.

I've also adjusted code that really and truly only wanted to
lock one queue at a time, which in particular was IFB and the
teql scheduler.

It's late here, but I'll start testing the following patch on my
multiqueue capable cards after some sleep.

diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c
index 0960e69..e4fbefc 100644
--- a/drivers/net/ifb.c
+++ b/drivers/net/ifb.c
@@ -69,18 +69,20 @@ static void ri_tasklet(unsigned long dev)
 	struct net_device *_dev = (struct net_device *)dev;
 	struct ifb_private *dp = netdev_priv(_dev);
 	struct net_device_stats *stats = &_dev->stats;
+	struct netdev_queue *txq;
 	struct sk_buff *skb;
 
+	txq = netdev_get_tx_queue(_dev, 0);
 	dp->st_task_enter++;
 	if ((skb = skb_peek(&dp->tq)) == NULL) {
 		dp->st_txq_refl_try++;
-		if (netif_tx_trylock(_dev)) {
+		if (__netif_tx_trylock(txq)) {
 			dp->st_rxq_enter++;
 			while ((skb = skb_dequeue(&dp->rq)) != NULL) {
 				skb_queue_tail(&dp->tq, skb);
 				dp->st_rx2tx_tran++;
 			}
-			netif_tx_unlock(_dev);
+			__netif_tx_unlock(txq);
 		} else {
 			/* reschedule */
 			dp->st_rxq_notenter++;
@@ -115,7 +117,7 @@ static void ri_tasklet(unsigned long dev)
 			BUG();
 	}
 
-	if (netif_tx_trylock(_dev)) {
+	if (__netif_tx_trylock(txq)) {
 		dp->st_rxq_check++;
 		if ((skb = skb_peek(&dp->rq)) == NULL) {
 			dp->tasklet_pending = 0;
@@ -123,10 +125,10 @@ static void ri_tasklet(unsigned long dev)
 				netif_wake_queue(_dev);
 		} else {
 			dp->st_rxq_rsch++;
-			netif_tx_unlock(_dev);
+			__netif_tx_unlock(txq);
 			goto resched;
 		}
-		netif_tx_unlock(_dev);
+		__netif_tx_unlock(txq);
 	} else {
 resched:
 		dp->tasklet_pending = 1;
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index b4d056c..ee583f6 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -440,6 +440,7 @@ static inline void napi_synchronize(const struct napi_struct *n)
 enum netdev_queue_state_t
 {
 	__QUEUE_STATE_XOFF,
+	__QUEUE_STATE_FROZEN,
 };
 
 struct netdev_queue {
@@ -636,7 +637,7 @@ struct net_device
 	unsigned int		real_num_tx_queues;
 
 	unsigned long		tx_queue_len;	/* Max frames per queue allowed */
-
+	spinlock_t		tx_global_lock;
 /*
  * One part is mostly used on xmit path (device)
  */
@@ -1099,6 +1100,11 @@ static inline int netif_queue_stopped(const struct net_device *dev)
 	return netif_tx_queue_stopped(netdev_get_tx_queue(dev, 0));
 }
 
+static inline int netif_tx_queue_frozen(const struct netdev_queue *dev_queue)
+{
+	return test_bit(__QUEUE_STATE_FROZEN, &dev_queue->state);
+}
+
 /**
  *	netif_running - test if up
  *	@dev: network device
@@ -1475,6 +1481,26 @@ static inline void __netif_tx_lock_bh(struct netdev_queue *txq)
 	txq->xmit_lock_owner = smp_processor_id();
 }
 
+static inline int __netif_tx_trylock(struct netdev_queue *txq)
+{
+	int ok = spin_trylock(&txq->_xmit_lock);
+	if (likely(ok))
+		txq->xmit_lock_owner = smp_processor_id();
+	return ok;
+}
+
+static inline void __netif_tx_unlock(struct netdev_queue *txq)
+{
+	txq->xmit_lock_owner = -1;
+	spin_unlock(&txq->_xmit_lock);
+}
+
+static inline void __netif_tx_unlock_bh(struct netdev_queue *txq)
+{
+	txq->xmit_lock_owner = -1;
+	spin_unlock_bh(&txq->_xmit_lock);
+}
+
 /**
  *	netif_tx_lock - grab network device transmit lock
  *	@dev: network device
@@ -1484,12 +1510,23 @@ static inline void __netif_tx_lock_bh(struct netdev_queue *txq)
  */
 static inline void netif_tx_lock(struct net_device *dev)
 {
-	int cpu = smp_processor_id();
 	unsigned int i;
+	int cpu;
 
+	spin_lock(&dev->tx_global_lock);
+	cpu = smp_processor_id();
 	for (i = 0; i < dev->num_tx_queues; i++) {
 		struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
+
+		/* We are the only thread of execution doing a
+		 * freeze, but we have to grab the _xmit_lock in
+		 * order to synchronize with threads which are in
+		 * the ->hard_start_xmit() handler and already
+		 * checked the frozen bit.
+		 */
 		__netif_tx_lock(txq, cpu);
+		set_bit(__QUEUE_STATE_FROZEN, &txq->state);
+		__netif_tx_unlock(txq);
 	}
 }
 
@@ -1499,40 +1536,22 @@ static inline void netif_tx_lock_bh(struct net_device *dev)
 	netif_tx_lock(dev);
 }
 
-static inline int __netif_tx_trylock(struct netdev_queue *txq)
-{
-	int ok = spin_trylock(&txq->_xmit_lock);
-	if (likely(ok))
-		txq->xmit_lock_owner = smp_processor_id();
-	return ok;
-}
-
-static inline int netif_tx_trylock(struct net_device *dev)
-{
-	return __netif_tx_trylock(netdev_get_tx_queue(dev, 0));
-}
-
-static inline void __netif_tx_unlock(struct netdev_queue *txq)
-{
-	txq->xmit_lock_owner = -1;
-	spin_unlock(&txq->_xmit_lock);
-}
-
-static inline void __netif_tx_unlock_bh(struct netdev_queue *txq)
-{
-	txq->xmit_lock_owner = -1;
-	spin_unlock_bh(&txq->_xmit_lock);
-}
-
 static inline void netif_tx_unlock(struct net_device *dev)
 {
 	unsigned int i;
 
 	for (i = 0; i < dev->num_tx_queues; i++) {
 		struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
-		__netif_tx_unlock(txq);
-	}
 
+		/* No need to grab the _xmit_lock here.  If the
+		 * queue is not stopped for another reason, we
+		 * force a schedule.
+		 */
+		clear_bit(__QUEUE_STATE_FROZEN, &txq->state);
+		if (!test_bit(__QUEUE_STATE_XOFF, &txq->state))
+			__netif_schedule(txq->qdisc);
+	}
+	spin_unlock(&dev->tx_global_lock);
 }
 
 static inline void netif_tx_unlock_bh(struct net_device *dev)
@@ -1556,13 +1575,18 @@ static inline void netif_tx_unlock_bh(struct net_device *dev)
 static inline void netif_tx_disable(struct net_device *dev)
 {
 	unsigned int i;
+	int cpu;
 
-	netif_tx_lock_bh(dev);
+	local_bh_disable();
+	cpu = smp_processor_id();
 	for (i = 0; i < dev->num_tx_queues; i++) {
 		struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
+
+		__netif_tx_lock(txq, cpu);
 		netif_tx_stop_queue(txq);
+		__netif_tx_unlock(txq);
 	}
-	netif_tx_unlock_bh(dev);
+	local_bh_enable();
 }
 
 static inline void netif_addr_lock(struct net_device *dev)
diff --git a/net/core/dev.c b/net/core/dev.c
index 63d6bcd..69320a5 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4200,6 +4200,7 @@ static void netdev_init_queues(struct net_device *dev)
 {
 	netdev_init_one_queue(dev, &dev->rx_queue, NULL);
 	netdev_for_each_tx_queue(dev, netdev_init_one_queue, NULL);
+	spin_lock_init(&dev->tx_global_lock);
 }
 
 /**
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index c127208..6c7af39 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -70,6 +70,7 @@ static void queue_process(struct work_struct *work)
 		local_irq_save(flags);
 		__netif_tx_lock(txq, smp_processor_id());
 		if (netif_tx_queue_stopped(txq) ||
+		    netif_tx_queue_frozen(txq) ||
 		    dev->hard_start_xmit(skb, dev) != NETDEV_TX_OK) {
 			skb_queue_head(&npinfo->txq, skb);
 			__netif_tx_unlock(txq);
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index c7d484f..3284605 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -3305,6 +3305,7 @@ static __inline__ void pktgen_xmit(struct pktgen_dev *pkt_dev)
 
 	txq = netdev_get_tx_queue(odev, queue_map);
 	if (netif_tx_queue_stopped(txq) ||
+	    netif_tx_queue_frozen(txq) ||
 	    need_resched()) {
 		idle_start = getCurUs();
 
@@ -3320,7 +3321,8 @@ static __inline__ void pktgen_xmit(struct pktgen_dev *pkt_dev)
 
 		pkt_dev->idle_acc += getCurUs() - idle_start;
 
-		if (netif_tx_queue_stopped(txq)) {
+		if (netif_tx_queue_stopped(txq) ||
+		    netif_tx_queue_frozen(txq)) {
 			pkt_dev->next_tx_us = getCurUs();	/* TODO */
 			pkt_dev->next_tx_ns = 0;
 			goto out;	/* Try the next interface */
@@ -3352,7 +3354,8 @@ static __inline__ void pktgen_xmit(struct pktgen_dev *pkt_dev)
 	txq = netdev_get_tx_queue(odev, queue_map);
 
 	__netif_tx_lock_bh(txq);
-	if (!netif_tx_queue_stopped(txq)) {
+	if (!netif_tx_queue_stopped(txq) &&
+	    !netif_tx_queue_frozen(txq)) {
 
 		atomic_inc(&(pkt_dev->skb->users));
 	      retry_now:
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 345838a..9c9cd4d 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -135,7 +135,8 @@ static inline int qdisc_restart(struct Qdisc *q)
 	txq = netdev_get_tx_queue(dev, skb_get_queue_mapping(skb));
 
 	HARD_TX_LOCK(dev, txq, smp_processor_id());
-	if (!netif_subqueue_stopped(dev, skb))
+	if (!netif_tx_queue_stopped(txq) &&
+	    !netif_tx_queue_frozen(txq))
 		ret = dev_hard_start_xmit(skb, dev, txq);
 	HARD_TX_UNLOCK(dev, txq);
 
@@ -162,7 +163,8 @@ static inline int qdisc_restart(struct Qdisc *q)
 		break;
 	}
 
-	if (ret && netif_tx_queue_stopped(txq))
+	if (ret && (netif_tx_queue_stopped(txq) ||
+		    netif_tx_queue_frozen(txq)))
 		ret = 0;
 
 	return ret;
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c
index 5372236..2c35c67 100644
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -305,10 +305,11 @@ restart:
 
 		switch (teql_resolve(skb, skb_res, slave)) {
 		case 0:
-			if (netif_tx_trylock(slave)) {
-				if (!__netif_subqueue_stopped(slave, subq) &&
+			if (__netif_tx_trylock(slave_txq)) {
+				if (!netif_tx_queue_stopped(slave_txq) &&
+				    !netif_tx_queue_frozen(slave_txq) &&
 				    slave->hard_start_xmit(skb, slave) == 0) {
-					netif_tx_unlock(slave);
+					__netif_tx_unlock(slave_txq);
 					master->slaves = NEXT_SLAVE(q);
 					netif_wake_queue(dev);
 					master->stats.tx_packets++;
@@ -316,7 +317,7 @@ restart:
 						qdisc_pkt_len(skb);
 					return 0;
 				}
-				netif_tx_unlock(slave);
+				__netif_tx_unlock(slave_txq);
 			}
 			if (netif_queue_stopped(dev))
 				busy = 1;
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2008-07-31 12:29 UTC|newest]

Thread overview: 204+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-20 17:44 [GIT]: Networking David Miller
2008-07-20 17:59 ` Arjan van de Ven
2008-07-20 23:52   ` David Miller
2008-07-21 20:32   ` David Miller
2008-07-21  0:54 ` Linus Torvalds
2008-07-21  1:03   ` David Miller
2008-07-21  1:09     ` Alexey Dobriyan
2008-07-21  1:14       ` David Miller
2008-07-21  1:22         ` Alexey Dobriyan
2008-07-21  2:40         ` Alexey Dobriyan
2008-07-21  2:48           ` David Miller
2008-07-21  5:11             ` David Miller
2008-07-21  9:48               ` Alexander Beregalov
2008-07-21 10:16                 ` Ben Hutchings
2008-07-21 15:35                   ` David Miller
2008-07-21 16:04                     ` Alexander Beregalov
2008-07-21 11:57               ` Alexey Dobriyan
2008-07-21 15:27                 ` David Miller
2008-07-21 16:49               ` Linus Torvalds
2008-07-21 16:53                 ` David Miller
2008-07-21  1:20     ` Patrick McHardy
2008-07-21 11:28       ` Stefan Richter
2008-07-21 11:45       ` James Morris
2008-07-21 12:05         ` Patrick McHardy
2008-07-21 17:28           ` David Miller
2008-07-21 17:40             ` Linus Torvalds
2008-07-21 20:33               ` Patrick McHardy
2008-07-23 23:42                 ` David Miller
2008-07-21  1:07   ` Linus Torvalds
2008-07-21  1:17     ` David Miller
2008-07-21  8:36 ` iwlwifi: fix build bug in "iwlwifi: fix LED stall" Ingo Molnar
2008-07-21 10:02   ` Winkler, Tomas
2008-07-21 10:53     ` Ingo Molnar
2008-07-21 12:12   ` [PATCH] iwlwifi: RS small compile warnings without CONFIG_IWLWIFI_DEBUG Tomas Winkler
2008-07-21 12:12     ` [PATCH] iwlwifi: " Tomas Winkler
2008-07-21 12:12       ` [PATCH] iwlwifi: compilation error when CONFIG_IWLWIFI_DEBUG is not set Tomas Winkler
2008-07-21 13:30 ` [crash, bisected] Kernel BUG at ffffffff8079afb1 (__netif_schedule()) Ingo Molnar
2008-07-21 13:45   ` [crash] BUG: unable to handle kernel NULL pointer dereference at 0000000000000370 Ingo Molnar
2008-07-21 14:30     ` Ingo Molnar
2008-07-21 15:04       ` Ingo Molnar
2008-07-21 15:24         ` David Miller
2008-07-21 18:18           ` Ian Schram
2008-07-21 19:06             ` Ingo Molnar
     [not found]               ` <20080721190646.GA19044-X9Un+BFzKDI@public.gmane.org>
2008-07-21 19:13                 ` Larry Finger
     [not found]                   ` <4884DFEE.4060003-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2008-07-21 19:34                     ` Ingo Molnar
     [not found]                       ` <20080721193425.GA29287-X9Un+BFzKDI@public.gmane.org>
2008-07-21 19:43                         ` Larry Finger
     [not found]                           ` <4884E6E6.7010800-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2008-07-21 19:47                             ` Linus Torvalds
2008-07-21 20:15                               ` David Miller
     [not found]                               ` <alpine.LFD.1.10.0807211246280.31863-5CScLwifNT1QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
2008-07-21 20:28                                 ` Larry Finger
2008-07-21 20:21                             ` David Miller
     [not found]                               ` <20080721.132100.128525904.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-21 20:38                                 ` Larry Finger
2008-07-21 20:46                                   ` David Miller
2008-07-21 20:51                                     ` Patrick McHardy
2008-07-21 21:01                                       ` David Miller
2008-07-21 21:06                                         ` Patrick McHardy
     [not found]                                           ` <4884FA3F.70109-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org>
2008-07-21 21:35                                             ` Patrick McHardy
     [not found]                                               ` <48850121.9090106-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org>
2008-07-21 21:42                                                 ` Patrick McHardy
2008-07-21 21:51                                                 ` Larry Finger
     [not found]                                                   ` <488504D9.5090100-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2008-07-21 22:04                                                     ` Patrick McHardy
     [not found]                                                       ` <488507FB.9050101-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org>
2008-07-21 22:40                                                         ` Larry Finger
     [not found]                                                           ` <4885104A.2070201-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2008-07-21 23:15                                                             ` David Miller
2008-07-22  6:34                                                               ` Larry Finger
     [not found]                                                                 ` <48857F74.2040406-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2008-07-22 10:51                                                                   ` Jarek Poplawski
2008-07-22 11:32                                                                 ` David Miller
2008-07-22 12:52                                                                   ` Larry Finger
2008-07-22 20:43                                                                     ` David Miller
2008-07-22 13:02                                                                   ` Larry Finger
     [not found]                                                                     ` <4885DA49.50703-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2008-07-22 14:53                                                                       ` Patrick McHardy
     [not found]                                                                         ` <4885F46A.30309-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org>
2008-07-22 21:17                                                                           ` David Miller
2008-07-22 16:39                                                                       ` Kernel WARNING: at net/core/dev.c:1330 __netif_schedule+0x2c/0x98() Larry Finger
     [not found]                                                                         ` <48860D4B.8070003-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2008-07-22 17:20                                                                           ` Patrick McHardy
2008-07-22 18:39                                                                             ` Larry Finger
2008-07-22 18:44                                                                               ` Patrick McHardy
     [not found]                                                                                 ` <48862A76.8030307-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org>
2008-07-22 19:30                                                                                   ` Larry Finger
2008-07-22 23:04                                                                               ` David Miller
2008-07-23  6:20                                                                                 ` Jarek Poplawski
2008-07-23  7:59                                                                                   ` David Miller
     [not found]                                                                                     ` <20080723.005921.113868915.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-23  8:54                                                                                       ` Jarek Poplawski
     [not found]                                                                                         ` <20080723085452.GB4561-8HppEYmqbBCE+EvaaNYduQ@public.gmane.org>
2008-07-23  9:03                                                                                           ` Peter Zijlstra
2008-07-23  9:35                                                                                             ` Jarek Poplawski
     [not found]                                                                                               ` <20080723093459.GC4561-8HppEYmqbBCE+EvaaNYduQ@public.gmane.org>
2008-07-23  9:50                                                                                                 ` Peter Zijlstra
2008-07-23 10:13                                                                                                   ` Jarek Poplawski
2008-07-23 10:58                                                                                                     ` Peter Zijlstra
2008-07-23 11:35                                                                                                       ` Jarek Poplawski
     [not found]                                                                                                         ` <20080723113519.GE4561-8HppEYmqbBCE+EvaaNYduQ@public.gmane.org>
2008-07-23 11:49                                                                                                           ` Jarek Poplawski
2008-07-23 20:16                                                                                                             ` David Miller
2008-07-23 20:43                                                                                                               ` Jarek Poplawski
     [not found]                                                                                                                 ` <20080723204335.GA14788-dUp/P3zyUuaNj9Bq2fkWzw@public.gmane.org>
2008-07-23 20:55                                                                                                                   ` David Miller
     [not found]                                                                                                               ` <20080723.131607.79681752.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-24  9:10                                                                                                                 ` Peter Zijlstra
2008-07-24  9:20                                                                                                                   ` David Miller
     [not found]                                                                                                                     ` <20080724.022040.23129457.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-24  9:27                                                                                                                       ` Peter Zijlstra
2008-07-24  9:32                                                                                                                         ` David Miller
     [not found]                                                                                                                           ` <20080724.023210.229338550.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-24 10:08                                                                                                                             ` Peter Zijlstra
2008-07-24 10:38                                                                                                                               ` Nick Piggin
     [not found]                                                                                                                                 ` <200807242038.36693.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
2008-07-24 10:55                                                                                                                                   ` Miklos Szeredi
     [not found]                                                                                                                                     ` <E1KLyUI-0006ZS-Cg-8f8m9JG5TPIdUIPVzhDTVZP2KDSNp7ea@public.gmane.org>
2008-07-24 11:06                                                                                                                                       ` Nick Piggin
     [not found]                                                                                                                                         ` <200807242106.52672.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
2008-08-01 21:10                                                                                                                                           ` Paul E. McKenney
2008-07-24 10:59                                                                                                                                   ` Peter Zijlstra
2008-08-01 21:10                                                                                                                                 ` Paul E. McKenney
2008-07-23 20:14                                                                                                       ` David Miller
     [not found]                                                                                                         ` <20080723.131441.200166513.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-24  7:00                                                                                                           ` Peter Zijlstra
2008-07-25 17:04                                                                                                         ` Ingo Oeser
     [not found]                                                                                                           ` <200807251904.37302.netdev-BkyiQQGWkgE@public.gmane.org>
2008-07-25 18:36                                                                                                             ` Jarek Poplawski
2008-07-25 19:16                                                                                                               ` Johannes Berg
     [not found]                                                                                                                 ` <1217013384.4758.5.camel-YfaajirXv214zXjbi5bjpg@public.gmane.org>
2008-07-25 19:34                                                                                                                   ` Jarek Poplawski
2008-07-25 19:36                                                                                                                     ` Johannes Berg
2008-07-25 20:01                                                                                                                       ` Jarek Poplawski
     [not found]                                                                                                                         ` <20080725200137.GC3107-dUp/P3zyUuaNj9Bq2fkWzw@public.gmane.org>
2008-07-26  9:18                                                                                                                           ` David Miller
2008-07-26 10:53                                                                                                                             ` Jarek Poplawski
     [not found]                                                                                                                             ` <20080726.021846.236624483.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-26 13:18                                                                                                                               ` Jarek Poplawski
     [not found]                                                                                                                                 ` <20080726131838.GA2873-dUp/P3zyUuaNj9Bq2fkWzw@public.gmane.org>
2008-07-27  0:34                                                                                                                                   ` David Miller
     [not found]                                                                                                                                     ` <20080726.173434.48036095.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-27 20:37                                                                                                                                       ` Jarek Poplawski
     [not found]                                                                                                                                         ` <20080727203757.GA2527-dUp/P3zyUuaNj9Bq2fkWzw@public.gmane.org>
2008-07-31 12:29                                                                                                                                           ` David Miller [this message]
     [not found]                                                                                                                                             ` <20080731.052932.110299354.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-07-31 12:38                                                                                                                                               ` Nick Piggin
2008-07-31 12:44                                                                                                                                                 ` David Miller
2008-08-01  4:27                                                                                                                                             ` David Miller
     [not found]                                                                                                                                               ` <20080731.212729.138736823.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-08-01  7:09                                                                                                                                                 ` Peter Zijlstra
2008-08-01  6:48                                                                                                                                             ` Jarek Poplawski
     [not found]                                                                                                                                               ` <20080801064810.GA4435-8HppEYmqbBCE+EvaaNYduQ@public.gmane.org>
2008-08-01  7:00                                                                                                                                                 ` David Miller
2008-08-01  7:01                                                                                                                                               ` Jarek Poplawski
     [not found]                                                                                                                                                 ` <20080801070150.GB4435-8HppEYmqbBCE+EvaaNYduQ@public.gmane.org>
2008-08-01  7:01                                                                                                                                                   ` David Miller
2008-08-01  7:41                                                                                                                                                     ` Jarek Poplawski
2008-07-25  6:20                                     ` [lockdep warning] AOE / networking: aoenet_xmit: noop_qdisc.q.lock, INFO: inconsistent lock state at 0000000000000370 Ingo Molnar
2008-07-25  6:25                                       ` David Miller
2008-07-25  7:26                                         ` Ingo Molnar
2008-07-25  8:23                                           ` David Miller
     [not found]       ` <20080721143023.GA32451-X9Un+BFzKDI@public.gmane.org>
2008-07-21 15:10         ` [crash] BUG: unable to handle kernel NULL pointer dereference " David Miller
2008-07-21 18:23     ` [crash] kernel BUG at net/core/dev.c:1328! Ingo Molnar
2008-07-21 18:35       ` Linus Torvalds
2008-07-21 18:46         ` Ingo Molnar
2008-07-21 19:30           ` Ingo Molnar
2008-07-22 11:21           ` [TCP bug] stuck distcc connections in latest -git Ingo Molnar
2008-07-22 13:45             ` David Newall
2008-07-22 13:57               ` Ingo Molnar
2008-07-22 14:54                 ` David Newall
2008-07-22 15:34                   ` Ingo Molnar
2008-07-22 21:12                     ` Willy Tarreau
2008-07-23  8:26                       ` Ingo Molnar
2008-07-24  6:04                         ` [TCP bug, regression] " Ingo Molnar
2008-07-24  6:32                           ` Ingo Molnar
2008-07-24  7:33                             ` Willy Tarreau
2008-07-24  8:35                               ` Ingo Molnar
2008-07-24  7:53                             ` Herbert Xu
2008-07-24  8:24                               ` Willy Tarreau
2008-07-24  8:27                               ` Ingo Molnar
2008-07-24  8:36                                 ` David Miller
2008-07-24  9:05                           ` Herbert Xu
2008-07-24  9:22                             ` David Miller
2008-07-24  9:34                               ` Ingo Molnar
2008-07-24 11:56                                 ` [regression] nf_iterate(), BUG: unable to handle kernel NULL pointer dereference Ingo Molnar
2008-07-24 11:59                                   ` Ingo Molnar
2008-07-24 12:03                                     ` Patrick McHardy
2008-07-24 12:22                                       ` Herbert Xu
2008-07-24 12:40                                         ` Pekka Enberg
2008-07-24 12:50                                           ` Herbert Xu
2008-07-24 12:56                                             ` Nick Piggin
2008-07-24 13:04                                               ` Herbert Xu
2008-07-24 13:13                                                 ` Nick Piggin
2008-07-24 13:32                                                   ` Pekka Enberg
2008-07-24 19:21                                                     ` Matt Mackall
2008-07-25  9:09                                                       ` Nick Piggin
2008-07-24 13:11                                             ` Matt Mackall
2008-07-24 14:37                                               ` Herbert Xu
2008-07-24 17:47                                                 ` Matt Mackall
2008-07-25  1:39                                                   ` Herbert Xu
2008-07-25  2:59                                                     ` Matt Mackall
2008-07-24 12:44                                       ` Pekka Enberg
2008-07-24 12:49                                         ` Patrick McHardy
2008-07-24 13:23                                           ` Pekka Enberg
2008-07-24 13:31                                             ` Patrick McHardy
2008-07-24 13:34                                               ` Pekka Enberg
2008-07-24 18:51                                                 ` Andrew Morton
2008-07-24 18:55                                                   ` Pekka Enberg
2008-07-24 20:58                                                     ` David Miller
2008-07-25  8:02                                                     ` Dieter Ries
2008-07-25 10:41                                                       ` Pekka Enberg
2008-07-24 19:35                                                   ` Ingo Molnar
2008-07-26 16:09                                                     ` Patrick McHardy
2008-07-26 17:34                                                       ` Ingo Molnar
2008-07-26 13:43                                                   ` Patrick McHardy
2008-07-24 21:13                                           ` Linus Torvalds
2008-07-24 22:09                                             ` David Miller
2008-07-26 13:47                                             ` Patrick McHardy
2008-08-01 21:10                                             ` Paul E. McKenney
2008-07-24 14:23                                     ` Ingo Molnar
2008-07-24 15:23                                       ` Patrick McHardy
2008-07-24 15:32                                         ` Ingo Molnar
2008-07-24 15:34                                           ` Patrick McHardy
2008-07-24 18:00                                           ` Krzysztof Oledzki
2008-07-24 13:01                               ` [TCP bug, regression] stuck distcc connections in latest -git Willy Tarreau
2008-07-24  9:25                             ` Ingo Molnar
2008-07-24  9:29                               ` David Miller
2008-07-24 11:12                               ` Herbert Xu
2008-07-24  9:36                             ` Ilpo Järvinen
2008-07-24 10:03                               ` Ilpo Järvinen
2008-07-21 19:00         ` [crash] kernel BUG at net/core/dev.c:1328! David Miller
2008-07-21 19:20           ` Stefan Richter
2008-07-21 20:11             ` David Miller
2008-07-21 21:26               ` Stefan Richter
2008-07-21 19:44           ` Ingo Molnar
2008-07-21 20:20             ` David Miller
2008-07-21 15:07   ` [crash, bisected] Kernel BUG at ffffffff8079afb1 (__netif_schedule()) David Miller
2008-07-21 13:50 ` [GIT]: Networking Ingo Molnar
2008-07-21 14:15   ` Stefan Richter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080731.052932.110299354.davem@davemloft.net \
    --to=davem-ft/pcqaiutieiz0/mpfg9q@public.gmane.org \
    --cc=Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=jarkao2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org \
    --cc=kaber-dcUjhNyLwpNeoWH0uzbU5w@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=netdev-BkyiQQGWkgE@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).