Re: network traffic stop with 2.6.29 after ftp put

Previous thread: Re: network traffic stop with 2.6.29 after ftp put by Marco Berizzi on Tuesday, March 24, 2009 - 4:01 am. (2 messages)

Next thread: [patch 1/9] [PATCH] Use kthread instead of kernel_thread by Ursula Braun on Tuesday, March 24, 2009 - 5:29 am. (1 message)
From: Marco Berizzi
Date: Tuesday, March 24, 2009 - 4:30 am

just an update: this bug is not related to
ftp: it appears to me that after some
traffic (imap, http) linux stop receiving

there isn't any iptables rules
(there isn't even the iptables package

Ip:
    4808 total packets received
    28 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    4685 incoming packets delivered
    1226 requests sent out
Icmp:
    0 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:
    68 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 47
        echo request: 21
IcmpMsg:
        OutType3: 47
        OutType8: 21
Tcp:
    21 active connections openings
    0 passive connection openings
    0 failed connection attempts
    0 connection resets received
    0 connections established
    1490 segments received
    1104 segments send out
    30 segments retransmited
    0 bad segments received.
    9 resets sent
Udp:
    4 packets received
    0 packets to unknown port received.
    0 packet receive errors
    24 packets sent
UdpLite:
TcpExt:
    10 TCP sockets finished time wait in fast timer
    27 delayed acks sent
    1240 packet headers predicted
    58 acknowledgments not containing data payload received
    5 predicted acknowledgments
    1 congestion windows recovered without slow start after partial ack
    5 other TCP timeouts
    4 connections aborted due to timeout
IpExt:

slabinfo - version: 2.1
# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
isofs_inode_cache      0      0    320   12    1 : tunables    0    0    0 : slabdata      0      0      0
fat_inode_cache       23     23    344   23    2 : tunables    0    0    0 : slabdata      1      1      0
fat_cache            170    170     24  170    1 : tunables    0    0    0 : slabdata      1      1      0
sgpool-128        ...
From: Eric Dumazet
Date: Tuesday, March 24, 2009 - 7:02 am

Thanks Marco

You probably have the problem Ingo reported on lkml, please try Herbert fix :

http://marc.info/?l=linux-kernel&m=123790184128396&w=2

net: Fix netpoll lockup in legacy receive 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.

While this is fishy in itself, let's make the obvious fix right
now of reverting to the previous state where we always called
__napi_complete.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

diff --git a/net/core/dev.c b/net/core/dev.c
index e3fe5c7..523f53e 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2580,24 +2580,26 @@ static int process_backlog(struct napi_struct *napi, int quota)
 	int work = 0;
 	struct softnet_data *queue = &__get_cpu_var(softnet_data);
 	unsigned long start_time = jiffies;
+	struct sk_buff *skb;
 
 	napi->weight = weight_p;
 	do {
-		struct sk_buff *skb;
-
 		local_irq_disable();
 		skb = __skb_dequeue(&queue->input_pkt_queue);
-		if (!skb) {
-			local_irq_enable();
-			napi_complete(napi);
-			goto out;
-		}
 		local_irq_enable();
+		if (!skb)
+			break;
 
 		napi_gro_receive(napi, skb);
 	} while (++work < quota && jiffies == start_time);
 
 	napi_gro_flush(napi);
+	if (skb)
+		goto out;
+
+	local_irq_disable();
+	__napi_complete(napi);
+	local_irq_enable();
 
 out:
 	return work;


--

Previous thread: Re: network traffic stop with 2.6.29 after ftp put by Marco Berizzi on Tuesday, March 24, 2009 - 4:01 am. (2 messages)

Next thread: [patch 1/9] [PATCH] Use kthread instead of kernel_thread by Ursula Braun on Tuesday, March 24, 2009 - 5:29 am. (1 message)