[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1349372079.16710.15.camel@sakura.staff.proxad.net>
Date: Thu, 04 Oct 2012 19:34:39 +0200
From: Maxime Bizon <mbizon@...ebox.fr>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: David Madore <david+ml@...ore.org>,
Francois Romieu <romieu@...zoreil.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, Hugh Dickins <hughd@...gle.com>
Subject: Re: kernel 3.2.27 on arm: WARNING: at mm/page_alloc.c:2109
__alloc_pages_nodemask+0x1d4/0x68c()
On Thu, 2012-10-04 at 19:17 +0200, Eric Dumazet wrote:
> > yes, on ipv6 forward path the default NET_SKB_PAD is too small, so each
> > packet forwarded has its headroom expanded, it is then recycled and gets
> > its original default headroom back, then it gets forwarded,
> > expanded, ...
>
> Hmm, this sounds bad (especially without recycle)
>
> Might I assume NET_SKB_PAD is 32 on this arch ?
It is, I have a setup with 6to4 tunneling, so needed headroom on tx is
quite big.
I used to be careful about raising this value to avoid drivers using
slab-4096 instead of slab-2048, but since our boards no longer have 16MB
of RAM and with the recent changes in mainline it doesn't seem to be an
issue anymore.
It's not a that big issue in the non recycle case, just lower
performance if the tunable is not set correctly. Though it would be nice
to have a stat/counter so you know when you hit this kind of slow path.
But on the recycle case, skb->head is reallocated to twice the size each
time the packet is recycled and takes the same path again. This stresses
the VM and you eventually get packet loss (and scary printk)
--
Maxime
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists