* Network died completely in 2.6.29
@ 2009-03-27 22:51 Ondrej Zary
2009-03-27 22:53 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Ondrej Zary @ 2009-03-27 22:51 UTC (permalink / raw)
To: Linux Kernel
Hello,
upgraded to 2.6.29 today. It appeared to work fine for a couple of hours. But
suddenly the network stopped. I wasn't even able to ping my local IP. Even
pinging 127.0.0.1 did not work. There were no errors in dmesg and the system
appeared to work fine otherwise. Had to reboot (into 2.6.28).
Never seen this before. Anyone with the same problem?
--
Ondrej Zary
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Network died completely in 2.6.29
2009-03-27 22:51 Network died completely in 2.6.29 Ondrej Zary
@ 2009-03-27 22:53 ` David Miller
2009-03-28 19:29 ` Ondrej Zary
0 siblings, 1 reply; 3+ messages in thread
From: David Miller @ 2009-03-27 22:53 UTC (permalink / raw)
To: linux; +Cc: linux-kernel
From: Ondrej Zary <linux@rainbow-software.org>
Date: Fri, 27 Mar 2009 23:51:36 +0100
> upgraded to 2.6.29 today. It appeared to work fine for a couple of hours. But
> suddenly the network stopped. I wasn't even able to ping my local IP. Even
> pinging 127.0.0.1 did not work. There were no errors in dmesg and the system
> appeared to work fine otherwise. Had to reboot (into 2.6.28).
>
> Never seen this before. Anyone with the same problem?
It's a known problem, the following fix will be submitted
to 2.6.29.1 over the weekend.
GRO: Disable GRO on legacy netif_rx path
When I fixed the GRO crash in the legacy receive path I used
napi_complete to replace __napi_complete. Unfortunately they're
not the same when NETPOLL is enabled, which may result in us
not calling __napi_complete at all.
What's more, we really do need to keep the __napi_complete call
within the IRQ-off section since in theory an IRQ can occur in
between and fill up the backlog to the maximum, causing us to
lock up.
Since we can't seem to find a fix that works properly right now,
this patch reverts all the GRO support from the netif_rx path.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/core/dev.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 052dd47..63ec4bf 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2627,18 +2627,15 @@ static int process_backlog(struct napi_struct *napi, int quota)
local_irq_disable();
skb = __skb_dequeue(&queue->input_pkt_queue);
if (!skb) {
+ __napi_complete(napi);
local_irq_enable();
- napi_complete(napi);
- goto out;
+ break;
}
local_irq_enable();
- napi_gro_receive(napi, skb);
+ netif_receive_skb(skb);
} while (++work < quota && jiffies == start_time);
- napi_gro_flush(napi);
-
-out:
return work;
}
--
1.6.2.1.222.g570cc
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: Network died completely in 2.6.29
2009-03-27 22:53 ` David Miller
@ 2009-03-28 19:29 ` Ondrej Zary
0 siblings, 0 replies; 3+ messages in thread
From: Ondrej Zary @ 2009-03-28 19:29 UTC (permalink / raw)
To: David Miller; +Cc: linux-kernel
On Friday 27 March 2009 23:53:46 David Miller wrote:
> From: Ondrej Zary <linux@rainbow-software.org>
> Date: Fri, 27 Mar 2009 23:51:36 +0100
>
> > upgraded to 2.6.29 today. It appeared to work fine for a couple of hours.
> > But suddenly the network stopped. I wasn't even able to ping my local IP.
> > Even pinging 127.0.0.1 did not work. There were no errors in dmesg and
> > the system appeared to work fine otherwise. Had to reboot (into 2.6.28).
> >
> > Never seen this before. Anyone with the same problem?
>
> It's a known problem, the following fix will be submitted
> to 2.6.29.1 over the weekend.
Thanks, it seems to work now.
--
Ondrej Zary
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-03-28 19:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-27 22:51 Network died completely in 2.6.29 Ondrej Zary
2009-03-27 22:53 ` David Miller
2009-03-28 19:29 ` Ondrej Zary
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox