From: Stephen Hemminger <shemminger@vyatta.com>
To: Ivan Dichev <idichev@obs.bg>
Cc: netdev@vger.kernel.org
Subject: Re: Slow OOM in netif_RX function
Date: Thu, 24 Jan 2008 10:29:52 -0800 [thread overview]
Message-ID: <20080124102952.2a88bc1e@deepthought> (raw)
In-Reply-To: <4798CAA9.1080005@obs.bg>
On Thu, 24 Jan 2008 19:28:09 +0200
Ivan Dichev <idichev@obs.bg> wrote:
> Hello,
> I got problem with my linux router. It has slow persistent OOM
> problems from few months ago.
> Every working(I mean days when more traffic is generated) day my
> router is leaking with 15-20 MB memory and
> after 2 weeks the restart is a MUST.
> From /proc/slabinfo I saw that size-2048 and size-512 are growing
> rapidly every day when traffic occur.
>
> --------- /proc/slabinfo --------------------
> size-2048 20322 20349 2072 3 2 : tunables 24
> 12 0 : slabdata 6780 6783 0
> size-512 50984 51016 536 7 1 : tunables 32
> 16 0 : slabdata 7288 7288 0
>
>
> I was wondering who is allocating this mem pools and then I changed
> the kernel with 2.6.23-rc12 including options
> CONFIG_DEBUG_SLAB=y
> CONFIG_DEBUG_SLAB_LEAK=y
>
>
> Unfortunately changing the kernel didn't solve the mem leak....
> Now /proc/slab_allocators is showing that 3c59x driver is allocating
> 2048 and 512 bytes memory pools
> caused by RX function.
> --------- from /proc/slab_allocators ------------------------------
> 7612 size-2048: boomerang_rx+0x33b/0x437 [3c59x]
> 16018 size-512: boomerang_rx+0x165/0x437 [3c59x]
>
> I was thinking that the 3com driver is bogus, .. but not!
> After few days I changed the cards with rtl8139 and now ....
> --------- from /proc/slab_allocators ------------------------------
> size-2048: 20159 rtl8139_rx+0x155/0x2dc [8139too]
> size-1024: 2693 rtl8139_rx+0x155/0x2dc [8139too]
> size-512: 50515 rtl8139_rx+0x155/0x2dc [8139too]
>
> the memory leak appear again in the same function(RX).
>
> I did search over the mailing list and found as similar only this
> http://www.spinics.net/lists/kernel/old/2003-q4/msg03071.html
>
>
> For sure it does not depend on kernel version and network
> driver(except case if both drivers are bogus :)
> Any ideas ?
>
> Ivan
>
Receive packets are allocated by the driver, and then consumed by
the protocols or sockets. The problem is in the consumer side, so you need
to go looking to see if lots of data is getting queued to some application
that is never reading. Alternatively, it could be some form of control packet
that is not properly processed by a protocol.
Also look at firewall and classification rules, could be a buggy iptables rule?
--
Stephen Hemminger <stephen.hemminger@vyatta.com>
next prev parent reply other threads:[~2008-01-24 18:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-24 17:28 Slow OOM in netif_RX function Ivan Dichev
2008-01-24 18:29 ` Stephen Hemminger [this message]
2008-01-24 19:12 ` Eric Dumazet
2008-01-24 21:18 ` Ivan H. Dichev
2008-01-24 21:51 ` Francois Romieu
2008-01-25 13:21 ` Andi Kleen
2008-01-25 14:12 ` Arnaldo Carvalho de Melo
2008-02-01 12:51 ` Ivan Dichev
2008-02-01 13:16 ` Eric Dumazet
2008-02-01 15:38 ` Ivan Dichev
2008-02-04 14:54 ` Ivan Dichev
2008-02-04 15:55 ` Andi Kleen
2008-02-05 9:04 ` Ivan Mitev
2008-02-01 14:29 ` Andi Kleen
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=20080124102952.2a88bc1e@deepthought \
--to=shemminger@vyatta.com \
--cc=idichev@obs.bg \
--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 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).