All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Savchenko <bircoph@gmail.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: netdev@vger.kernel.org
Subject: Re: [BUG] Kernel recieves DNS reply, but doesn't deliver it to a waiting application
Date: Mon, 4 Feb 2013 17:39:32 +0400	[thread overview]
Message-ID: <20130204173932.bad780bc.bircoph@gmail.com> (raw)
In-Reply-To: <20130116203644.8eb2a16f.bircoph@gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 1480 bytes --]

Hello,

On Wed, 16 Jan 2013 20:36:44 +0400 Andrew Savchenko wrote:
> On Fri, 28 Dec 2012 10:11:03 -0800 Eric Dumazet wrote:
[...]
> > Thanks a lot !
> > 
> > I see strange drops in dev_hard_start_xmit()
> > 
> > l2tp needs some care.
> > 
> > Please try the following patch, as skb_cow_head() API
> > doesnt really ease skb->truesize exact tracking anyway, better not mess
> > with it. 
> 
> Sorry for the delay, but I was able to reboot kernel only today.
> Your patch is applied on top of the 3.7.2 vanilla kernel.
> 
> l2tp works fine and /proc/net/udp tx_queue values are normal now, see
> attached /prot/net/udp output. This is a good hint that problem is
> probably solved, but we need to wait at least several weeks to be
> sure.

With 16-days uptime system works fine.

Also I was able to reproduce this bug on another box: an embedded
system running openwrt with 3.7.5 kernel with openl2tpd client and
dnsmasq server. Due to limited memory resources this bug happened to
be easily reproducible: several thousands of dns queries were
sufficient to reproduce this bug. Full debug on embedded box was not
possible due to constrained resources, but bug appearance was the same
and /proc/net/udp is apparently broken (see attached log).

I applied your patch on openwrt's 3.7.5 kernel and it fixed the bug
on this box too.

So we've found a solution and I'm looking forward for it in the main
kernel :)

Best regards,
Andrew Savchenko

[-- Attachment #1.2: proc.net.udp --]
[-- Type: application/octet-stream, Size: 1794 bytes --]

# cat /proc/net/udp
  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode ref pointer drops             
   42: 00000000:7B2A 00000000:0000 07 FFFFFFB0:00000000 00:00000000 00000000 65534        0 6239 2 816bb760 1                  
   53: 00000000:0035 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 1476 2 81b6e440 0                  
   67: 00000000:0043 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 1471 2 81b6e220 0                  
   76: 00000000:1B4C 00000000:0000 07 FFFFFFB0:00000000 00:00000000 00000000 65534        0 6225 2 816bacc0 1                  
   95: 00000000:165F 00000000:0000 07 FFFFFFB0:00000000 00:00000000 00000000 65534        0 6221 2 816ba880 1                  
  101: 0A34182E:AE65 0A320014:06A5 01 00000000:00000000 00:00000000 00000000     0        0 1538 4 81b6ecc0 0                  
  123: 00000000:007B 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 1530 2 81b6e880 0                  
  126: 00000000:847E 00000000:0000 07 FFFFFFB0:00000000 00:00000000 00000000 65534        0 6223 2 816baaa0 1                  
  153: 00000000:CF99 00000000:0000 07 FFFFFFB0:00000000 00:00000000 00000000 65534        0 6233 2 816bb540 1                  
  163: 00000000:09A3 00000000:0000 07 FFFFFFB0:00000000 00:00000000 00000000 65534        0 6227 2 816baee0 1                  
  165: 00000000:06A5 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 1523 2 81b6e660 0                  
  184: 00000000:70B8 00000000:0000 07 FFFFFFB0:00000000 00:00000000 00000000 65534        0 6231 2 816bb320 1                  
  226: 00000000:CCE2 00000000:0000 07 FFFFFFB0:00000000 00:00000000 00000000 65534        0 6229 2 816bb100 1

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2013-02-04 13:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-03 19:25 Kernel recieves DNS reply, but doesn't deliver it to a waiting application Andrew Savchenko
2012-10-13 12:36 ` [BUG] " Andrew Savchenko
2012-10-13 13:44   ` Eric Dumazet
2012-10-13 23:11     ` Andrew Savchenko
2012-10-20 23:25       ` Andrew Savchenko
2012-10-21 12:52         ` Eric Dumazet
2012-10-22  3:36           ` Andrew Savchenko
2012-10-22  6:48             ` Eric Dumazet
2012-10-22 21:27               ` Andrew Savchenko
2012-12-12  8:27                 ` Andrew Savchenko
2012-12-23 11:06                   ` Andrew Savchenko
2012-12-28 18:11                     ` Eric Dumazet
2013-01-16 16:36                       ` Andrew Savchenko
2013-02-04 13:39                         ` Andrew Savchenko [this message]
2013-02-04 15:21                           ` Eric Dumazet
2012-11-23  7:45         ` Andrew Savchenko

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=20130204173932.bad780bc.bircoph@gmail.com \
    --to=bircoph@gmail.com \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.